{"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-5621507843fc6647", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/DashboardLayout.tsx:309", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/DashboardLayout.tsx:309"}, "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-bf702f84d0224c7f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/global-search.tsx:215", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/global-search.tsx:215"}, "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-87b2154ff29fdb92", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/ops-alerts.tsx:156", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/ops-alerts.tsx:156"}, "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-5970efec8fd78e17", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/dashboard/alerts-panel.tsx:201", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/dashboard/alerts-panel.tsx:201"}, "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-6534011fc5c6467a", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/orders/[id]/page.tsx:442", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/orders/[id]/page.tsx:442"}, "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-ca9b068938295651", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/analytics/components/kpi-card.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/analytics/components/kpi-card.tsx:53"}, "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-fe2cab7bd4334d21", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/dispatch/page.tsx:246", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/dispatch/page.tsx:246"}, "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-d2dfe32acf460ba1", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-bottom-nav.tsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-bottom-nav.tsx:35"}, "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-03a1f446416b5ae6", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-topbar.tsx:47", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-topbar.tsx:47"}, "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-f31c1d6c7a8471de", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-sidebar.tsx:56", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-sidebar.tsx:56"}, "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-968126a32b7ea992", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/app/earnings/components/EarningsView.tsx:499", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/app/earnings/components/EarningsView.tsx:499"}, "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-26e45a8567bbf6bd", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/notifications/notification-bell.tsx:307", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/notifications/notification-bell.tsx:307"}, "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-4fdc6e6b88882367", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/home/featured-chefs.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/home/featured-chefs.tsx:83"}, "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-97c12a8b3a962452", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/profile/referral-dashboard.tsx:178", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/profile/referral-dashboard.tsx:178"}, "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-44926cfe6d50b538", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/storefront/storefront-menu.tsx:467", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/storefront/storefront-menu.tsx:467"}, "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-b6eae582a4a0d4b9", "name": "Stray `console.log` in TS/JS \u2014 apps/web/src/app/api/webhooks/stripe/route.ts:350", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/web/src/app/api/webhooks/stripe/route.ts:350"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5cb9d7c860363439", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/app/cart/page.tsx:240", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/app/cart/page.tsx:240"}, "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-8a729c5921b4e9bc", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/app/chefs/[slug]/page.tsx:92", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/app/chefs/[slug]/page.tsx:92"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb0df7b23b36b865", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/chef-admin/src/app/dashboard/page.tsx:638", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/chef-admin/src/app/dashboard/page.tsx:638"}, "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-6967ebf6950acccd", "name": "Stray `console.log` in TS/JS \u2014 scripts/sla-runner.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sla-runner.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-de7ca647698378e9", "name": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-command-center-docs.ts:160", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-command-center-docs.ts:160"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c10f7c17557df91", "name": "Stray `console.log` in TS/JS \u2014 scripts/ui/build-page-registry.ts:117", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/build-page-registry.ts:117"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed7f79ca504d65b3", "name": "Stray `console.log` in TS/JS \u2014 scripts/ui/sync-ui-screenshots.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/sync-ui-screenshots.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4dec95d4a89e00d3", "name": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-ui-screenshots.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-ui-screenshots.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2977e9709ee2572", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/kpi-tile.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/kpi-tile.tsx:83"}, "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-ce0bc4876172e462", "name": "Stray `console.log` in TS/JS \u2014 packages/utils/src/logger.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/utils/src/logger.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a4aa0962be7822f", "name": "Stray `console.log` in TS/JS \u2014 packages/engine/src/services/dispatch.service.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/services/dispatch.service.ts:114"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0cb2918a24df76f", "name": "Stray `console.log` in TS/JS \u2014 packages/engine/src/core/notification-sender.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/core/notification-sender.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2de52ab7a325719a", "name": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/order-lifecycle.e2e.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/order-lifecycle.e2e.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40be028fe60ff231", "name": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/stripe-payment.e2e.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/stripe-payment.e2e.ts:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3497eda0fb522e51", "name": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/app/chefs/[slug]/page.tsx:92", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/app/chefs/[slug]/page.tsx:92"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-63f61266fd8a5d30", "name": "Insecure pattern 'node_child_process' in scripts/audit/db-boundary-ratchet.mjs:34", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/audit/db-boundary-ratchet.mjs:34"}, "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-2b85da064eac473a", "name": "Possible secret in scripts/e2e/reset-live-fixtures.mjs", "shortDescription": {"text": "Possible secret in scripts/e2e/reset-live-fixtures.mjs"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4429b1d19db17c6c", "name": "Insecure pattern 'node_child_process' in packages/db/scripts/generate-types.mjs:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/db/scripts/generate-types.mjs:8"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5a95769a72992ff4", "name": "Possible secret in e2e/lifecycle/driver.spec.ts", "shortDescription": {"text": "Possible secret in e2e/lifecycle/driver.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-070411db4c1e502e", "name": "Possible secret in e2e/lifecycle/negative-paths.spec.ts", "shortDescription": {"text": "Possible secret in e2e/lifecycle/negative-paths.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-81ef989b8040b9b4", "name": "Possible secret in e2e/lifecycle/ops.spec.ts", "shortDescription": {"text": "Possible secret in e2e/lifecycle/ops.spec.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "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@v4 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-65c9bd56493a81d3", "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@v4 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-d6a85616d59d7feb", "name": "Very large file: scripts/wiring/generate-wiring-docs.cjs (2041 lines)", "shortDescription": {"text": "Very large file: scripts/wiring/generate-wiring-docs.cjs (2041 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-94ec2c1f676d5b9e", "name": "Very large file: packages/db/src/generated/database.types.ts (5382 lines)", "shortDescription": {"text": "Very large file: packages/db/src/generated/database.types.ts (5382 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-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-3c88944408724bb3", "name": "Node manifest has dependencies but no lockfile: apps/ops-admin/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/ops-admin/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36d441b4174001fe", "name": "Node manifest has dependencies but no lockfile: apps/driver-app/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/driver-app/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a9eb7dc7c6e3880", "name": "Node manifest has dependencies but no lockfile: apps/web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/web/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df86ffb052c43dfd", "name": "Node manifest has dependencies but no lockfile: apps/chef-admin/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/chef-admin/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb3e52667c84fb86", "name": "Node manifest has dependencies but no lockfile: packages/types/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/types/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ea452534e907ffe", "name": "Node manifest has dependencies but no lockfile: packages/routing/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/routing/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-172dcdf252860fa6", "name": "Node manifest has dependencies but no lockfile: packages/notifications/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/notifications/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eddecaa766cadff2", "name": "Node manifest has dependencies but no lockfile: packages/config/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/config/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41b225e183229484", "name": "Node manifest has dependencies but no lockfile: packages/auth/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/auth/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50218c90b43393bb", "name": "Node manifest has dependencies but no lockfile: packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47edb5907af5997f", "name": "Node manifest has dependencies but no lockfile: packages/utils/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/utils/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7a64718e3126fcf", "name": "Node manifest has dependencies but no lockfile: packages/validation/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/validation/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9f13e1418f0ef36", "name": "Node manifest has dependencies but no lockfile: packages/engine/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/engine/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b16ae2bd0fca524", "name": "Node manifest has dependencies but no lockfile: packages/db/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/db/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 187 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 131 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d8b71918d9e9505", "name": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/__tests__/driver-operations-panel.test.tsx:41", "shortDescription": {"text": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/__tests__/driver-operations-panel.test.tsx:41"}, "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-5706b5c04d310aeb", "name": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/surge/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/surge/route.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-9382ba56b58b83e4", "name": "Commented-code block (6 lines) in apps/ops-admin/src/app/api/cron/sla-tick/route.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in apps/ops-admin/src/app/api/cron/sla-tick/route.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-c14de4b13c0893a8", "name": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/expired-offers/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/expired-offers/route.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-007597a1d1398be9", "name": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/sla/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/sla/route.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-924b2adbb1d2c8c9", "name": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/stripe/webhook/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/stripe/webhook/route.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-2f2ed8d1226df546", "name": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/export/route.ts:200", "shortDescription": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/export/route.ts:200"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1222372a60e8018", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/internal/command-center/command-center-client.tsx:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/internal/command-center/command-center-client.tsx:126"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e56f6f8d89d4de79", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/settings/maintenance-toggle.tsx:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/settings/maintenance-toggle.tsx:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-657ef9e2bd009dee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/health/page.tsx:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/health/page.tsx:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fd779d1753410e8", "name": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/lib/location-health.ts:7", "shortDescription": {"text": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/lib/location-health.ts:7"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af50dc81c1b91f3b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/hooks/use-ops-live-feed.ts:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/hooks/use-ops-live-feed.ts:116"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4371ff7fdf5d2b20", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/__tests__/platform-smoke.test.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/__tests__/platform-smoke.test.ts:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f3cf988c348c9375", "name": "Commented-code block (6 lines) in apps/driver-app/src/app/api/location/route.ts:199", "shortDescription": {"text": "Commented-code block (6 lines) in apps/driver-app/src/app/api/location/route.ts:199"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ae7bc934b29243e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/app/components/DriverDashboard.tsx:332", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/app/components/DriverDashboard.tsx:332"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5a631a29187602aa", "name": "Commented-code block (5 lines) in apps/driver-app/src/lib/offline-outbox.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/driver-app/src/lib/offline-outbox.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50f4520be11aae94", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/lib/offline-outbox.ts:83", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/lib/offline-outbox.ts:83"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1676652a28507724", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/hooks/use-location-tracker.ts:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/hooks/use-location-tracker.ts:49"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-29ae94cb6cad3e14", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/checkout/saved-card-selector.tsx:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/checkout/saved-card-selector.tsx:47"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2bb5b685e67ceb31", "name": "Commented-code block (5 lines) in apps/web/src/app/api/orders/[id]/cancel/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/orders/[id]/cancel/route.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-50bbfda8140de1fe", "name": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/route.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-06a050eeaa431dff", "name": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/apply/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/apply/route.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-a9f09e67184aae8e", "name": "Commented-code block (5 lines) in apps/web/src/app/api/loyalty/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/loyalty/route.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-80141318d74503bd", "name": "Commented-code block (5 lines) in apps/web/src/app/api/reviews/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/reviews/route.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-c9edd7673598daec", "name": "Commented-code block (5 lines) in apps/web/src/app/api/payment-methods/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/payment-methods/route.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-b72062265dcbbbbd", "name": "Commented-code block (5 lines) in apps/web/src/app/checkout/page.tsx:164", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/app/checkout/page.tsx:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9298bed07ee16ee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/app/checkout/page.tsx:208", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/app/checkout/page.tsx:208"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c007e3da6d33e425", "name": "Commented-code block (5 lines) in apps/web/src/lib/stripe-adapter.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/stripe-adapter.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-bf6b228a17075d0b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/hooks/use-push-notifications.ts:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/hooks/use-push-notifications.ts:56"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f618cae4c5beaa0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/chef-admin/src/__tests__/platform-smoke.test.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/chef-admin/src/__tests__/platform-smoke.test.ts:31"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-acd5f973e2dbffc9", "name": "Commented-code block (5 lines) in apps/chef-admin/src/app/api/upload/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/chef-admin/src/app/api/upload/route.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-d11fa071c25fe8dc", "name": "Commented-code block (11 lines) in apps/chef-admin/src/app/dashboard/layout.tsx:4", "shortDescription": {"text": "Commented-code block (11 lines) in apps/chef-admin/src/app/dashboard/layout.tsx: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-4ef31a5b906d8486", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-demo-order.mjs:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-demo-order.mjs:41"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-118dec3672c5cf45", "name": "Commented-code block (5 lines) in scripts/local-cron.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/local-cron.mjs: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-fba27e851a33dbed", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/db-counts.mjs:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/db-counts.mjs:40"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ed379a649d3bed2", "name": "Commented-code block (5 lines) in scripts/audit/verify-db-hardening.mjs:66", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/audit/verify-db-hardening.mjs:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f68a4544f3f5caf9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/runtime-sample-fixtures.cjs:138", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/runtime-sample-fixtures.cjs:138"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4c39580fb2027e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wiring/generate-wiring-docs.cjs:1228", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wiring/generate-wiring-docs.cjs:1228"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a29f9adf2e681e03", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/reset-live-fixtures.mjs:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/reset-live-fixtures.mjs:56"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b15e5b30ba91b569", "name": "Commented-code block (5 lines) in packages/types/src/capabilities.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/types/src/capabilities.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-d1702f5f09f143a5", "name": "Commented-code block (6 lines) in packages/types/src/layout.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/types/src/layout.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-5d5a2e0cdcffee81", "name": "Commented-code block (5 lines) in packages/routing/src/eta.service.ts:197", "shortDescription": {"text": "Commented-code block (5 lines) in packages/routing/src/eta.service.ts:197"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b3c5bdabbbf5f07", "name": "Commented-code block (6 lines) in packages/notifications/src/email-templates/index.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/notifications/src/email-templates/index.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91ba5b28381069da", "name": "Commented-code block (5 lines) in packages/notifications/src/email-templates/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/notifications/src/email-templates/index.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-a7ac78ac5fa19f70", "name": "Commented-code block (6 lines) in packages/config/eslint.config.js:8", "shortDescription": {"text": "Commented-code block (6 lines) in packages/config/eslint.config.js: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-f4cf167cc4f3650f", "name": "Commented-code block (5 lines) in packages/auth/src/middleware.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/auth/src/middleware.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-aabcc806f3c403c6", "name": "Commented-code block (5 lines) in packages/ui/src/__tests__/live-indicator.test.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/ui/src/__tests__/live-indicator.test.tsx: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-e677ba4a3339cf7e", "name": "Commented-code block (5 lines) in packages/utils/src/geo.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/geo.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-c3c8390df83845c2", "name": "Commented-code block (5 lines) in packages/utils/src/analytics.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/analytics.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-b5ecb1bc7e368ad9", "name": "Commented-code block (5 lines) in packages/utils/src/scoring.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/scoring.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-0c1e437d3ec95675", "name": "Commented-code block (5 lines) in packages/utils/src/dates.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/dates.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-44f93575ab6b3828", "name": "Commented-code block (5 lines) in packages/utils/src/order-workflow.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/order-workflow.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-3f8b7809989d6218", "name": "Commented-code block (8 lines) in packages/utils/src/rate-limiter.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in packages/utils/src/rate-limiter.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-521b4e884f57da36", "name": "Commented-code block (5 lines) in packages/utils/src/logger.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/utils/src/logger.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-30713e092928a5dc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/utils/src/rate-limit/distributed-store.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/utils/src/rate-limit/distributed-store.ts:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f2d7ddf10c524d8", "name": "Commented-code block (5 lines) in packages/validation/src/schemas/schemas.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/validation/src/schemas/schemas.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a156d7a7ffda4068", "name": "Commented-code block (5 lines) in packages/engine/src/server.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/server.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-fe300ebd8c8120a8", "name": "Commented-code block (5 lines) in packages/engine/src/client-helpers.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/client-helpers.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-ddb794d87c7b2703", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/risk.engine.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/risk.engine.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-25f346ac15554d67", "name": "Commented-code block (8 lines) in packages/engine/src/orchestrators/driver-matching.service.test.ts:58", "shortDescription": {"text": "Commented-code block (8 lines) in packages/engine/src/orchestrators/driver-matching.service.test.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba836509a9e84a87", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-state-machine.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-state-machine.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-2f6510996ad1e12f", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-creation.service.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-creation.service.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-8cef24f6fbaae209", "name": "Commented-code block (6 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.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-a5ee0d5155374381", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/driver-matching.service.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/driver-matching.service.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-cd96c199ab5b160e", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf00275dbaf223db", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/delivery-engine.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/delivery-engine.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-a23a897bd839c384", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/master-order-engine.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/master-order-engine.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-9f3f0606e04ade01", "name": "Commented-code block (5 lines) in packages/engine/src/orchestrators/offer-management.service.ts:125", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/offer-management.service.ts:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8fd86d1f73cf6ce", "name": "Commented-code block (6 lines) in packages/engine/src/services/orders.service.test.ts:40", "shortDescription": {"text": "Commented-code block (6 lines) in packages/engine/src/services/orders.service.test.ts:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c282d97d317038d", "name": "Commented-code block (5 lines) in packages/engine/src/services/geocoding.service.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/services/geocoding.service.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-c8efdbab4e89b127", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/services/geocoding.service.ts:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/services/geocoding.service.ts:39"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c3c154ba803fe9a0", "name": "Commented-code block (7 lines) in packages/engine/src/services/tax-config.service.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in packages/engine/src/services/tax-config.service.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-6ae540277d186400", "name": "Commented-code block (5 lines) in packages/engine/src/services/ops-analytics.service.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/services/ops-analytics.service.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-e1bb35b2827f3af8", "name": "Commented-code block (5 lines) in packages/engine/src/services/delivery-fee.service.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/services/delivery-fee.service.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-ac6ff4294450081f", "name": "Commented-code block (5 lines) in packages/engine/src/core/business-rules-engine.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/core/business-rules-engine.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-30c0468e54172a6c", "name": "Commented-code block (5 lines) in packages/engine/src/core/sla-checks.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sla-checks.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-6e8ad68b25a3cdb5", "name": "Commented-code block (6 lines) in packages/engine/src/core/notification-triggers.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/engine/src/core/notification-triggers.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-ad0f008ea25883d4", "name": "Commented-code block (5 lines) in packages/engine/src/core/sms-templates.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sms-templates.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-d7d9f2a038adf0e5", "name": "Commented-code block (8 lines) in packages/engine/src/core/notification-sender.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in packages/engine/src/core/notification-sender.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-85071cf7b7161a96", "name": "Commented-code block (6 lines) in packages/engine/src/core/email-provider.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in packages/engine/src/core/email-provider.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-36cabe4bda4a02db", "name": "Commented-code block (5 lines) in packages/engine/src/core/sms-provider.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sms-provider.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-40f0bffbaf320903", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/core/sms-provider.ts:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/core/sms-provider.ts:3"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e1f65ad9102924d0", "name": "Commented-code block (5 lines) in packages/db/src/database.merged.ts:243", "shortDescription": {"text": "Commented-code block (5 lines) in packages/db/src/database.merged.ts:243"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-875de1f579ad962a", "name": "Commented-code block (5 lines) in packages/db/src/client/server.ts:51", "shortDescription": {"text": "Commented-code block (5 lines) in packages/db/src/client/server.ts:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30e97807a70bf043", "name": "Legacy-named symbol `search_v2` in packages/db/src/generated/database.types.ts:5222", "shortDescription": {"text": "Legacy-named symbol `search_v2` in packages/db/src/generated/database.types.ts:5222"}, "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-16d0a2296d371cfa", "name": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.ts:57", "shortDescription": {"text": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.ts:57"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae810ac1d8a1cb1e", "name": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.test.ts:5", "shortDescription": {"text": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.test.ts:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4afd7ee819c483a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/negative-paths.spec.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/negative-paths.spec.ts:81"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e65e83d2e25b086", "name": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/ops.spec.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/ops.spec.ts:26"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b0b7578dd2a289b6", "name": "26 env vars used in code but missing from .env.example", "shortDescription": {"text": "26 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `APP_ENV`, `BOOTSTRAP_SUPER_ADMIN_PASSWORD`, `CHECKOUT_IDEMPOTENCY_MIGRATION_APPLIED`, `CI`, `GITHUB_SHA`, `INTERNAL_COMMAND_CENTER_ENABLED`, `LOAD_BASE_URL`, `LOAD_CONCURRENCY` + 18 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/19151"}, "properties": {"repository": "SeanCFAFinlay/ridendine-marketplace", "repoUrl": "https://github.com/SeanCFAFinlay/ridendine-marketplace", "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-5621507843fc6647", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/DashboardLayout.tsx:309"}, "properties": {"repobilityId": "3b1058d48ffa4728", "scanner": "scanner-primary", "fingerprint": "5621507843fc6647", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bf702f84d0224c7f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/global-search.tsx:215"}, "properties": {"repobilityId": "bc3d45c78bbc3ecf", "scanner": "scanner-primary", "fingerprint": "bf702f84d0224c7f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-87b2154ff29fdb92", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/ops-alerts.tsx:156"}, "properties": {"repobilityId": "3fcaacac60094f00", "scanner": "scanner-primary", "fingerprint": "87b2154ff29fdb92", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5970efec8fd78e17", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/components/dashboard/alerts-panel.tsx:201"}, "properties": {"repobilityId": "d2ea0353341a7227", "scanner": "scanner-primary", "fingerprint": "5970efec8fd78e17", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6534011fc5c6467a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/orders/[id]/page.tsx:442"}, "properties": {"repobilityId": "d37f5b7db5f844f3", "scanner": "scanner-primary", "fingerprint": "6534011fc5c6467a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ca9b068938295651", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/analytics/components/kpi-card.tsx:53"}, "properties": {"repobilityId": "6687e1ce1f38c341", "scanner": "scanner-primary", "fingerprint": "ca9b068938295651", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fe2cab7bd4334d21", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/ops-admin/src/app/dashboard/dispatch/page.tsx:246"}, "properties": {"repobilityId": "eb9a6be12eeb7c30", "scanner": "scanner-primary", "fingerprint": "fe2cab7bd4334d21", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d2dfe32acf460ba1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-bottom-nav.tsx:35"}, "properties": {"repobilityId": "e89f0c316eb36b36", "scanner": "scanner-primary", "fingerprint": "d2dfe32acf460ba1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-03a1f446416b5ae6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-topbar.tsx:47"}, "properties": {"repobilityId": "4ebe4c02e810846e", "scanner": "scanner-primary", "fingerprint": "03a1f446416b5ae6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f31c1d6c7a8471de", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/components/layout/driver-sidebar.tsx:56"}, "properties": {"repobilityId": "e7d365c36461a887", "scanner": "scanner-primary", "fingerprint": "f31c1d6c7a8471de", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-968126a32b7ea992", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/driver-app/src/app/earnings/components/EarningsView.tsx:499"}, "properties": {"repobilityId": "a8cd06a7be83a808", "scanner": "scanner-primary", "fingerprint": "968126a32b7ea992", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-26e45a8567bbf6bd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/notifications/notification-bell.tsx:307"}, "properties": {"repobilityId": "d1618d1eff87fd25", "scanner": "scanner-primary", "fingerprint": "26e45a8567bbf6bd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4fdc6e6b88882367", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/home/featured-chefs.tsx:83"}, "properties": {"repobilityId": "5f3795d134b6ff03", "scanner": "scanner-primary", "fingerprint": "4fdc6e6b88882367", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-97c12a8b3a962452", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/profile/referral-dashboard.tsx:178"}, "properties": {"repobilityId": "7982bc5165b3d4c5", "scanner": "scanner-primary", "fingerprint": "97c12a8b3a962452", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-44926cfe6d50b538", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/storefront/storefront-menu.tsx:467"}, "properties": {"repobilityId": "499c91e5e6d97f85", "scanner": "scanner-primary", "fingerprint": "44926cfe6d50b538", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b6eae582a4a0d4b9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/web/src/app/api/webhooks/stripe/route.ts:350"}, "properties": {"repobilityId": "6e08deccc1ecc093", "scanner": "scanner-primary", "fingerprint": "b6eae582a4a0d4b9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5cb9d7c860363439", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/app/cart/page.tsx:240"}, "properties": {"repobilityId": "0180f5a4e13d7dbc", "scanner": "scanner-primary", "fingerprint": "5cb9d7c860363439", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8a729c5921b4e9bc", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/app/chefs/[slug]/page.tsx:92"}, "properties": {"repobilityId": "e5531e7be3fa64fb", "scanner": "scanner-primary", "fingerprint": "8a729c5921b4e9bc", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-cb0df7b23b36b865", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/chef-admin/src/app/dashboard/page.tsx:638"}, "properties": {"repobilityId": "cceb25817b8b9a93", "scanner": "scanner-primary", "fingerprint": "cb0df7b23b36b865", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6967ebf6950acccd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sla-runner.ts:41"}, "properties": {"repobilityId": "d1eab18ba469a3e5", "scanner": "scanner-primary", "fingerprint": "6967ebf6950acccd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de7ca647698378e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-command-center-docs.ts:160"}, "properties": {"repobilityId": "57e568735d2307a5", "scanner": "scanner-primary", "fingerprint": "de7ca647698378e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c10f7c17557df91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/build-page-registry.ts:117"}, "properties": {"repobilityId": "53d767330bb102d8", "scanner": "scanner-primary", "fingerprint": "6c10f7c17557df91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed7f79ca504d65b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/sync-ui-screenshots.ts:21"}, "properties": {"repobilityId": "dacc511d85fb90d2", "scanner": "scanner-primary", "fingerprint": "ed7f79ca504d65b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4dec95d4a89e00d3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ui/generate-ui-screenshots.ts:43"}, "properties": {"repobilityId": "54aa7c62ea7c429c", "scanner": "scanner-primary", "fingerprint": "4dec95d4a89e00d3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2977e9709ee2572", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/kpi-tile.tsx:83"}, "properties": {"repobilityId": "9f6d7c749aa69e84", "scanner": "scanner-primary", "fingerprint": "d2977e9709ee2572", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ce0bc4876172e462", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/utils/src/logger.ts:66"}, "properties": {"repobilityId": "bf6fde675e6f10e2", "scanner": "scanner-primary", "fingerprint": "ce0bc4876172e462", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a4aa0962be7822f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/services/dispatch.service.ts:114"}, "properties": {"repobilityId": "f92e45ca88860568", "scanner": "scanner-primary", "fingerprint": "8a4aa0962be7822f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0cb2918a24df76f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/core/notification-sender.ts:45"}, "properties": {"repobilityId": "8ea7843a04a5d684", "scanner": "scanner-primary", "fingerprint": "e0cb2918a24df76f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2de52ab7a325719a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/order-lifecycle.e2e.ts:27"}, "properties": {"repobilityId": "8c24f9439c9c4535", "scanner": "scanner-primary", "fingerprint": "2de52ab7a325719a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40be028fe60ff231", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/engine/src/e2e/stripe-payment.e2e.ts:40"}, "properties": {"repobilityId": "6122f6a0e669bce4", "scanner": "scanner-primary", "fingerprint": "40be028fe60ff231", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3497eda0fb522e51", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/app/chefs/[slug]/page.tsx:92"}, "properties": {"repobilityId": "26951d375be03916", "scanner": "scanner-primary", "fingerprint": "3497eda0fb522e51", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/app/chefs/[slug]/page.tsx"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-63f61266fd8a5d30", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/audit/db-boundary-ratchet.mjs:34"}, "properties": {"repobilityId": "1e5200412b42e820", "scanner": "scanner-primary", "fingerprint": "63f61266fd8a5d30", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit/db-boundary-ratchet.mjs"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-2b85da064eac473a", "level": "error", "message": {"text": "Possible secret in scripts/e2e/reset-live-fixtures.mjs"}, "properties": {"repobilityId": "8993842e76ac8778", "scanner": "scanner-primary", "fingerprint": "2b85da064eac473a", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/reset-live-fixtures.mjs"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-4429b1d19db17c6c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/db/scripts/generate-types.mjs:8"}, "properties": {"repobilityId": "8a48ca0179f76d46", "scanner": "scanner-primary", "fingerprint": "4429b1d19db17c6c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/db/scripts/generate-types.mjs"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-5a95769a72992ff4", "level": "error", "message": {"text": "Possible secret in e2e/lifecycle/driver.spec.ts"}, "properties": {"repobilityId": "519fe4351db67047", "scanner": "scanner-primary", "fingerprint": "5a95769a72992ff4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/lifecycle/driver.spec.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-070411db4c1e502e", "level": "error", "message": {"text": "Possible secret in e2e/lifecycle/negative-paths.spec.ts"}, "properties": {"repobilityId": "ef8f0f2ee1a98229", "scanner": "scanner-primary", "fingerprint": "070411db4c1e502e", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/lifecycle/negative-paths.spec.ts"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-070411db4c1e502e", "level": "error", "message": {"text": "Possible secret in e2e/lifecycle/negative-paths.spec.ts"}, "properties": {"repobilityId": "ef8f0f2ee1a98229", "scanner": "scanner-primary", "fingerprint": "070411db4c1e502e", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/lifecycle/negative-paths.spec.ts"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-81ef989b8040b9b4", "level": "error", "message": {"text": "Possible secret in e2e/lifecycle/ops.spec.ts"}, "properties": {"repobilityId": "0495cb8e29f05084", "scanner": "scanner-primary", "fingerprint": "81ef989b8040b9b4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "e2e/lifecycle/ops.spec.ts"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd7f3c1c34d83159", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e879d8d5d310b9f", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-65c9bd56493a81d3", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8e879d8d5d310b9f", "scanner": "scanner-primary", "fingerprint": "65c9bd56493a81d3", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/e2e.yml"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-d6a85616d59d7feb", "level": "note", "message": {"text": "Very large file: scripts/wiring/generate-wiring-docs.cjs (2041 lines)"}, "properties": {"repobilityId": "c5a2ed6b16915aa9", "scanner": "scanner-primary", "fingerprint": "d6a85616d59d7feb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94ec2c1f676d5b9e", "level": "note", "message": {"text": "Very large file: packages/db/src/generated/database.types.ts (5382 lines)"}, "properties": {"repobilityId": "ca5e4317d25041f1", "scanner": "scanner-primary", "fingerprint": "94ec2c1f676d5b9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "7c2feb43fa5902f9", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3c88944408724bb3", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/ops-admin/package.json"}, "properties": {"repobilityId": "ce2d0c7bdb1918b9", "scanner": "scanner-primary", "fingerprint": "3c88944408724bb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/ops-admin/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36d441b4174001fe", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/driver-app/package.json"}, "properties": {"repobilityId": "ec104c9903b9894e", "scanner": "scanner-primary", "fingerprint": "36d441b4174001fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/driver-app/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a9eb7dc7c6e3880", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/web/package.json"}, "properties": {"repobilityId": "6c1704bf24cf19ac", "scanner": "scanner-primary", "fingerprint": "4a9eb7dc7c6e3880", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df86ffb052c43dfd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/chef-admin/package.json"}, "properties": {"repobilityId": "53cbf4a1ce58cff6", "scanner": "scanner-primary", "fingerprint": "df86ffb052c43dfd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/chef-admin/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb3e52667c84fb86", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/types/package.json"}, "properties": {"repobilityId": "b5e2784f829944e6", "scanner": "scanner-primary", "fingerprint": "cb3e52667c84fb86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/types/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ea452534e907ffe", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/routing/package.json"}, "properties": {"repobilityId": "21685cc2b96e76db", "scanner": "scanner-primary", "fingerprint": "4ea452534e907ffe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/routing/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-172dcdf252860fa6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/notifications/package.json"}, "properties": {"repobilityId": "6c88892cbe9bca9d", "scanner": "scanner-primary", "fingerprint": "172dcdf252860fa6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/notifications/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eddecaa766cadff2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/config/package.json"}, "properties": {"repobilityId": "03931bf3537e3eaf", "scanner": "scanner-primary", "fingerprint": "eddecaa766cadff2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/config/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41b225e183229484", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/auth/package.json"}, "properties": {"repobilityId": "c022328d0892fb4d", "scanner": "scanner-primary", "fingerprint": "41b225e183229484", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/auth/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50218c90b43393bb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "properties": {"repobilityId": "637e26a8c754e81d", "scanner": "scanner-primary", "fingerprint": "50218c90b43393bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47edb5907af5997f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/utils/package.json"}, "properties": {"repobilityId": "64857de4b757dead", "scanner": "scanner-primary", "fingerprint": "47edb5907af5997f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/utils/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d7a64718e3126fcf", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/validation/package.json"}, "properties": {"repobilityId": "838345e372274f4e", "scanner": "scanner-primary", "fingerprint": "d7a64718e3126fcf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/validation/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9f13e1418f0ef36", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/engine/package.json"}, "properties": {"repobilityId": "81a373b6a2e74e41", "scanner": "scanner-primary", "fingerprint": "f9f13e1418f0ef36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/engine/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b16ae2bd0fca524", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/db/package.json"}, "properties": {"repobilityId": "2bddd295d559a9b6", "scanner": "scanner-primary", "fingerprint": "7b16ae2bd0fca524", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/db/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "16576f8a7d51ede1", "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": "8ee258251960bf78", "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": "b687abd87bc3ced6", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "4682cb8baf79d1cd", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "1ed187245b7dca04", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "747b61312365e07f", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "904e3810d87c1d4e", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8d8b71918d9e9505", "level": "note", "message": {"text": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/__tests__/driver-operations-panel.test.tsx:41"}, "properties": {"repobilityId": "95b5c9b68815722d", "scanner": "scanner-primary", "fingerprint": "8d8b71918d9e9505", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5706b5c04d310aeb", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/surge/route.ts:1"}, "properties": {"repobilityId": "cc443d162c309e5a", "scanner": "scanner-primary", "fingerprint": "5706b5c04d310aeb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9382ba56b58b83e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/ops-admin/src/app/api/cron/sla-tick/route.ts:4"}, "properties": {"repobilityId": "6ec1d911174ab4d5", "scanner": "scanner-primary", "fingerprint": "9382ba56b58b83e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c14de4b13c0893a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/expired-offers/route.ts:1"}, "properties": {"repobilityId": "56fffc6248102ce9", "scanner": "scanner-primary", "fingerprint": "c14de4b13c0893a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-007597a1d1398be9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/engine/processors/sla/route.ts:1"}, "properties": {"repobilityId": "381adb55415f4bac", "scanner": "scanner-primary", "fingerprint": "007597a1d1398be9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-924b2adbb1d2c8c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/stripe/webhook/route.ts:1"}, "properties": {"repobilityId": "8e56b2a0138cba17", "scanner": "scanner-primary", "fingerprint": "924b2adbb1d2c8c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f2ed8d1226df546", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/ops-admin/src/app/api/export/route.ts:200"}, "properties": {"repobilityId": "57286ac2c71a3247", "scanner": "scanner-primary", "fingerprint": "2f2ed8d1226df546", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1222372a60e8018", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/internal/command-center/command-center-client.tsx:126"}, "properties": {"repobilityId": "462086eddcbb6a36", "scanner": "scanner-primary", "fingerprint": "f1222372a60e8018", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e56f6f8d89d4de79", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/settings/maintenance-toggle.tsx:40"}, "properties": {"repobilityId": "118d27f73789f021", "scanner": "scanner-primary", "fingerprint": "e56f6f8d89d4de79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-657ef9e2bd009dee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/app/dashboard/health/page.tsx:37"}, "properties": {"repobilityId": "1d59032625cde54e", "scanner": "scanner-primary", "fingerprint": "657ef9e2bd009dee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7fd779d1753410e8", "level": "note", "message": {"text": "Legacy-named symbol `minutesOld` in apps/ops-admin/src/lib/location-health.ts:7"}, "properties": {"repobilityId": "4cc874ba4b1ad276", "scanner": "scanner-primary", "fingerprint": "7fd779d1753410e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-af50dc81c1b91f3b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/ops-admin/src/hooks/use-ops-live-feed.ts:116"}, "properties": {"repobilityId": "dc62b60ae0695de6", "scanner": "scanner-primary", "fingerprint": "af50dc81c1b91f3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4371ff7fdf5d2b20", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/__tests__/platform-smoke.test.ts:37"}, "properties": {"repobilityId": "8c7cf2a77f965744", "scanner": "scanner-primary", "fingerprint": "4371ff7fdf5d2b20", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3cf988c348c9375", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/driver-app/src/app/api/location/route.ts:199"}, "properties": {"repobilityId": "e37a3e4ffdfaaeb5", "scanner": "scanner-primary", "fingerprint": "f3cf988c348c9375", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ae7bc934b29243e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/app/components/DriverDashboard.tsx:332"}, "properties": {"repobilityId": "f31c6c80545bb246", "scanner": "scanner-primary", "fingerprint": "1ae7bc934b29243e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5a631a29187602aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/driver-app/src/lib/offline-outbox.ts:3"}, "properties": {"repobilityId": "e5010e11f7dda8f4", "scanner": "scanner-primary", "fingerprint": "5a631a29187602aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50f4520be11aae94", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/lib/offline-outbox.ts:83"}, "properties": {"repobilityId": "c5d77ca5791d460c", "scanner": "scanner-primary", "fingerprint": "50f4520be11aae94", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1676652a28507724", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/driver-app/src/hooks/use-location-tracker.ts:49"}, "properties": {"repobilityId": "9451da304bbdceaf", "scanner": "scanner-primary", "fingerprint": "1676652a28507724", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-29ae94cb6cad3e14", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/checkout/saved-card-selector.tsx:47"}, "properties": {"repobilityId": "18099cdce545596a", "scanner": "scanner-primary", "fingerprint": "29ae94cb6cad3e14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2bb5b685e67ceb31", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/orders/[id]/cancel/route.ts:1"}, "properties": {"repobilityId": "60e8f35395f95722", "scanner": "scanner-primary", "fingerprint": "2bb5b685e67ceb31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50bbfda8140de1fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/route.ts:1"}, "properties": {"repobilityId": "73f1afe8405e295b", "scanner": "scanner-primary", "fingerprint": "50bbfda8140de1fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06a050eeaa431dff", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/referrals/apply/route.ts:1"}, "properties": {"repobilityId": "de72c5bf4e1c76d5", "scanner": "scanner-primary", "fingerprint": "06a050eeaa431dff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9f09e67184aae8e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/loyalty/route.ts:1"}, "properties": {"repobilityId": "70c026b3ef069326", "scanner": "scanner-primary", "fingerprint": "a9f09e67184aae8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80141318d74503bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/reviews/route.ts:1"}, "properties": {"repobilityId": "ad44965b8192d313", "scanner": "scanner-primary", "fingerprint": "80141318d74503bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9edd7673598daec", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/api/payment-methods/route.ts:1"}, "properties": {"repobilityId": "455e97ddeddd9bec", "scanner": "scanner-primary", "fingerprint": "c9edd7673598daec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b72062265dcbbbbd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/app/checkout/page.tsx:164"}, "properties": {"repobilityId": "c2ef0021b5325042", "scanner": "scanner-primary", "fingerprint": "b72062265dcbbbbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9298bed07ee16ee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/app/checkout/page.tsx:208"}, "properties": {"repobilityId": "775d01aaae8b832a", "scanner": "scanner-primary", "fingerprint": "c9298bed07ee16ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c007e3da6d33e425", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/stripe-adapter.ts:1"}, "properties": {"repobilityId": "09c3d2fd3dcf76cf", "scanner": "scanner-primary", "fingerprint": "c007e3da6d33e425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf6b228a17075d0b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/hooks/use-push-notifications.ts:56"}, "properties": {"repobilityId": "3286256b3620108d", "scanner": "scanner-primary", "fingerprint": "bf6b228a17075d0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3f618cae4c5beaa0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/chef-admin/src/__tests__/platform-smoke.test.ts:31"}, "properties": {"repobilityId": "764704d799c5da94", "scanner": "scanner-primary", "fingerprint": "3f618cae4c5beaa0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-acd5f973e2dbffc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/chef-admin/src/app/api/upload/route.ts:1"}, "properties": {"repobilityId": "13d7ce470b02f8f8", "scanner": "scanner-primary", "fingerprint": "acd5f973e2dbffc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d11fa071c25fe8dc", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/chef-admin/src/app/dashboard/layout.tsx:4"}, "properties": {"repobilityId": "4e2ccda824cc8fe1", "scanner": "scanner-primary", "fingerprint": "d11fa071c25fe8dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ef31a5b906d8486", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-demo-order.mjs:41"}, "properties": {"repobilityId": "f38a2e860e123fdd", "scanner": "scanner-primary", "fingerprint": "4ef31a5b906d8486", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-118dec3672c5cf45", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/local-cron.mjs:6"}, "properties": {"repobilityId": "9ea82eb60d56e473", "scanner": "scanner-primary", "fingerprint": "118dec3672c5cf45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fba27e851a33dbed", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/db-counts.mjs:40"}, "properties": {"repobilityId": "91c9a96e9a8b7cc1", "scanner": "scanner-primary", "fingerprint": "fba27e851a33dbed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6ed379a649d3bed2", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/audit/verify-db-hardening.mjs:66"}, "properties": {"repobilityId": "25abc9bfaf5dfa71", "scanner": "scanner-primary", "fingerprint": "6ed379a649d3bed2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f68a4544f3f5caf9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/runtime-sample-fixtures.cjs:138"}, "properties": {"repobilityId": "279a7a4ad433866f", "scanner": "scanner-primary", "fingerprint": "f68a4544f3f5caf9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f4c39580fb2027e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/wiring/generate-wiring-docs.cjs:1228"}, "properties": {"repobilityId": "e5f3796fe7fbf769", "scanner": "scanner-primary", "fingerprint": "f4c39580fb2027e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a29f9adf2e681e03", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/reset-live-fixtures.mjs:56"}, "properties": {"repobilityId": "14c63b1790ad43f1", "scanner": "scanner-primary", "fingerprint": "a29f9adf2e681e03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b15e5b30ba91b569", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/types/src/capabilities.ts:1"}, "properties": {"repobilityId": "7f26fba9895892e5", "scanner": "scanner-primary", "fingerprint": "b15e5b30ba91b569", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1702f5f09f143a5", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/types/src/layout.ts:1"}, "properties": {"repobilityId": "a23242388c95d5a4", "scanner": "scanner-primary", "fingerprint": "d1702f5f09f143a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d5a2e0cdcffee81", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/routing/src/eta.service.ts:197"}, "properties": {"repobilityId": "1df69e673690768f", "scanner": "scanner-primary", "fingerprint": "5d5a2e0cdcffee81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b3c5bdabbbf5f07", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/notifications/src/email-templates/index.test.ts:1"}, "properties": {"repobilityId": "3310857bbfcd09e4", "scanner": "scanner-primary", "fingerprint": "0b3c5bdabbbf5f07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91ba5b28381069da", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/notifications/src/email-templates/index.ts:1"}, "properties": {"repobilityId": "b0c1a0f0f9b7f18d", "scanner": "scanner-primary", "fingerprint": "91ba5b28381069da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7ac78ac5fa19f70", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/config/eslint.config.js:8"}, "properties": {"repobilityId": "7d3fa0cf2c5fed56", "scanner": "scanner-primary", "fingerprint": "a7ac78ac5fa19f70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4cf167cc4f3650f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/auth/src/middleware.ts:1"}, "properties": {"repobilityId": "42a7c6db63bea71f", "scanner": "scanner-primary", "fingerprint": "f4cf167cc4f3650f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aabcc806f3c403c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/ui/src/__tests__/live-indicator.test.tsx:1"}, "properties": {"repobilityId": "b36c8b058bbf667d", "scanner": "scanner-primary", "fingerprint": "aabcc806f3c403c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e677ba4a3339cf7e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/geo.ts:1"}, "properties": {"repobilityId": "312ad8d572f87377", "scanner": "scanner-primary", "fingerprint": "e677ba4a3339cf7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3c8390df83845c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/analytics.ts:1"}, "properties": {"repobilityId": "5b78196fc8668378", "scanner": "scanner-primary", "fingerprint": "c3c8390df83845c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5ecb1bc7e368ad9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/scoring.ts:1"}, "properties": {"repobilityId": "010201e5e5b0774e", "scanner": "scanner-primary", "fingerprint": "b5ecb1bc7e368ad9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c1e437d3ec95675", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/dates.ts:1"}, "properties": {"repobilityId": "d8677e1c9c52f797", "scanner": "scanner-primary", "fingerprint": "0c1e437d3ec95675", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44f93575ab6b3828", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/order-workflow.ts:5"}, "properties": {"repobilityId": "ca83b44bb8028c6d", "scanner": "scanner-primary", "fingerprint": "44f93575ab6b3828", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f8b7809989d6218", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/utils/src/rate-limiter.ts:1"}, "properties": {"repobilityId": "05ecd6f9fcb1e033", "scanner": "scanner-primary", "fingerprint": "3f8b7809989d6218", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-521b4e884f57da36", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/utils/src/logger.ts:1"}, "properties": {"repobilityId": "b5693d77fa2d048e", "scanner": "scanner-primary", "fingerprint": "521b4e884f57da36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30713e092928a5dc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/utils/src/rate-limit/distributed-store.ts:17"}, "properties": {"repobilityId": "fefbc714d34ef9a5", "scanner": "scanner-primary", "fingerprint": "30713e092928a5dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f2d7ddf10c524d8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/validation/src/schemas/schemas.test.ts:1"}, "properties": {"repobilityId": "1ad75142a8acf2ad", "scanner": "scanner-primary", "fingerprint": "9f2d7ddf10c524d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a156d7a7ffda4068", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/server.ts:1"}, "properties": {"repobilityId": "7b5f9e7e280e167b", "scanner": "scanner-primary", "fingerprint": "a156d7a7ffda4068", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe300ebd8c8120a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/client-helpers.ts:1"}, "properties": {"repobilityId": "484240b752e9147b", "scanner": "scanner-primary", "fingerprint": "fe300ebd8c8120a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddb794d87c7b2703", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/risk.engine.ts:1"}, "properties": {"repobilityId": "73c04f8260301d50", "scanner": "scanner-primary", "fingerprint": "ddb794d87c7b2703", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25f346ac15554d67", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/engine/src/orchestrators/driver-matching.service.test.ts:58"}, "properties": {"repobilityId": "95c5202c8b798c34", "scanner": "scanner-primary", "fingerprint": "25f346ac15554d67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba836509a9e84a87", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-state-machine.ts:1"}, "properties": {"repobilityId": "9add636673c3e487", "scanner": "scanner-primary", "fingerprint": "ba836509a9e84a87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f6510996ad1e12f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/order-creation.service.ts:1"}, "properties": {"repobilityId": "d8448e77256d3eb0", "scanner": "scanner-primary", "fingerprint": "2f6510996ad1e12f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cef24f6fbaae209", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.ts:1"}, "properties": {"repobilityId": "4b4e02868b9b1b2c", "scanner": "scanner-primary", "fingerprint": "8cef24f6fbaae209", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5ee0d5155374381", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/driver-matching.service.ts:1"}, "properties": {"repobilityId": "55a4c4e046583df6", "scanner": "scanner-primary", "fingerprint": "a5ee0d5155374381", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd96c199ab5b160e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/dispatch-orchestrator.test.ts:1"}, "properties": {"repobilityId": "082423593480b68b", "scanner": "scanner-primary", "fingerprint": "cd96c199ab5b160e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf00275dbaf223db", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/delivery-engine.ts:1"}, "properties": {"repobilityId": "6e6f3d3f50d0d7a0", "scanner": "scanner-primary", "fingerprint": "cf00275dbaf223db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a23a897bd839c384", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/master-order-engine.ts:1"}, "properties": {"repobilityId": "d84f13e907b1e621", "scanner": "scanner-primary", "fingerprint": "a23a897bd839c384", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f3f0606e04ade01", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/orchestrators/offer-management.service.ts:125"}, "properties": {"repobilityId": "9e37ba54b17c430d", "scanner": "scanner-primary", "fingerprint": "9f3f0606e04ade01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8fd86d1f73cf6ce", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/engine/src/services/orders.service.test.ts:40"}, "properties": {"repobilityId": "cdb9a154efc350da", "scanner": "scanner-primary", "fingerprint": "d8fd86d1f73cf6ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c282d97d317038d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/services/geocoding.service.ts:1"}, "properties": {"repobilityId": "df09e0a1effae946", "scanner": "scanner-primary", "fingerprint": "1c282d97d317038d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8efdbab4e89b127", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/services/geocoding.service.ts:39"}, "properties": {"repobilityId": "20935aee631a0f29", "scanner": "scanner-primary", "fingerprint": "c8efdbab4e89b127", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c3c154ba803fe9a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/engine/src/services/tax-config.service.ts:1"}, "properties": {"repobilityId": "5d4c163b268bf63f", "scanner": "scanner-primary", "fingerprint": "c3c154ba803fe9a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ae540277d186400", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/services/ops-analytics.service.ts:1"}, "properties": {"repobilityId": "788005c7bc4aa2ec", "scanner": "scanner-primary", "fingerprint": "6ae540277d186400", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1bb35b2827f3af8", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/services/delivery-fee.service.ts:1"}, "properties": {"repobilityId": "cdf89aaf1e956bb8", "scanner": "scanner-primary", "fingerprint": "e1bb35b2827f3af8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac6ff4294450081f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/core/business-rules-engine.ts:1"}, "properties": {"repobilityId": "5f048ce01e5a01bd", "scanner": "scanner-primary", "fingerprint": "ac6ff4294450081f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30c0468e54172a6c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sla-checks.ts:1"}, "properties": {"repobilityId": "dc147fd8d6fedf22", "scanner": "scanner-primary", "fingerprint": "30c0468e54172a6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e8ad68b25a3cdb5", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/engine/src/core/notification-triggers.ts:1"}, "properties": {"repobilityId": "262c270f86eb1dbe", "scanner": "scanner-primary", "fingerprint": "6e8ad68b25a3cdb5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad0f008ea25883d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sms-templates.ts:1"}, "properties": {"repobilityId": "527452426cee7302", "scanner": "scanner-primary", "fingerprint": "ad0f008ea25883d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7d9f2a038adf0e5", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/engine/src/core/notification-sender.ts:1"}, "properties": {"repobilityId": "680ec5329c7caccd", "scanner": "scanner-primary", "fingerprint": "d7d9f2a038adf0e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85071cf7b7161a96", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/engine/src/core/email-provider.ts:1"}, "properties": {"repobilityId": "9676a8088b44555a", "scanner": "scanner-primary", "fingerprint": "85071cf7b7161a96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36cabe4bda4a02db", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/engine/src/core/sms-provider.ts:1"}, "properties": {"repobilityId": "3478cce855f0fe94", "scanner": "scanner-primary", "fingerprint": "36cabe4bda4a02db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40f0bffbaf320903", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/engine/src/core/sms-provider.ts:3"}, "properties": {"repobilityId": "7fd85d3fb47e3dd7", "scanner": "scanner-primary", "fingerprint": "40f0bffbaf320903", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e1f65ad9102924d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/db/src/database.merged.ts:243"}, "properties": {"repobilityId": "081df3b16d7e8f5a", "scanner": "scanner-primary", "fingerprint": "e1f65ad9102924d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-875de1f579ad962a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/db/src/client/server.ts:51"}, "properties": {"repobilityId": "18bd05e32e6e1398", "scanner": "scanner-primary", "fingerprint": "875de1f579ad962a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30e97807a70bf043", "level": "note", "message": {"text": "Legacy-named symbol `search_v2` in packages/db/src/generated/database.types.ts:5222"}, "properties": {"repobilityId": "b029cdb787c7544a", "scanner": "scanner-primary", "fingerprint": "30e97807a70bf043", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-16d0a2296d371cfa", "level": "note", "message": {"text": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.ts:57"}, "properties": {"repobilityId": "6f2555fd4b5b0ff7", "scanner": "scanner-primary", "fingerprint": "16d0a2296d371cfa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ae810ac1d8a1cb1e", "level": "note", "message": {"text": "Legacy-named symbol `deliveryTrackingChannelLegacy` in packages/db/src/realtime/channels.test.ts:5"}, "properties": {"repobilityId": "f465da531af89b0e", "scanner": "scanner-primary", "fingerprint": "ae810ac1d8a1cb1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f4afd7ee819c483a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/negative-paths.spec.ts:81"}, "properties": {"repobilityId": "17e3e82082cd0d13", "scanner": "scanner-primary", "fingerprint": "f4afd7ee819c483a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e65e83d2e25b086", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 e2e/lifecycle/ops.spec.ts:26"}, "properties": {"repobilityId": "e6119db5bb82a059", "scanner": "scanner-primary", "fingerprint": "9e65e83d2e25b086", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b0b7578dd2a289b6", "level": "note", "message": {"text": "26 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "8099a5c5713d37b9", "scanner": "scanner-primary", "fingerprint": "b0b7578dd2a289b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}]}]}