{"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-d0351cd6212150f0", "name": "Stray `console.log` in TS/JS \u2014 send-broadcast.js:153", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 send-broadcast.js:153"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-348e068148e565e0", "name": "Stray `console.log` in TS/JS \u2014 sentry.server.config.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sentry.server.config.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bff3c75a00050abd", "name": "Stray `console.log` in TS/JS \u2014 middleware.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 middleware.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-fe4afdfcd65ee3d2", "name": "Stray `console.log` in TS/JS \u2014 sentry.client.config.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 sentry.client.config.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2df7ff1af5a1ba0", "name": "Stray `console.log` in TS/JS \u2014 tests/maya-integration.spec.ts:117", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/maya-integration.spec.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-ce39911c4965855c", "name": "Stray `console.log` in TS/JS \u2014 tests/debug-onboarding-wizard.spec.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/debug-onboarding-wizard.spec.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13d761acb495a186", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 tests/visibility-suite-entitlements.test.ts:94", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 tests/visibility-suite-entitlements.test.ts:94"}, "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-15728aa1abf683ad", "name": "Stray `console.log` in TS/JS \u2014 tests/helpers/test-user.ts:113", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/helpers/test-user.ts:113"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd2b5dd2a03a415d", "name": "Stray `console.log` in TS/JS \u2014 scripts/11-inspect-production-schema.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/11-inspect-production-schema.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ad5beb1dfad754d", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-production-status.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-production-status.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcf0e27278914a47", "name": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c102dea32044d79", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-onboarding-segment-env.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-onboarding-segment-env.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9524d2050ccea545", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-prompt-guide-contacts-to-segment.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-prompt-guide-contacts-to-segment.ts:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b5c817c8c78997e", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-test-users-keep-trained.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-test-users-keep-trained.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-45774a8b8be181bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b699f2745fd2abd", "name": "Stray `console.log` in TS/JS \u2014 scripts/bridge-01-trial-backfill.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bridge-01-trial-backfill.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-7dd06f175f5fbc88", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-add-feed-display-color.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-add-feed-display-color.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-662c185204755395", "name": "Stray `console.log` in TS/JS \u2014 scripts/qa-phase2e-feed-subject-identity.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/qa-phase2e-feed-subject-identity.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5bfb6502d8ef2e4", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-project-tracker-migration.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-project-tracker-migration.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92fa77272148ddcb", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze-retraining-issues.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-retraining-issues.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c49552d77a769881", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-sentry-connection.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-sentry-connection.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8e3c8ce48a0bc43", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-015.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-015.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e4df091913160bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/populate-high-ticket-tasks.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/populate-high-ticket-tasks.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc86bd673ae33120", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-carousels.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-carousels.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-4f737a6d64b08203", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c20bb6865463b7", "name": "Stray `console.log` in TS/JS \u2014 scripts/find-christian-data.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-christian-data.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0cd94494160f813", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-video-urls.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-video-urls.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6140f8e5c3f88ca3", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-personal-brand-api.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-personal-brand-api.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-caf8b83d38530787", "name": "Stray `console.log` in TS/JS \u2014 scripts/validate-column-names.ts:205", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/validate-column-names.ts:205"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ad52f8ac21b5db0", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-paid-blueprint.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-paid-blueprint.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9af82fe715ca413d", "name": "Stray `console.log` in TS/JS \u2014 scripts/24-check-all-tables.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/24-check-all-tables.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc7e188b1dc84b62", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-sandra-training.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-sandra-training.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed7b605276293459", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-ai-photoshoot-audience.ts:235", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-ai-photoshoot-audience.ts:235"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43ac4bbca6d98183", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fbbd7c69f3d6deb", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-guest-customer.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-guest-customer.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb0f012e4762cd6a", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-planner-columns-migration.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-planner-columns-migration.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-f4065fc461440eb8", "name": "Stray `console.log` in TS/JS \u2014 scripts/set-vercel-onboarding-segments.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-vercel-onboarding-segments.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3b52f378984da6e", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-strategy-migrations.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-strategy-migrations.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43c04b98d4ab19c0", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-maya-bridge-table.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-maya-bridge-table.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-855def4e05f8c255", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-41.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-41.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c22b68b7e6033b4", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-create-selfie-tables.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-create-selfie-tables.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0692eeeff5f42dd", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-payments.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-payments.ts:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e5ec9231379e6e4", "name": "Stray `console.log` in TS/JS \u2014 scripts/query-via-rest.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/query-via-rest.ts:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-719cf7b8effebc8e", "name": "Stray `console.log` in TS/JS \u2014 scripts/revenue-engine-weekly-digest.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/revenue-engine-weekly-digest.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0c1dc998d341ed4", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-ig-media-snapshots.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-ig-media-snapshots.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c3fb67b1066aec7", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-mode-migration.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-mode-migration.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7021406569f2ba8", "name": "Stray `console.log` in TS/JS \u2014 scripts/send-shopify-apology-email.ts:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/send-shopify-apology-email.ts:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fee2ac1832985d3a", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-quality-migration.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-quality-migration.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ada7ea93f07a1314", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-cards-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-cards-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4bfdb4177b125d6", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-vault-drops.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-vault-drops.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-7d89b1f07177e84b", "name": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access-standalone.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access-standalone.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-fb5af537955cf838", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-prompt-guide-tables-direct.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-prompt-guide-tables-direct.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0a52e0a2b5b281d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-verification.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-verification.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd36bbdb8031eae7", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-cohort-joins.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-cohort-joins.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-923d09a2c7b694e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-academy.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-academy.ts:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3d47cc2dbd3d749", "name": "Stray `console.log` in TS/JS \u2014 scripts/provision-resend-segments.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/provision-resend-segments.ts:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74623a1a6843b992", "name": "Stray `console.log` in TS/JS \u2014 scripts/13-export-to-sql.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/13-export-to-sql.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3402d4f159610522", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-migration-41.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-migration-41.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e13849b1a72fce49", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-shoots.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-shoots.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f692788e162b4e6", "name": "Stray `console.log` in TS/JS \u2014 scripts/manually-process-webhook.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/manually-process-webhook.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-968b0ebd3c2b8099", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-016.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-016.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0f85f2646a0352a", "name": "Stray `console.log` in TS/JS \u2014 scripts/reset-campaign-status.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reset-campaign-status.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7228335e8cb742a", "name": "Stray `console.log` in TS/JS \u2014 scripts/classify-routes.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-routes.ts:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c91f946cc150e8c4", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-pagination.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-pagination.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a1f5c01bdf82c4f9", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-test-results.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-test-results.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d5e35977c65d561", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-emails.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-emails.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-634212990d7fa044", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-api-response.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-api-response.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4adc5f26dd3d509d", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-all-paid-blueprint-migrations.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-all-paid-blueprint-migrations.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e418439c7f621113", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-chat-type-migration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-chat-type-migration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d17fe9161920a5e7", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-email-sends-migration.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-sends-migration.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69b8d54c3b5ff72c", "name": "Stray `console.log` in TS/JS \u2014 scripts/prototype-carousel-slide.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prototype-carousel-slide.ts:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17bfa388e57aa98a", "name": "Stray `console.log` in TS/JS \u2014 scripts/brand-consistency-audit.ts:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/brand-consistency-audit.ts:198"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6c34a3f0cdf9c1e", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a8be778ebd5e45a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-v2.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-v2.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6db7323d9896ef9", "name": "Stray `console.log` in TS/JS \u2014 scripts/10-check-production-data.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/10-check-production-data.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c168e764ec13078", "name": "Stray `console.log` in TS/JS \u2014 scripts/final-migrate-lora.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final-migrate-lora.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0de4f9bcb9ef87f5", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-admin-tables.ts:389", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-admin-tables.ts:389"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf5563b6b1efe555", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-vault-collections.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-vault-collections.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e65ac019d556ab34", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-selfie-guide-product.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-selfie-guide-product.ts:80"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba6bc8e3b0c1659d", "name": "Stray `console.log` in TS/JS \u2014 scripts/09-migrate-production-data.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/09-migrate-production-data.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60987b2a3900e398", "name": "Stray `console.log` in TS/JS \u2014 scripts/find-all-test-users.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-all-test-users.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2b48566d0ea6027", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e4ba1fac827b678", "name": "Stray `console.log` in TS/JS \u2014 scripts/product-qa-digest.ts:239", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/product-qa-digest.ts:239"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f60f9f2d1eb8c912", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-comeback-discount.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-comeback-discount.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e995f8bad80ea8a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-status.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-status.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37bef864269d03bf", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-vimeo-embed.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-vimeo-embed.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f947968c55dba774", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-email-analytics.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-email-analytics.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba6af576901f5db2", "name": "Stray `console.log` in TS/JS \u2014 scripts/38-run-pro-chat-type-migration.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/38-run-pro-chat-type-migration.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24e229587fea900d", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-selfie-generation.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-selfie-generation.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec3c940643b5519b", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-email-campaign-migration.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-campaign-migration.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4b7277024e31e15", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze-production-db.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-production-db.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11479c5e18be3d18", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-advanced-email-automation.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-advanced-email-automation.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37523c22942a28c6", "name": "Stray `console.log` in TS/JS \u2014 scripts/find-and-migrate-models.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-and-migrate-models.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd11c99a1bbb012c", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-purchase.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-purchase.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-73e1b30344f85c20", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-console-logs.ts:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-console-logs.ts:115"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b552be46f04ca03f", "name": "Stray `console.log` in TS/JS \u2014 scripts/cohort-report-weekly.ts:215", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cohort-report-weekly.ts:215"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-321a240076224da6", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-christian-data.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-christian-data.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fe5a8f3888a7565", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-replicate-training.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-replicate-training.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-afe733dc34131fce", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-phase-5a-6a-migrations.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-phase-5a-6a-migrations.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b30758ed22788968", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-feed-style-variations-v2.ts:238", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-feed-style-variations-v2.ts:238"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-221f54755312d887", "name": "Stray `console.log` in TS/JS \u2014 scripts/22-migrate-users-to-supabase-auth.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/22-migrate-users-to-supabase-auth.ts:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c3ad928648c2548", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-to-new-pricing.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-to-new-pricing.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-524acd2f1d4e8224", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-sandra.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-sandra.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50a5035f57db311e", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-project-tracker-tables.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-project-tracker-tables.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68bfae6734b36b7d", "name": "Stray `console.log` in TS/JS \u2014 scripts/link-shannon-accounts.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/link-shannon-accounts.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87189f37a45a6717", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-preview-schema.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-preview-schema.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c63c6a1d5dd6c1fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-academy-entitlements.ts:126", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-academy-entitlements.ts:126"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1efb10b4b142d88", "name": "Stray `console.log` in TS/JS \u2014 scripts/upgrade-beta-customer.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upgrade-beta-customer.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8b03d37e5ef6d3f", "name": "Stray `console.log` in TS/JS \u2014 scripts/38-run-email-preview-data-migration.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/38-run-email-preview-data-migration.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25ab6f021180e01e", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-test-user-email.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-test-user-email.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b973ab3b9d5d57b8", "name": "Stray `console.log` in TS/JS \u2014 scripts/get-real-selfie-urls.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get-real-selfie-urls.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5196ddecd7af4ca", "name": "Stray `console.log` in TS/JS \u2014 scripts/22-create-sessions-tables.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/22-create-sessions-tables.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5193e3a77a370f40", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-resend-sequence-segments.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-resend-sequence-segments.ts:174"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b024a19810043441", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-lora-bjarki-mcegill.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-lora-bjarki-mcegill.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf506cf7fd4e5f45", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit-revenue-sources.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-revenue-sources.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a965fd92cc66c7f4", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-email-discount-codes.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-email-discount-codes.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-f58e04bd3f097816", "name": "Stray `console.log` in TS/JS \u2014 scripts/20-migrate-claude-to-maya.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/20-migrate-claude-to-maya.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee6fc8df7e5c356f", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-stuck-post.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-stuck-post.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-754cfb54d7464943", "name": "Stray `console.log` in TS/JS \u2014 scripts/email-performance-report.ts:322", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/email-performance-report.ts:322"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d34419aac29b6aa", "name": "Stray `console.log` in TS/JS \u2014 scripts/add-email-drafts-trigger.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-email-drafts-trigger.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cde0f1e63982d281", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-test-models.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-test-models.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b944a45784c54fd1", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-paid-blueprint-product.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-paid-blueprint-product.ts:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56ff6b739c2d9b3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/08-analyze-production-data.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/08-analyze-production-data.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5bd05829c9c51d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-user-lora-scales.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-user-lora-scales.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a902dbea0bf81de", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-feed-planner-mode-issues.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-feed-planner-mode-issues.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da6c39c2e375de4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-e2e-blueprint-test.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-e2e-blueprint-test.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-1a6756c84548e217", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-user-access.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-user-access.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-124a1d2109281729", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-classic-mode-restoration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-classic-mode-restoration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-695c42ac7d7463f9", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora-to-1.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora-to-1.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-445063ea58324445", "name": "Stray `console.log` in TS/JS \u2014 scripts/switch-sandra-model.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/switch-sandra-model.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb6d9dd2bd797488", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-user.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-user.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e768461d9c08a30d", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-orphaned-object-literals.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-orphaned-object-literals.ts:131"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cba13443b49efcb8", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-and-repair-feed-style.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-and-repair-feed-style.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-587041fef5d1474b", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v2.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v2.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1092481c817735e", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-discount.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-discount.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7752db0414536835", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-hard-bounces.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-hard-bounces.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-12e8f07f7965a969", "name": "Stray `console.log` in TS/JS \u2014 scripts/grant-shopify-customer-access.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-shopify-customer-access.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac92c0ec4fb30032", "name": "Stray `console.log` in TS/JS \u2014 scripts/friction-digest.ts:388", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/friction-digest.ts:388"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7488f3a9239422b", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit-subscription-data.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-subscription-data.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-5778191534033e4a", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon-live.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon-live.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83be127a3e7a7332", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-test-to-live.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-test-to-live.js:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1205bad3c3331c6", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-duplicate-emails.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-duplicate-emails.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c418f2867338596", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-image-prompt.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-image-prompt.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c04c7c6923ea1e7", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-freebie-table.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-freebie-table.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a5d297e633ba598", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-memory-data-migration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-memory-data-migration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12c597f29d7ac199", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-pricing-config.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-pricing-config.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acc85accb7da2850", "name": "Stray `console.log` in TS/JS \u2014 scripts/39-run-prompt-builder-chat-type-migration.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/39-run-prompt-builder-chat-type-migration.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-111f2577d6dec590", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-shannon-data.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-shannon-data.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9cd8804ce41c422b", "name": "Stray `console.log` in TS/JS \u2014 scripts/support-digest.ts:286", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/support-digest.ts:286"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-711217815b8b2064", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-prompt-diversity.ts:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-prompt-diversity.ts:146"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48948c87ec596b8d", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-drafts-table.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-drafts-table.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c1e5f8b95e1cdb7", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-stripe-config.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-stripe-config.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1db4ef06d604f191", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-shannon-upload-access.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-shannon-upload-access.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d60252b7055bc8c", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-stories.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-stories.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-168ee0c3a658ee5d", "name": "Stray `console.log` in TS/JS \u2014 scripts/extract-reel-references.ts:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/extract-reel-references.ts:145"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20b9b2963a049cdb", "name": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr-with-discounts.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr-with-discounts.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdd4d627f28bd3a0", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-products.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-products.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc6d694586daa42c", "name": "Stray `console.log` in TS/JS \u2014 scripts/maya-quality-audit.ts:212", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maya-quality-audit.ts:212"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05f8c7221dbad757", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe-mrr-reconciliation.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe-mrr-reconciliation.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c82ef93becd2c81", "name": "Stray `console.log` in TS/JS \u2014 scripts/triage-hourly.ts:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/triage-hourly.ts:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf6b609779b3225b", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest-style-references.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-style-references.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ce9cae0556b2017", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-lora-weights.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-lora-weights.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3b5815386c7c141", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-schema.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-schema.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fe59b8330345e40", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-project-tracker.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-project-tracker.js:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ffe3c466288de74", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-checkout.ts:285", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-checkout.ts:285"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3032d1213d3cc8fa", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-resend-setup.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-resend-setup.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faf12a3e0550d244", "name": "Stray `console.log` in TS/JS \u2014 scripts/23-check-images-data.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/23-check-images-data.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ada621cb0bcdf04", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-reel-references.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-reel-references.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5448c210cc1cc3f", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-creation-refactoring.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-creation-refactoring.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94d0c312fd41eb06", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-style-references.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-style-references.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcd5122e03b8951b", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-plan-migration.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-plan-migration.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcf8eabf0c61f47d", "name": "Stray `console.log` in TS/JS \u2014 scripts/db-inventory.ts:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db-inventory.ts:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-679ef37eee27a23d", "name": "Stray `console.log` in TS/JS \u2014 scripts/user-journey-smoke.ts:204", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/user-journey-smoke.ts:204"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f27c0dc8c295d7d2", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-admin-alert-tracking.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-admin-alert-tracking.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f7869a8c19e7387", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-broadcast.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-broadcast.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13e632539330ff84", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e16f06e2ffdf8271", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-project-tracker-tables.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-project-tracker-tables.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5d89dffb405abce", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-academy-03-migration.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-academy-03-migration.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a9324ceadad56aa", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-coupon-webhook.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-coupon-webhook.ts:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-949e66275c888739", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-planner-issues.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-planner-issues.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-abbad7a29a4e48b2", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-pro-mode-restoration.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-pro-mode-restoration.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba6014e4cebee2f5", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v3.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v3.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6bf5bb5a0a15c36", "name": "Stray `console.log` in TS/JS \u2014 scripts/link-christian-account.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/link-christian-account.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6a41b3fafb46fed", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-webhook-status.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-webhook-status.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cab4d6e74a85709b", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-api-endpoints.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-api-endpoints.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fc86c34b6f110d2", "name": "Stray `console.log` in TS/JS \u2014 scripts/find-orphaned-data.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-orphaned-data.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d92b203e76478ec", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-55.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-55.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7472ab7396b22b1", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-instagram-oauth-state.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-instagram-oauth-state.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-324773018bde5d33", "name": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-maya-chat-duplicates.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-maya-chat-duplicates.ts:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ab46de6ebfc1139", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-51.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-51.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11feec20cebfc578", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-email-drafts-migration.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-drafts-migration.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42a92a3598d08bd4", "name": "Stray `console.log` in TS/JS \u2014 scripts/funnel-digest.ts:514", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/funnel-digest.ts:514"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c454ea766e71a1c9", "name": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-beta-users.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-beta-users.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-219b451f556bc390", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit-email-log-dedupe.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-email-log-dedupe.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8cdfde5a850c8ade", "name": "Stray `console.log` in TS/JS \u2014 scripts/winback-ex-members.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/winback-ex-members.ts:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b8302bc73cdfd60", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-status.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-status.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e39bdd953b723220", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-subscription.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-subscription.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c866bb68aaf3ccb4", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-demo-pairs.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-demo-pairs.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cff6e324b02bfc83", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ff99dc744d1794c", "name": "Stray `console.log` in TS/JS \u2014 scripts/daily-maintenance.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/daily-maintenance.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29163981980a2e78", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-reference-image-prompt.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reference-image-prompt.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f8b17c237877c71", "name": "Stray `console.log` in TS/JS \u2014 scripts/export-production-to-sql.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-production-to-sql.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2238e048e2801a3c", "name": "Stray `console.log` in TS/JS \u2014 scripts/12-migrate-all-data.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/12-migrate-all-data.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89055bb37e42330a", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-content-brief.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-content-brief.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbce6020ba0321d8", "name": "Stray `console.log` in TS/JS \u2014 scripts/list-resend-segments.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-resend-segments.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92a4883abb2f2be6", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-decision1-credits.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-decision1-credits.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-821a1c5a4984d368", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-shipped-slides.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-shipped-slides.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cbcd0a10ee65282", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-user-stripe-status.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-user-stripe-status.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4534b3fa094d99c7", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-test-models-flag.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-test-models-flag.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af06cd5c616eb5cb", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit-multi-subscriptions.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-multi-subscriptions.ts:131"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fda2412a8576cdda", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-stripe-beta-coupon.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-stripe-beta-coupon.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c931a2f7eaa61f0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/lower-bjarki-lora.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lower-bjarki-lora.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cd8cc0947300350", "name": "Stray `console.log` in TS/JS \u2014 scripts/retry-blueprint-followup-failures.ts:293", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/retry-blueprint-followup-failures.ts:293"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d10b1d7e591a976", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-referral-system.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-referral-system.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d11a3a8b1428028", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-prices.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-prices.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5143731c39c3719", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4-simple.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4-simple.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68e69d69b4c9dcfe", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-cards-migration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-cards-migration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9db6023339e5e66e", "name": "Stray `console.log` in TS/JS \u2014 scripts/repair-missing-credit-transactions.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repair-missing-credit-transactions.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c91ac91b8fed1465", "name": "Stray `console.log` in TS/JS \u2014 scripts/index-codebase.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/index-codebase.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f353517a92118b85", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-customer-ids.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-customer-ids.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0e66253cef357d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/email-audit-diagnostics.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/email-audit-diagnostics.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3b8d34aa4647b0a", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-paid-blueprint-migrations.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-paid-blueprint-migrations.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ba22dde39666066", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration-v2.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration-v2.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea25088c5bd13613", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-payment-ids.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-payment-ids.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfb19b63f1d72608", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-live-config.ts:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-live-config.ts:146"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53cd7682fb8f7d0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-lora-to-users.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-lora-to-users.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7ecf8c17094d292", "name": "Stray `console.log` in TS/JS \u2014 scripts/27-fix-missing-lora-url.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/27-fix-missing-lora-url.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-525ce9a7473276fd", "name": "Stray `console.log` in TS/JS \u2014 scripts/setup-email-automation-tables.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-email-automation-tables.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-841635ba2707321c", "name": "Stray `console.log` in TS/JS \u2014 scripts/add-blueprint-followup-columns.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-blueprint-followup-columns.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16a48403ba4a4a11", "name": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-subscriber-counts.ts:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-subscriber-counts.ts:200"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-029483f1dd774f40", "name": "Stray `console.log` in TS/JS \u2014 scripts/prototype-cover-slide.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prototype-cover-slide.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b621734fd1eca07b", "name": "Stray `console.log` in TS/JS \u2014 scripts/entitle-01-audit-test-mode-subscriptions.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/entitle-01-audit-test-mode-subscriptions.ts:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b794986c167c537", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-decision2-setup.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-decision2-setup.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d04f47380bca8179", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-api.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-api.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9a740b867d4d0b4", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-prompt-authority.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-prompt-authority.ts:141"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b463aea9126adce", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-campaign-segment.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-campaign-segment.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-334eda0fc2e275c4", "name": "Stray `console.log` in TS/JS \u2014 scripts/remove-pre-payment-credits.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove-pre-payment-credits.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcd562361a2a1cbc", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-prompt-guide-migration.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-prompt-guide-migration.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbeb0053570a87ac", "name": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/01-dead-routes-audit.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/01-dead-routes-audit.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7e2b2678684d4fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/03-cron-status-report.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/03-cron-status-report.js:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c1e141581370662", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/markdown-repo-curator.ts:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/markdown-repo-curator.ts:91"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7c8409c128229a1", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/repo-cartographer.ts:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/repo-cartographer.ts:194"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5c6601f957f6f7a", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/integration-health-check.ts:145", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/integration-health-check.ts:145"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ced53e50318ac9c7", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/prompt-authority-inspector.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/prompt-authority-inspector.ts:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd5d3e5eec10c58e", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/dead-code-hunter.ts:142", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/dead-code-hunter.ts:142"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13e433b793266009", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/architecture-simplifier.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/architecture-simplifier.ts:104"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32d275f4d8b95236", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/upgrade-readiness-check.ts:112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/upgrade-readiness-check.ts:112"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d19836abf95dc9a4", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/user-journey-scanner.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/user-journey-scanner.ts:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9904147eef58f67d", "name": "Stray `console.log` in TS/JS \u2014 scripts/audit/gravity-scanner.ts:118", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/gravity-scanner.ts:118"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d821525204de1d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-stripe-payments-recent.ts:587", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-stripe-payments-recent.ts:587"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b3faadb0eb134bb", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-free-welcome-credits.ts:173", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-free-welcome-credits.ts:173"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29cd26cd96d19456", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-membership-credits.ts:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-membership-credits.ts:151"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6514850b12c2e08", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/normalize-stripe-one-time-product-types.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/normalize-stripe-one-time-product-types.ts:116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53a5e9186383e9cd", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-resend-broadcast-email-logs.ts:355", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-resend-broadcast-email-logs.ts:355"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6e75881a6b947fd", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-prompt-vault-checkout-attribution.ts:148", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-prompt-vault-checkout-attribution.ts:148"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64b41f92c07ebd19", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-blueprint-subscriber-user-ids.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-blueprint-subscriber-user-ids.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34286d04dd3eb20c", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/investigate-specific-charge.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/investigate-specific-charge.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71ee2d03889d660c", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/find-affected-users.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/find-affected-users.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5136493e0b66d43a", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/apply-refunds.ts:212", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/apply-refunds.ts:212"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eda1bc352e631535", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/fix-webhook-endpoints.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/fix-webhook-endpoints.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da7a4e8ed18c985d", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/check-beta50-promo-code.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/check-beta50-promo-code.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30337b43531e2252", "name": "Stray `console.log` in TS/JS \u2014 scripts/stripe/verify-beta-pricing.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/verify-beta-pricing.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff253c5491d90019", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-feature-flags-table.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-feature-flags-table.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ab618b2afa92474", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-cron-runs-table.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-cron-runs-table.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1047df27b1cf9ee8", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-email-errors-table.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-email-errors-table.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c91cb25f59d97a5", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-admin-wiring.ts:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-admin-wiring.ts:146"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f96eef5812b384cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-columns.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-columns.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d109708ff441b39", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-and-create-admin-tables.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-and-create-admin-tables.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-a2faee5d88819130", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/run-admin-migrations.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/run-admin-migrations.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0802e0237fd56c06", "name": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/check-admin-tables.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/check-admin-tables.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e90735c7cd65e3cb", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-photography-style-migration.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-photography-style-migration.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97eb89b85f09ffcc", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-generation-tracking.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-generation-tracking.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0235b6be3f578d55", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-feed-rotation-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-feed-rotation-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f199d9aac3cfa68a", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-id-blueprint-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-id-blueprint-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47370c414b591f97", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-010-creative-content-tables.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-010-creative-content-tables.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-033bea1bcc280c6f", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-to-unified-wizard-migration.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-to-unified-wizard-migration.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca44364fd591cde7", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-contact-tracking.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-contact-tracking.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14e4a799cdf300d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-onboarding-columns-migration.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-onboarding-columns-migration.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbb123169a863ed3", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-image-libraries-migration.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-image-libraries-migration.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24deafda2251b812", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-feed-rotation-migration.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-feed-rotation-migration.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-df005300395148de", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-id-blueprint-migration.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-id-blueprint-migration.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9a390e39234caa98", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-pro-mode-sessions.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-pro-mode-sessions.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-9796ca60f4993cb0", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-user-pro-setup-direct.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-user-pro-setup-direct.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e6c3c129651beb4", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-add-onboarding-columns-migration.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-add-onboarding-columns-migration.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12dc7c8bec3034cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-columns.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-columns.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-2d0983218dbdb461", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-brand-engine-migration.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-brand-engine-migration.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-553078355b7ac582", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-prompt-pages-updated-at-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-prompt-pages-updated-at-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-15fcd17667cdb0a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-alex-suggestion-migration.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-alex-suggestion-migration.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-daf621c14e71bd2e", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-pro-mode-sessions-migration.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-pro-mode-sessions-migration.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e3a137a45a787e2", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-usage-tracking-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-usage-tracking-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0dc6086d9d8b042b", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-to-unified-wizard-migration.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-to-unified-wizard-migration.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-3801be20a8322daf", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-studio-pro-migration.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-studio-pro-migration.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98b9de606272e221", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-referrals-migration.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-referrals-migration.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1994afb9d93fa084", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-013-loops-columns.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-013-loops-columns.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fbec7729d6a4aed8", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-usage-tracking-migration.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-usage-tracking-migration.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ec83e39a03907ad", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-variation-to-personal-brand.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-variation-to-personal-brand.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48d32481eca35235", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-direct.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-direct.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ae922fdb6df884c", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/debug-missing-user-credits.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/debug-missing-user-credits.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c73cee10e6864cbe", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-grant-credits.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-grant-credits.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0497192ed4310190", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-grant-free-user-credits-migration.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-grant-free-user-credits-migration.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-370ccf0f671a65e5", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-migration.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-migration.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-44d5804d8b78d218", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-enable-feed-planner-v2-for-all.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-enable-feed-planner-v2-for-all.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d552e7a981473a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-studio-pro-tables.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-studio-pro-tables.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03208fc9c221563a", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-paid-blueprint-email-columns.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-paid-blueprint-email-columns.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3eaee670b080b6a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-style-variations-v2-migration.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-style-variations-v2-migration.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7344fb55941bde6", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-image-libraries.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-image-libraries.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-74cfcc6f4ec34aa3", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-paid-blueprint-email-columns.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-paid-blueprint-email-columns.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a6854da9aa62bc3", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-grant-free-user-credits-migration.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-grant-free-user-credits-migration.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-893102e2218ec57c", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-planner-welcome-migration.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-planner-welcome-migration.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-de469ac29d71b7ec", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/check-user-credits-status.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/check-user-credits-status.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ded6594abe5d9690", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-loops-columns-direct.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-loops-columns-direct.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e693ddce0a2869b2", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-all-missing-tables.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-all-missing-tables.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99df5223fee693b0", "name": "TODO/FIXME marker in shipping code \u2014 components/image-lightbox.tsx:58", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/image-lightbox.tsx:58"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc33d5dd69c0676f", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/fullscreen-image-modal.tsx:144", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/fullscreen-image-modal.tsx:144"}, "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-af804164bbab6da1", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/fullscreen-image-modal.tsx:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/fullscreen-image-modal.tsx:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-121cdfcd37e00a4e", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/concept-card.tsx:214", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/concept-card.tsx:214"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-050584ee5b9e4976", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/feed-publishing-hub.tsx:284", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/feed-publishing-hub.tsx:284"}, "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-0fc9d9f91bba0a0a", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-history.tsx:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-history.tsx:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f07d854936fe2d7", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-prompt.tsx:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-prompt.tsx:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e151670969fec6ba", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/best-work-selector.tsx:129", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/best-work-selector.tsx:129"}, "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-788fb7ad98b7e8ef", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/brand-assets-manager.tsx:183", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/brand-assets-manager.tsx:183"}, "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-6bd5d2be4c349132", "name": "TODO/FIXME marker in shipping code \u2014 components/sselfie/maya-chat-screen.tsx:4526", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/maya-chat-screen.tsx:4526"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4790a69c71fb5faa", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-screen.tsx:600", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-screen.tsx:600"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84467a757f8e1e66", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/settings-screen.tsx:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/settings-screen.tsx:197"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9795f4abf7faffd5", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-button.tsx:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-button.tsx:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7f54094164fd5e4", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/story-highlight-card.tsx:446", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/story-highlight-card.tsx:446"}, "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-5df8f303e8ecbaf6", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/story-highlight-card.tsx:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/story-highlight-card.tsx:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c423c2dfd96c225", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/image-gallery-modal.tsx:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/image-gallery-modal.tsx:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b973fa11733362b5", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/sselfie-app.tsx:1230", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/sselfie-app.tsx:1230"}, "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-e9ac3e5f341b2372", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/sselfie-app.tsx:740", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/sselfie-app.tsx:740"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2552e9360d4aaba5", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/b-roll-screen.tsx:121", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/b-roll-screen.tsx:121"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69686995fe17a77f", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/blueprint-screen.tsx:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/blueprint-screen.tsx:130"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d6d27b621fbaab8", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/brand-profile-wizard.tsx:269", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/brand-profile-wizard.tsx:269"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-082958efe9b578a9", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/academy-screen.tsx:1178", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/academy-screen.tsx:1178"}, "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-85f13c34be727f1c", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/academy-screen.tsx:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/academy-screen.tsx:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62b9217c8afd1c18", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/studio-pro-image-upload-module.tsx:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/studio-pro-image-upload-module.tsx:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32359d34acdc85d6", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/service-worker-provider.tsx:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/service-worker-provider.tsx:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-469b589df43c2f0c", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ImageUploadFlow.tsx:408", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ImageUploadFlow.tsx:408"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7be5dd03c6647144", "name": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:1238", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:1238"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a8ea2f86546115e", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:160", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx: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-319665f471589b01", "name": "Icon-only button without accessible name \u2014 components/sselfie/pro-mode/ProModeInput.tsx:256", "shortDescription": {"text": "Icon-only button without accessible name \u2014 components/sselfie/pro-mode/ProModeInput.tsx:256"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad7904ecac19ef4a", "name": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeInput.tsx:119", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeInput.tsx:119"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9670c38f7d16780", "name": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/pro-mode/ProModeHeader.tsx:87", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/pro-mode/ProModeHeader.tsx:87"}, "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-8962a3d6a85e7e7d", "name": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeChat.tsx:396", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeChat.tsx:396"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-558d5ccbf762eed6", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ProModeChat.tsx:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ProModeChat.tsx:140"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0a528caa96d72a1", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe7f16b34d521003", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:227", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:227"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27e52d5905a19d24", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-concept-cards.tsx:189", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-concept-cards.tsx:189"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09f83330f030bc84", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-training-tab.tsx:235", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-training-tab.tsx:235"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8d93d70e800cda9", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-videos-tab.tsx:188", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-videos-tab.tsx:188"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-449320b26ad247ff", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-settings.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-settings.ts:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-702561f6e2c41976", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-images.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-images.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c79f957c3f11628f", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-mode.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-mode.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9df3527cd478834a", "name": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:149", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:149"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d1e070a82eebeec", "name": "Stray `console.log` in TS/JS \u2014 components/academy/resource-card.tsx:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/resource-card.tsx:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3cfa1824187aa03d", "name": "Stray `console.log` in TS/JS \u2014 components/academy/video-player.tsx:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/video-player.tsx: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-52160dca50d78267", "name": "Stray `console.log` in TS/JS \u2014 components/academy/lesson-modal.tsx:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/lesson-modal.tsx:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-541012f26fc82759", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/academy/visibility-suite-maya-chat.tsx:274", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/academy/visibility-suite-maya-chat.tsx:274"}, "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-b0a449ae53f65bf7", "name": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/admin-content-tool-card.tsx:138", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/admin-content-tool-card.tsx:138"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-267be1e10b6a5f05", "name": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/maya-concierge.tsx:839", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/maya-concierge.tsx:839"}, "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-d60579f3dcdacdbc", "name": "Stray `console.log` in TS/JS \u2014 components/referrals/referral-dashboard.tsx:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/referrals/referral-dashboard.tsx:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-256de7ecd590f359", "name": "`truncate` class without `title=` for hover reveal \u2014 components/feed/instagram-feed-card.tsx:280", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed/instagram-feed-card.tsx:280"}, "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-022083546b07c2b8", "name": "`truncate` class without `title=` for hover reveal \u2014 components/admin/vault-drop-email-preview.tsx:224", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/admin/vault-drop-email-preview.tsx:224"}, "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-6532de3bd58c82f1", "name": "`truncate` class without `title=` for hover reveal \u2014 components/admin/shoot-studio-client.tsx:412", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/admin/shoot-studio-client.tsx:412"}, "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-ee15ee3f42ae54ae", "name": "Stray `console.log` in TS/JS \u2014 components/onboarding/base-wizard.tsx:161", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/base-wizard.tsx:161"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-489d87756360b4a9", "name": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:246", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:246"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-719d8e99bf4ac8e5", "name": "TODO/FIXME marker in shipping code \u2014 components/onboarding/unified-onboarding-wizard.tsx:425", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 components/onboarding/unified-onboarding-wizard.tsx:425"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc1b18f487715f1f", "name": "Stray `console.log` in TS/JS \u2014 components/onboarding/unified-onboarding-wizard.tsx:291", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/unified-onboarding-wizard.tsx:291"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4d4e705837b6716", "name": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-extension.tsx:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-extension.tsx:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-08a669f5e76e69e7", "name": "Stray `console.log` in TS/JS \u2014 components/upgrade/upgrade-comparison-card.tsx:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/upgrade/upgrade-comparison-card.tsx:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e13c47251631affc", "name": "Stray `console.log` in TS/JS \u2014 components/upgrade/smart-upgrade-banner.tsx:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/upgrade/smart-upgrade-banner.tsx: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-1b05b0c888c39927", "name": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-concept-card.tsx:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-concept-card.tsx:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ee8fdbeac99525d", "name": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-landing.tsx:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-landing.tsx:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a2cb6dc7e5672d35", "name": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-email-capture.tsx:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-email-capture.tsx:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17e526b08324e767", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 components/prompt-guides/prompt-guide-page-client.tsx:141", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/prompt-guides/prompt-guide-page-client.tsx:141"}, "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-03c62c8086e94282", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-grid-item.tsx:133", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-grid-item.tsx:133"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b04643115b31ad3d", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-view-screen.tsx:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-view-screen.tsx:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fbc869033064c22c", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/instagram-feed-view.tsx:314", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/instagram-feed-view.tsx:314"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-509297cc7169afed", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-style-modal.tsx:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-style-modal.tsx:136"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52fb9274968856f2", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-single-placeholder.tsx:109", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-single-placeholder.tsx:109"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f7158bcb1e1b456", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-brand-pillars.tsx:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-brand-pillars.tsx:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50bd907a8d32d7b2", "name": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-header.tsx:516", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-header.tsx:516"}, "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-32425207604a0505", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-header.tsx:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-header.tsx:101"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3950b0577647d0e", "name": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-gallery-selector.tsx:338", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-gallery-selector.tsx:338"}, "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-e1e21a5798c0b173", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-gallery-selector.tsx:142", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-gallery-selector.tsx:142"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae1d1c9789981438", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-polling.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-polling.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a7064701e2216308", "name": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-confetti.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-confetti.ts:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4206cc56ce6ddbd", "name": "Stray `console.log` in TS/JS \u2014 components/checkout/success-content.tsx:291", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/checkout/success-content.tsx:291"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da71ae709fdbbb0a", "name": "Stray `console.log` in TS/JS \u2014 components/feedback/feedback-modal.tsx:117", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 components/feedback/feedback-modal.tsx: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-44ed58a71a00f94a", "name": "Stray `console.log` in TS/JS \u2014 app/instrumentation.ts:2", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/instrumentation.ts:2"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d203861e6325fc8e", "name": "Stray `console.log` in TS/JS \u2014 app/page.tsx:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/page.tsx:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0ffa24fc77f2904", "name": "Stray `console.log` in TS/JS \u2014 app/layout.tsx:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/layout.tsx:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a40c68eeecffb6eb", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 app/layout.tsx:128", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 app/layout.tsx:128"}, "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-417d2db40320c663", "name": "Stray `console.log` in TS/JS \u2014 app/auth/setup-password/page.tsx:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/setup-password/page.tsx:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b31bd82331fe7c1f", "name": "Stray `console.log` in TS/JS \u2014 app/auth/sign-up/page.tsx:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/sign-up/page.tsx:134"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0cc9a9fe34e8bf40", "name": "Stray `console.log` in TS/JS \u2014 app/auth/login/page.tsx:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/login/page.tsx:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1841e61b57d44eb", "name": "Stray `console.log` in TS/JS \u2014 app/auth/callback/route.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/callback/route.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da8fb3d6868d77a1", "name": "Stray `console.log` in TS/JS \u2014 app/auth/forgot-password/page.tsx:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/forgot-password/page.tsx:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d44b18f68abbc4f9", "name": "Stray `console.log` in TS/JS \u2014 app/auth/confirm/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/confirm/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9164b9de6c45802e", "name": "Stray `console.log` in TS/JS \u2014 app/api/settings/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/settings/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8636092801976650", "name": "Stray `console.log` in TS/JS \u2014 app/api/settings/update/route.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/settings/update/route.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-5d422058b9f7a135", "name": "Stray `console.log` in TS/JS \u2014 app/api/upload/route.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/upload/route.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f104afed36f013b6", "name": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/route.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/route.ts:140"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-268643c56a2d8d55", "name": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/process/route.ts:574", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/process/route.ts:574"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d52518c6c3c8ed1", "name": "Stray `console.log` in TS/JS \u2014 app/api/freebie/subscribe/route.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/freebie/subscribe/route.ts:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94c601cc526a5b0a", "name": "Stray `console.log` in TS/JS \u2014 app/api/test-purchase-email/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/test-purchase-email/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3fac5bf6048cc16c", "name": "Stray `console.log` in TS/JS \u2014 app/api/auth/logout/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/auth/logout/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-636c39d224c3bb46", "name": "Stray `console.log` in TS/JS \u2014 app/api/auth/auto-confirm/route.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/auth/auto-confirm/route.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-0189e7c9c3acf331", "name": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guide/subscribe/route.ts:83", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guide/subscribe/route.ts:83"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0bda63cba21a3cd6", "name": "Stray `console.log` in TS/JS \u2014 app/api/referrals/generate-code/route.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/referrals/generate-code/route.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7f7928803276cb6", "name": "Stray `console.log` in TS/JS \u2014 app/api/referrals/track/route.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/referrals/track/route.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3e6a60ccf029842", "name": "Stray `console.log` in TS/JS \u2014 app/api/subscription/upgrade/route.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/subscription/upgrade/route.ts:78"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38f096d05b324e3d", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/route.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/route.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4daa109cd8693633", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-profile-image/route.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-profile-image/route.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f41f857c2a31f28", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-caption/route.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-caption/route.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4b3bd8b9b967cf4", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/save-highlight-image/route.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/save-highlight-image/route.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-760fa539a98358b3", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-highlights/route.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-highlights/route.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb9bedb51af807c0", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/profile-image/route.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/profile-image/route.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af837503df3ebef6", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-hashtags/route.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-hashtags/route.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3056239af34ab73d", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-post/route.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-post/route.ts:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ec7133b43cba580", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-caption/route.ts:154", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-caption/route.ts:154"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1eb66cfe63df4494", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-row/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-row/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5798622f4db4b5a0", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-strategy/route.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-strategy/route.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af35423244c9b78c", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/upload-profile-image/route.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/upload-profile-image/route.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd746263b9b70999", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/progress/route.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/progress/route.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d8ef9a13d79afa4", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-bio/route.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-bio/route.ts:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f43f192befac22fe", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/replace-post-image/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/replace-post-image/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a600a52315cef6b5", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-strategy/route.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-strategy/route.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-adc71e6accd83a11", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-profile/route.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-profile/route.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84359541ced7ac23", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/check-post/route.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/check-post/route.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-5bff50d60fc1c5f6", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-single/route.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-single/route.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86c72e6fb24e477a", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:103"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5310fefd1c9388b2", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-style/route.ts:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-style/route.ts:94"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7fb9515bb6d1a4da", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/highlight-image/route.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/highlight-image/route.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad6fa8c9f5b84928", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-caption/route.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-caption/route.ts:92"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78e25bce89d2be50", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-captions/route.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-captions/route.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-f09de0507dd56a82", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/reorder/route.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/reorder/route.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1321703cd41c66f0", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-free-example/route.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-free-example/route.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50a86e39897b4968", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/clear/route.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/clear/route.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03b2364e6fee07cd", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/mark-failed/route.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/mark-failed/route.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23efc7d35f272c78", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/cancel/route.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/cancel/route.ts:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b720a9dfb5e52d26", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-manual/route.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-manual/route.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c402519ca0ded4e9", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/refresh-concepts/route.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/refresh-concepts/route.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a451f9d1d39dec7b", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/add-more/route.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/add-more/route.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6f5a0301790d5eb", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/auto-generate/route.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/auto-generate/route.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9818211a9266aa5", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed/expand-for-paid/route.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/expand-for-paid/route.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-005a8b09cbe76d14", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/route.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/route.ts:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4495ef1709af8f9f", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/[lessonId]/route.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/[lessonId]/route.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46f8704d1523d33f", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/route.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/route.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a2764b0ee3f8668", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/[flatlayId]/route.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/[flatlayId]/route.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd0064c00f69144a", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/route.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/route.ts:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc538137a11327fb", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/[courseId]/route.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/[courseId]/route.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7499a023a6cd798c", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/testimonials/route.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/testimonials/route.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d8b372333764555", "name": "Stray `console.log` in TS/JS \u2014 app/api/admin/credits/add/route.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/credits/add/route.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b5a7fa5d5cdfae7", "name": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-extension-complete/route.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-extension-complete/route.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d8d48e12a81c6ad", "name": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-onboarding-complete/route.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-onboarding-complete/route.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f83e3e1872614e1a", "name": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/complete-blueprint-welcome/route.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/complete-blueprint-welcome/route.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-79f6fcd6c07c372f", "name": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/unified-onboarding-complete/route.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/unified-onboarding-complete/route.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80c4b933c7f43331", "name": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/base-complete/route.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/base-complete/route.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c63b9b014bb5f43", "name": "Stray `console.log` in TS/JS \u2014 app/api/studio/generate/route.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/generate/route.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-778ab5d9dfe33003", "name": "Stray `console.log` in TS/JS \u2014 app/api/studio/generations/route.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/generations/route.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e06125a23588d3f", "name": "Stray `console.log` in TS/JS \u2014 app/api/studio/session/route.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/session/route.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2dded4125c42d4f6", "name": "Stray `console.log` in TS/JS \u2014 app/api/studio/stats/route.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/stats/route.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80701ea47d501674", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/onboarding-sequence/route.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/onboarding-sequence/route.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca1231d6141f07e1", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/reindex-codebase/route.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/reindex-codebase/route.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ca73a65c57b78f2", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/reconcile-credits/route.ts:368", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/reconcile-credits/route.ts:368"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-863c1a992b1965fd", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/blueprint-followup-sequence/route.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/blueprint-followup-sequence/route.ts:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eeda2f948f5610b4", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/win-back-sequence/route.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/win-back-sequence/route.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-190c89ac30a31a26", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/send-scheduled-newsletters/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/send-scheduled-newsletters/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b167bf961861f0b5", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/sync-audience-segments/route.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/sync-audience-segments/route.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7677fc34abfacde1", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/refresh-segments/route.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/refresh-segments/route.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e110feb9cda88211", "name": "Stray `console.log` in TS/JS \u2014 app/api/cron/resolve-pending-payments/route.ts:265", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/resolve-pending-payments/route.ts:265"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a726e5b4a48ba30", "name": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/state/route.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/state/route.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-004ed7946bc62dc4", "name": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/upload-selfies/route.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/upload-selfies/route.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a357e57f0c54f8d", "name": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/subscribe/route.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/subscribe/route.ts:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7574b75e8854083f", "name": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-access-token/route.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-access-token/route.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ab4125089f7e772", "name": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-paid-status/route.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-paid-status/route.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9c978d413fca55e", "name": "Stray `console.log` in TS/JS \u2014 app/api/complete-account/route.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/complete-account/route.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8239f5cedc156b0", "name": "Stray `console.log` in TS/JS \u2014 app/api/user/info/route.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/info/route.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5efa850d0bae20bf", "name": "Stray `console.log` in TS/JS \u2014 app/api/user/profile-image/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/profile-image/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-269fff275f77d5fc", "name": "Stray `console.log` in TS/JS \u2014 app/api/user/delete/route.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/delete/route.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0a014827e2dd7ab", "name": "Stray `console.log` in TS/JS \u2014 app/api/user/profile/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/profile/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7489263987511bd5", "name": "Stray `console.log` in TS/JS \u2014 app/api/profile/personal-brand/route.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/personal-brand/route.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8fcd15af4b117c1", "name": "Stray `console.log` in TS/JS \u2014 app/api/profile/info/route.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/info/route.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d2e3789841f949b", "name": "Stray `console.log` in TS/JS \u2014 app/api/profile/best-work/route.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/best-work/route.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77bce186266314df", "name": "Stray `console.log` in TS/JS \u2014 app/api/profile/recent-work/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/recent-work/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a1e2c5bb09b900e", "name": "Stray `console.log` in TS/JS \u2014 app/api/profile/stats/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/stats/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d6fbf8dc2791564", "name": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guides/items/route.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guides/items/route.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e933237c9431875b", "name": "Stray `console.log` in TS/JS \u2014 app/api/images/delete/route.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/delete/route.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-379cf1abce4a5054", "name": "Stray `console.log` in TS/JS \u2014 app/api/images/favorite/route.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/favorite/route.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2a5e9385b427499", "name": "Stray `console.log` in TS/JS \u2014 app/api/images/bulk-save/route.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/bulk-save/route.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c51820631e3a25db", "name": "Stray `console.log` in TS/JS \u2014 app/api/stripe/apply-retention-discount/route.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/apply-retention-discount/route.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d31f1754a311061b", "name": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-portal-session/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-portal-session/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6b0db83b4095ea8", "name": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-checkout-session/route.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-checkout-session/route.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2456b361e742dbbe", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/queue-all-images/route.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/queue-all-images/route.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd437db004958d13", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-batch/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-batch/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8b2b38ac826048b", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-all-images/route.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-all-images/route.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-3671c23908681746", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/save-to-planner/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/save-to-planner/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24c5a714ba80680c", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/create-from-strategy/route.ts:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/create-from-strategy/route.ts:108"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc1085e0a4a7085c", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/welcome-status/route.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/welcome-status/route.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d63f91692a05a704", "name": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/delete-strategy/route.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/delete-strategy/route.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfb25d2d453f7601", "name": "Stray `console.log` in TS/JS \u2014 app/api/instagram/connect/route.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/connect/route.ts:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-442260fb8b4271d7", "name": "Stray `console.log` in TS/JS \u2014 app/api/instagram/test-graph-api/route.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/test-graph-api/route.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4943870efff1553c", "name": "Stray `console.log` in TS/JS \u2014 app/api/instagram/sync/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/sync/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-539c1ca78d78dcea", "name": "Stray `console.log` in TS/JS \u2014 app/api/instagram/analytics/route.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/analytics/route.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24c5c284fc54b5b8", "name": "Stray `console.log` in TS/JS \u2014 app/api/instagram/callback/route.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/callback/route.ts:116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5d506465dba3daf", "name": "Stray `console.log` in TS/JS \u2014 app/api/credits/grant-free-welcome/route.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/credits/grant-free-welcome/route.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77c9aa83dcf11f7c", "name": "Stray `console.log` in TS/JS \u2014 app/api/quota/decrement/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/quota/decrement/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a7c2fffa90876ae", "name": "Stray `console.log` in TS/JS \u2014 app/api/quota/status/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/quota/status/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18681a875daa9b1e", "name": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/resend/route.ts:616", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/resend/route.ts:616"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e619c226b05c13c", "name": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/stripe/route.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/stripe/route.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a1003fbbc3943dc", "name": "Stray `console.log` in TS/JS \u2014 app/api/ai-prompts/subscribe/route.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/ai-prompts/subscribe/route.ts:80"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d9f3e1ef3b02b7b", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro-prompts/route.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro-prompts/route.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad961888f1aec304", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/create-photoshoot/route.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/create-photoshoot/route.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bdd55ea3fdba897", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-concepts/route.ts:353", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-concepts/route.ts:353"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa27adf059927ef3", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/create-carousel/route.ts:93", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/create-carousel/route.ts:93"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4eab06d75a03e6d4", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/generate-grid/route.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/generate-grid/route.ts:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b005ee1a09a984b", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f61a8e2420a7d620", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/start-session/route.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/start-session/route.ts:48"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9a3cf4edf240855", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/get/route.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/get/route.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-719b4ff42eac7ef3", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/clear/route.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/clear/route.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb1a309eeff1cbb4", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/update/route.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/update/route.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7067fddfdf45ba86", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/check-generation/route.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/check-generation/route.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1dd6bdf310a3849", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-concepts/route.ts:302", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-concepts/route.ts:302"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-15e61484ab9adcac", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/chat/route.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/chat/route.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1aa4bde760e9930c", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-image/route.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-image/route.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-d8af47c61b38dafa", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-physical-preferences/route.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-physical-preferences/route.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47f7f1129da0b4af", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image-openai/route.ts:393", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image-openai/route.ts:393"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfddc13b8084f439", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-caption/route.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-caption/route.ts:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ddfff78872c2c2a", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/research/route.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/research/route.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91ab8bf732932d1d", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/chats/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/chats/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-087bb63496409962", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/chat/route.ts:723", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/chat/route.ts:723"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcb5af7f830eaf6f", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/load-chat/route.ts:241", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/load-chat/route.ts:241"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d4eb0dafe3b404d", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-message/route.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-message/route.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8d68596987896c5", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-photoshoot-prediction/route.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-photoshoot-prediction/route.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-2d288b92647043f4", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-video/route.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-video/route.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f7b59e159ed0289", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-studio-pro/route.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-studio-pro/route.ts:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c97d4869271af2dc", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro/route.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro/route.ts:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d48f5d5b870e6b35", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/videos/route.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/videos/route.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f63d0d13ab73a5e", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/content-pillars/route.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/content-pillars/route.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6be0c760c31c1e5", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/get-photoshoot/route.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/get-photoshoot/route.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-1f48f587c042f60e", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-video/route.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-video/route.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54e92b81eccc01fe", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/save-message/route.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/save-message/route.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-566135a59c3960ce", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/new-chat/route.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/new-chat/route.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-699a313fcfb44c3f", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image/route.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image/route.ts:80"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1aecd450baf73660", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-video/route.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-video/route.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-ef9f31838e7aa73c", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-chat/route.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-chat/route.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c0cdf6b9a05e430", "name": "Stray `console.log` in TS/JS \u2014 app/api/maya/b-roll-images/route.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/b-roll-images/route.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00d1e22141976139", "name": "Stray `console.log` in TS/JS \u2014 app/api/feedback/route.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/route.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-327de7ab82e3a078", "name": "Stray `console.log` in TS/JS \u2014 app/api/feedback/upload-image/route.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/upload-image/route.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54dd1c781142233c", "name": "Stray `console.log` in TS/JS \u2014 app/api/feedback/ai-response/route.ts:368", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/ai-response/route.ts:368"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-118de4f5b601d349", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/create-zip-from-blobs/route.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/create-zip-from-blobs/route.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f691c553bbd43712", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/upload/route.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload/route.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2982b70bd6036b19", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-token/route.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-token/route.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b22a8031130af112", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/start-training/route.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/start-training/route.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a221aacd30ea7aa4", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/progress/route.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/progress/route.ts:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ec1d53468814797", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/sync-version/route.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/sync-version/route.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e868d3dbc928efe", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/cancel/route.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/cancel/route.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-651903ed9850bbd0", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-zip/route.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-zip/route.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b486a9d3678f77a", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/start/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/start/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a9c7fe623a73e8f", "name": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-images/route.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-images/route.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b07e9594ec49aee9", "name": "`truncate` class without `title=` for hover reveal \u2014 app/admin/webhook-review/page.tsx:170", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/webhook-review/page.tsx:170"}, "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-310e840efbdec002", "name": "`truncate` class without `title=` for hover reveal \u2014 app/admin/customer-support/page.tsx:280", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/customer-support/page.tsx:280"}, "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-289438eeb004885f", "name": "`truncate` class without `title=` for hover reveal \u2014 app/admin/prompt-vault/page.tsx:609", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/prompt-vault/page.tsx:609"}, "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-aec1f122833b9201", "name": "`truncate` class without `title=` for hover reveal \u2014 app/admin/academy/page.tsx:1246", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/academy/page.tsx:1246"}, "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-d9c7e892220cbf2c", "name": "Stray `console.log` in TS/JS \u2014 app/admin/academy/page.tsx:616", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/admin/academy/page.tsx:616"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5c9defd7f4ca160", "name": "Stray `console.log` in TS/JS \u2014 app/admin/testimonials/page.tsx:143", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/admin/testimonials/page.tsx:143"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbfb04c95543b02a", "name": "Stray `console.log` in TS/JS \u2014 app/studio/page.tsx:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/studio/page.tsx:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24b9dfe5098c4f67", "name": "Stray `console.log` in TS/JS \u2014 app/sw.js/route.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/sw.js/route.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93f297b2d2da36ac", "name": "Stray `console.log` in TS/JS \u2014 app/actions/auto-confirm-user.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/auto-confirm-user.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-953ddff000e53f52", "name": "Stray `console.log` in TS/JS \u2014 app/actions/stripe.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/stripe.ts:140"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b15eab00a6fe896", "name": "Stray `console.log` in TS/JS \u2014 app/actions/landing-checkout.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/landing-checkout.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77f85eaeb9a75e36", "name": "Stray `console.log` in TS/JS \u2014 app/actions/reset-passwords.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/reset-passwords.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7e0f81e9176e59c", "name": "Stray `console.log` in TS/JS \u2014 app/actions/upgrade-checkout.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/upgrade-checkout.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd48ecb9b2dfd459", "name": "Stray `console.log` in TS/JS \u2014 app/actions/migrate-users.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/migrate-users.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff67980b0643d1fa", "name": "Stray `console.log` in TS/JS \u2014 app/feed-planner/feed-planner-client.tsx:186", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/feed-planner/feed-planner-client.tsx:186"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d49ca33443c0d01", "name": "Stray `console.log` in TS/JS \u2014 app/checkout/blueprint/page.tsx:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/checkout/blueprint/page.tsx:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b671449bc570ab8", "name": "Stray `console.log` in TS/JS \u2014 app/maya/page.tsx:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/maya/page.tsx:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a994e2884af61380", "name": "Stray `console.log` in TS/JS \u2014 lib/nano-banana-client.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/nano-banana-client.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec38f06c9a7e4a9a", "name": "Stray `console.log` in TS/JS \u2014 lib/storage.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/storage.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fde378fb78e3f8fa", "name": "Stray `console.log` in TS/JS \u2014 lib/analytics.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/analytics.ts:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc2f085006debd75", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-progress.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-progress.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-876f2e866631d30c", "name": "Stray `console.log` in TS/JS \u2014 lib/user-mapping.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/user-mapping.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-52a06a81e17667aa", "name": "Stray `console.log` in TS/JS \u2014 lib/webhook-deduplication.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/webhook-deduplication.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f61eba44abf39a", "name": "Stray `console.log` in TS/JS \u2014 lib/auth-helper.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/auth-helper.ts:138"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdaa109c3738586e", "name": "Stray `console.log` in TS/JS \u2014 lib/subscription.ts:163", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/subscription.ts:163"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-325b53bb361c1e17", "name": "Stray `console.log` in TS/JS \u2014 lib/upstash-vector.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/upstash-vector.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75a9e5564950377a", "name": "Stray `console.log` in TS/JS \u2014 lib/credits.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/credits.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de6200261b499a8a", "name": "Stray `console.log` in TS/JS \u2014 lib/replicate-polling.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-polling.ts:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20cbeb96eb69cf47", "name": "Stray `console.log` in TS/JS \u2014 lib/rate-limit.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/rate-limit.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-8d8a2d80d65d1881", "name": "Stray `console.log` in TS/JS \u2014 lib/webhook-monitoring.tsx:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/webhook-monitoring.tsx:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69ef822baa742e23", "name": "Stray `console.log` in TS/JS \u2014 lib/replicate-client.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-client.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef5fe7a235dfd452", "name": "Stray `console.log` in TS/JS \u2014 lib/replicate-sync.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-sync.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1c3784e1edf1632", "name": "Stray `console.log` in TS/JS \u2014 lib/logger.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/logger.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-727e42daa3031333", "name": "Stray `console.log` in TS/JS \u2014 lib/email/segmentation.ts:234", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/segmentation.ts:234"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4dd70a1b9bd23eec", "name": "Stray `console.log` in TS/JS \u2014 lib/email/send-newsletter-broadcast.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/send-newsletter-broadcast.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b45e5abf98f22631", "name": "Stray `console.log` in TS/JS \u2014 lib/email/transactional-sender.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/transactional-sender.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-811991718dd8fe18", "name": "Stray `console.log` in TS/JS \u2014 lib/email/marketing-sender.ts:233", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/marketing-sender.ts:233"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d410614e43718762", "name": "Stray `console.log` in TS/JS \u2014 lib/email/send-email.ts:83", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/send-email.ts:83"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d8bff516457ba13", "name": "Stray `console.log` in TS/JS \u2014 lib/ai/embeddings.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/ai/embeddings.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-1d02d8b8cf25dda0", "name": "Stray `console.log` in TS/JS \u2014 lib/referrals/trigger-referral-email.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/referrals/trigger-referral-email.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbb1b1ea08a68f6c", "name": "Stray `console.log` in TS/JS \u2014 lib/resend/auto-sync-user.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/auto-sync-user.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-474dec8e7a18aac0", "name": "Stray `console.log` in TS/JS \u2014 lib/resend/manage-contact.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/manage-contact.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc6e8d77d38c749c", "name": "Stray `console.log` in TS/JS \u2014 lib/resend/get-audience-contacts.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/get-audience-contacts.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bbe921de9c61aa4", "name": "Stray `console.log` in TS/JS \u2014 lib/quality/reporting.ts:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/quality/reporting.ts:67"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-438804e97559cb66", "name": "Stray `console.log` in TS/JS \u2014 lib/quality/prompt-quality-baseline.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/quality/prompt-quality-baseline.ts:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e7507fc501c6446", "name": "Stray `console.log` in TS/JS \u2014 lib/instagram-strategist/caption-logic.tsx:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/instagram-strategist/caption-logic.tsx:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c813550ac92e925f", "name": "Stray `console.log` in TS/JS \u2014 lib/generation/prompt/legacy-authority.ts:219", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/generation/prompt/legacy-authority.ts:219"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac621e86ce861417", "name": "Stray `console.log` in TS/JS \u2014 lib/audience/segment-sync.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/audience/segment-sync.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-e8c296b997ed9391", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/shared.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/shared.ts:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0633d9f16827bab", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/subscription-events.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/subscription-events.ts:81"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4af8264c7b03445", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/checkout-session-completed.ts:246", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/checkout-session-completed.ts:246"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d31461e6bd25b7ce", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/invoice-paid.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/invoice-paid.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b9a170ed8dadd49", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/transform.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/transform.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-287de2a8f81009e2", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/prompt-vault.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/prompt-vault.ts:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f3cc43f2aeb8a48", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-to-brand-shoot.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-to-brand-shoot.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebfe772f6352ef8e", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/one-time-session.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/one-time-session.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e1a86d0a90aadfb", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/paid-blueprint.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/paid-blueprint.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d49dade5169c193", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/starter-kit.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/starter-kit.ts:85"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8876382cecd8ab19", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/brand-strategy-pack.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/brand-strategy-pack.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63e449db4f19b0df", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/studio-membership.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/studio-membership.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a99a80d4d28aeef5", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/masterclass.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/masterclass.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3c071c87b57871b", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-guide.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-guide.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a2bf8de0a92662e", "name": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/credit-topup.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/credit-topup.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-726286680095858c", "name": "Stray `console.log` in TS/JS \u2014 lib/hooks/use-feed-post-polling.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/hooks/use-feed-post-polling.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-257d14b732510d13", "name": "Stray `console.log` in TS/JS \u2014 lib/supabase/middleware.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/supabase/middleware.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d4b1fb2f07c36c6", "name": "Stray `console.log` in TS/JS \u2014 lib/supabase/client.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/supabase/client.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1036e5e6c66a156", "name": "Stray `console.log` in TS/JS \u2014 lib/stripe/stripe-live-metrics.ts:229", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/stripe/stripe-live-metrics.ts:229"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d85c862509fbf925", "name": "Stray `console.log` in TS/JS \u2014 lib/stripe/validate-pricing-config.ts:149", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/stripe/validate-pricing-config.ts:149"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42523783a6b6032e", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/queue-images.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/queue-images.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f957f28327493aef", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/access-control.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/access-control.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a3949b1b93b50d2", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-prompt-expert.ts:340", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-prompt-expert.ts:340"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51dcc10bee086a46", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-prompt-loader.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-prompt-loader.ts:138"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73eafc45bc21972c", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/style-coherence-resolver.ts:247", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/style-coherence-resolver.ts:247"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49cbf50c21d236fe", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/caption-writer.ts:195", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/caption-writer.ts:195"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8bb394bd7f1be71", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-generation.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-generation.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1680518f0824e76f", "name": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/instagram-strategy-agent.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/instagram-strategy-agent.ts:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcca051b86d98074", "name": "Stray `console.log` in TS/JS \u2014 lib/instagram-bio-strategist/bio-logic.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/instagram-bio-strategist/bio-logic.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-981510a43edf9c70", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/direct-prompt-generation.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/direct-prompt-generation.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0786053142b1e1cf", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-generation-handler.ts:330", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-generation-handler.ts:330"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eaef5035489c523e", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-constructor.ts:451", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-constructor.ts:451"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-130d5e7e7c2aeba0", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/incident-recorder.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/incident-recorder.ts:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c988a3be7f44f113", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy.ts:165", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy.ts:165"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f68f47f0b459f4e", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/user-preferences.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/user-preferences.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56348837101fffeb", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/nano-banana-prompt-builder.ts:410", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/nano-banana-prompt-builder.ts:410"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3503a5f5c9466c01", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/motion-similarity.ts:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/motion-similarity.ts:134"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-274baf3054adac5c", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/get-user-context.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/get-user-context.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e521c9804a06ad6f", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy-handler.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy-handler.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8030be86c250f731", "name": "TODO/FIXME marker in shipping code \u2014 lib/maya/pro/category-system.ts:196", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 lib/maya/pro/category-system.ts:196"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce2c7f93703a9f5d", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/category-system.ts:186", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/category-system.ts:186"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f957cb6b9234325b", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/prompt-architecture.ts:179", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/prompt-architecture.ts:179"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d4d979ad40e30293", "name": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-builders/guide-prompt-handler.ts:456", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-builders/guide-prompt-handler.ts:456"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c0675eb7940641b", "name": "TODO/FIXME marker in shipping code \u2014 lib/maya/prompt-components/universal-prompts-raw.ts:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 lib/maya/prompt-components/universal-prompts-raw.ts:21"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d37817440ad95803", "name": "Stray `console.log` in TS/JS \u2014 lib/revenue/db-revenue-metrics.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/revenue/db-revenue-metrics.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-846c6477ccd97fb7", "name": "Privileged port 8 in use", "shortDescription": {"text": "Privileged port 8 in use"}, "fullDescription": {"text": "Port 8 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cdff6bea40f621e", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-97ef9475bbadcc89", "name": "Insecure pattern 'direct_innerhtml_assignment' in prototype-ai-products.html:1544", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prototype-ai-products.html:1544"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9115aad0c9d9407a", "name": "Insecure pattern 'node_child_process' in scripts/push-supabase-next-public-to-vercel.mjs:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/push-supabase-next-public-to-vercel.mjs:10"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c7c7bb9aefca1bb5", "name": "Insecure pattern 'node_child_process' in scripts/cleanup-console-logs.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/cleanup-console-logs.ts:9"}, "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-d0dea451d93e2cdb", "name": "Possible secret in scripts/22-migrate-users-to-supabase-auth.ts", "shortDescription": {"text": "Possible secret in scripts/22-migrate-users-to-supabase-auth.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-6ea8444501934545", "name": "Insecure pattern 'node_child_process' in scripts/run-automation-daily.mjs:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/run-automation-daily.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-2ec74916e510e069", "name": "Insecure pattern 'node_child_process' in scripts/fix-orphaned-object-literals.ts:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fix-orphaned-object-literals.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-478a00242548a010", "name": "Insecure pattern 'node_child_process' in scripts/maya-ui-health-engine.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/maya-ui-health-engine.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e8cbebe097eb116", "name": "Insecure pattern 'node_child_process' in scripts/extract-reel-references.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/extract-reel-references.ts:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e9beb5c044f4ef67", "name": "Insecure pattern 'node_child_process' in scripts/maya-quality-audit.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/maya-quality-audit.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f9ab8c5658778fb", "name": "Insecure pattern 'node_child_process' in scripts/run-core-diagnostics.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/run-core-diagnostics.mjs:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d92d353ed0928361", "name": "Insecure pattern 'node_child_process' in scripts/sync-env-to-vercel.mjs:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/sync-env-to-vercel.mjs:13"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-496c459dbb087c87", "name": "Insecure pattern 'node_child_process' in scripts/daily-maintenance.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/daily-maintenance.ts:6"}, "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-709ed51d4ff238b6", "name": "Possible secret in scripts/test-decision2-setup.ts", "shortDescription": {"text": "Possible secret in scripts/test-decision2-setup.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-0027c5ce2190af4b", "name": "Insecure pattern 'node_child_process' in scripts/monitoring/1-dead-routes-audit.mjs:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/monitoring/1-dead-routes-audit.mjs:16"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65f790c6b9dbbc43", "name": "Insecure pattern 'node_child_process' in scripts/monitoring/03-cron-status-report.js:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/monitoring/03-cron-status-report.js:13"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-81a37f117178010c", "name": "Insecure pattern 'node_child_process' in scripts/audit/dead-code-hunter.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/audit/dead-code-hunter.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b81da0d091f8e16a", "name": "Insecure pattern 'node_child_process' in scripts/audit/upgrade-readiness-check.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/audit/upgrade-readiness-check.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef354c0f2af0e73e", "name": "Insecure pattern 'dangerous_innerhtml' in components/academy/visibility-suite-maya-chat.tsx:274", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in components/academy/visibility-suite-maya-chat.tsx:274"}, "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-c7a2d8b189037b48", "name": "Insecure pattern 'local_storage_auth_token' in components/blueprint/blueprint-email-capture.tsx:107", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in components/blueprint/blueprint-email-capture.tsx:107"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fa7f79b8159db50", "name": "Insecure pattern 'dangerous_innerhtml' in components/prompt-guides/prompt-guide-page-client.tsx:141", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in components/prompt-guides/prompt-guide-page-client.tsx:141"}, "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-c219876c73adf817", "name": "Insecure pattern 'dangerous_innerhtml' in app/layout.tsx:128", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in app/layout.tsx:128"}, "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-4cb7d8785dc0a9ca", "name": "Possible secret in app/actions/reset-passwords.ts", "shortDescription": {"text": "Possible secret in app/actions/reset-passwords.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-1619f7b5bbd2eef6", "name": "Possible secret in app/actions/migrate-users.ts", "shortDescription": {"text": "Possible secret in app/actions/migrate-users.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-13284d0c9c17d1eb", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/get_paid/index.html:855", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/get_paid/index.html:855"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-75c0be0fd2bb2aff", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/show_up/index.html:846", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/show_up/index.html:846"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1b1ffbf374a0305b", "name": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/what_to_say/index.html:889", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/what_to_say/index.html:889"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4af823dd65b289ce", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@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-35cf63186abb9b59", "name": "Very large file: components/freebie/selfie-guide-experience.tsx (2605 lines)", "shortDescription": {"text": "Very large file: components/freebie/selfie-guide-experience.tsx (2605 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-5923180892f90b45", "name": "Very large file: components/sselfie/concept-card.tsx (2437 lines)", "shortDescription": {"text": "Very large file: components/sselfie/concept-card.tsx (2437 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-23a08a91711a9cac", "name": "Very large file: components/sselfie/maya-chat-screen.tsx (4643 lines)", "shortDescription": {"text": "Very large file: components/sselfie/maya-chat-screen.tsx (4643 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-dd5c355f854bc04b", "name": "Very large file: components/sselfie/sselfie-app.tsx (1678 lines)", "shortDescription": {"text": "Very large file: components/sselfie/sselfie-app.tsx (1678 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-5f5dd6e55fa00187", "name": "Very large file: components/sselfie/academy-screen.tsx (1415 lines)", "shortDescription": {"text": "Very large file: components/sselfie/academy-screen.tsx (1415 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-ab710fcf47229003", "name": "Very large file: components/sselfie/public-marketing.tsx (1578 lines)", "shortDescription": {"text": "Very large file: components/sselfie/public-marketing.tsx (1578 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-64553cdbc022b306", "name": "Very large file: components/sselfie/pro-mode/ImageUploadFlow.tsx (1763 lines)", "shortDescription": {"text": "Very large file: components/sselfie/pro-mode/ImageUploadFlow.tsx (1763 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-f88f8b528ab93c8e", "name": "Very large file: components/sselfie/pro-mode/ConceptCardPro.tsx (1949 lines)", "shortDescription": {"text": "Very large file: components/sselfie/pro-mode/ConceptCardPro.tsx (1949 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-84c4dcc612c6bcab", "name": "Very large file: components/sselfie/maya/maya-chat-interface.tsx (2222 lines)", "shortDescription": {"text": "Very large file: components/sselfie/maya/maya-chat-interface.tsx (2222 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-b781de326f074a51", "name": "Very large file: components/sselfie/maya/maya-prompts-tab.tsx (1665 lines)", "shortDescription": {"text": "Very large file: components/sselfie/maya/maya-prompts-tab.tsx (1665 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-a332ae5e2c9b8237", "name": "Very large file: components/app-v3/maya-concierge.tsx (1515 lines)", "shortDescription": {"text": "Very large file: components/app-v3/maya-concierge.tsx (1515 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-7c2c4df16d7aaf1a", "name": "Very large file: components/selfie-to-brand-shoot/system-shell.tsx (1621 lines)", "shortDescription": {"text": "Very large file: components/selfie-to-brand-shoot/system-shell.tsx (1621 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-45c67b78ea229f3c", "name": "Very large file: components/selfie-to-brand-shoot/course-shell-v1.tsx (5053 lines)", "shortDescription": {"text": "Very large file: components/selfie-to-brand-shoot/course-shell-v1.tsx (5053 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-06279854e30918ee", "name": "Very large file: components/checkout/success-content.tsx (1668 lines)", "shortDescription": {"text": "Very large file: components/checkout/success-content.tsx (1668 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-f300d6de64362b50", "name": "Very large file: app/api/feed-planner/create-from-strategy/route.ts (1227 lines)", "shortDescription": {"text": "Very large file: app/api/feed-planner/create-from-strategy/route.ts (1227 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-c738ea50a73bbf3a", "name": "Very large file: app/api/maya/generate-concepts/route.ts (2798 lines)", "shortDescription": {"text": "Very large file: app/api/maya/generate-concepts/route.ts (2798 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-2162fd74d6e68283", "name": "Very large file: app/api/maya/chat/route.ts (3210 lines)", "shortDescription": {"text": "Very large file: app/api/maya/chat/route.ts (3210 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-466817e4a2d3db0d", "name": "Very large file: app/admin/academy/page.tsx (2594 lines)", "shortDescription": {"text": "Very large file: app/admin/academy/page.tsx (2594 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-d9c2950b6ea2a49e", "name": "Very large file: app/ai-prompts/access/[token]/page.tsx (1702 lines)", "shortDescription": {"text": "Very large file: app/ai-prompts/access/[token]/page.tsx (1702 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-ea071ae230e645da", "name": "Very large file: lib/styling/vibe-libraries.ts (4792 lines)", "shortDescription": {"text": "Very large file: lib/styling/vibe-libraries.ts (4792 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-49fb5816fc308943", "name": "Very large file: lib/generation/prompt/legacy-authority.ts (2344 lines)", "shortDescription": {"text": "Very large file: lib/generation/prompt/legacy-authority.ts (2344 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-74add7984a535b34", "name": "Very large file: lib/payments/lifecycle/checkout-session-completed.ts (1457 lines)", "shortDescription": {"text": "Very large file: lib/payments/lifecycle/checkout-session-completed.ts (1457 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-d944dab4f2c35d30", "name": "Very large file: lib/ai-prompts/prompt-data.ts (2717 lines)", "shortDescription": {"text": "Very large file: lib/ai-prompts/prompt-data.ts (2717 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-93a6dc81b39af000", "name": "Very large file: lib/maya/studio-pro-system-prompt.ts (1238 lines)", "shortDescription": {"text": "Very large file: lib/maya/studio-pro-system-prompt.ts (1238 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-e61ccb998f3ed50f", "name": "Very large file: lib/maya/asset-generation.ts (2839 lines)", "shortDescription": {"text": "Very large file: lib/maya/asset-generation.ts (2839 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-27e3cd45557702f0", "name": "Very large file: lib/maya/pro/influencer-outfits.ts (1983 lines)", "shortDescription": {"text": "Very large file: lib/maya/pro/influencer-outfits.ts (1983 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-1d2942c300c1d8d6", "name": "Very large file: lib/maya/prompt-templates/high-end-brands/travel-lifestyle.ts (1184 lines)", "shortDescription": {"text": "Very large file: lib/maya/prompt-templates/high-end-brands/travel-lifestyle.ts (1184 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-8696c6608ec846ac", "name": "Very large file: lib/maya/universal-prompts/index.ts (1223 lines)", "shortDescription": {"text": "Very large file: lib/maya/universal-prompts/index.ts (1223 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "278 tests / 1584 src (ratio 0.18)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 8164 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 521 placeholder/mock markers across 162 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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. 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-e40ed52410a7ea5d", "name": "Agent authority lacks a verifier contract: .claude/skills/onboarding-cro/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/onboarding-cro/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11cdee1d4c9c7b2f", "name": "Agent authority lacks a verifier contract: skills/architecture-simplifier/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/architecture-simplifier/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35cce6821b859b1f", "name": "Agent authority lacks a verifier contract: skills/integration-health-check/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/integration-health-check/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c46fa74b4078e4ee", "name": "Agent authority lacks a verifier contract: skills/funnel-integrity-audit/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/funnel-integrity-audit/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51ffd2fda26b0e84", "name": "Agent authority lacks a verifier contract: skills/gravity-scanner/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/gravity-scanner/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4db32af2a07f300d", "name": "Agent authority lacks a verifier contract: skills/user-journey-scanner/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/user-journey-scanner/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d3bc6b0dd0b76054", "name": "Agent authority lacks a verifier contract: skills/prompt-authority-inspector/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/prompt-authority-inspector/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-725b8f790e04db2b", "name": "Agent authority lacks a verifier contract: skills/repo-cartographer/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/repo-cartographer/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de1865e628f4eb69", "name": "Agent authority lacks a verifier contract: skills/upgrade-readiness-check/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/upgrade-readiness-check/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4706777f311efb3b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 send-broadcast.js:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 send-broadcast.js:154"}, "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-d974b8e17584d76e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-onboarding-segment-env.ts:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-onboarding-segment-env.ts:30"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a8f2dfad79d7f32b", "name": "Commented-code block (5 lines) in scripts/bridge-01-trial-backfill.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/bridge-01-trial-backfill.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8da1e5ea9c3de0b5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/set-vercel-onboarding-segments.ts:45", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/set-vercel-onboarding-segments.ts:45"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eb18fe551a10850d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-verification.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-verification.ts:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce28163e75e316ff", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/provision-resend-segments.ts:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/provision-resend-segments.ts:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0706ad878a864627", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-resend-pagination.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-resend-pagination.ts: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-7f8ccada994ca0c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/send-prompt-vault-launch.mjs:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/send-prompt-vault-launch.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-82a7251c24784f79", "name": "Legacy-named symbol `feed_styles_v2` in scripts/seed-feed-planner-v2.ts:46", "shortDescription": {"text": "Legacy-named symbol `feed_styles_v2` in scripts/seed-feed-planner-v2.ts:46"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef717bf25c3e00db", "name": "Legacy-named symbol `feed_styles_v2` in scripts/import-feed-style-variations-v2.ts:43", "shortDescription": {"text": "Legacy-named symbol `feed_styles_v2` in scripts/import-feed-style-variations-v2.ts:43"}, "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-108fcf48a14cd16a", "name": "Commented-code block (6 lines) in scripts/upgrade-beta-customer.ts:178", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/upgrade-beta-customer.ts:178"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83c97384140600c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/create-resend-sequence-segments.ts:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/create-resend-sequence-segments.ts:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c584aabc96a26b6a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/extract-reel-references.ts:77", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/extract-reel-references.ts:77"}, "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-01bbf5f157bf939f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-resend-setup.ts:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-resend-setup.ts:42"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6bcd015ec7dfc97e", "name": "Commented-code block (5 lines) in scripts/setup-content-reel-references.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/setup-content-reel-references.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-02d59367db5e136f", "name": "Commented-code block (5 lines) in scripts/setup-content-style-references.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/setup-content-style-references.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-54c8a08d525dddf1", "name": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.ts:72", "shortDescription": {"text": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.ts:72"}, "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-5b3071e16f0a0fa8", "name": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.mjs:71", "shortDescription": {"text": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.mjs:71"}, "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-71dd4ede0d7b7749", "name": "Commented-code block (5 lines) in scripts/test-maya-pro-mode-restoration.ts:145", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/test-maya-pro-mode-restoration.ts:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13adce62735b5e9e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/list-resend-segments.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/list-resend-segments.ts:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-162bed7c943b5ffe", "name": "Commented-code block (5 lines) in scripts/verify-shipped-slides.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/verify-shipped-slides.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-c31ad55613b21f7b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-shipped-slides.ts:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-shipped-slides.ts:59"}, "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-00c09c8410068e03", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reconcile-subscriber-counts.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reconcile-subscriber-counts.ts:27"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d54a653b111492bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/prototype-cover-slide.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/prototype-cover-slide.ts:36"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71efbfe94f49bbfc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-api.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-api.ts:27"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d7af43029c4cab7", "name": "Legacy-named symbol `use_feed_planner_v2` in scripts/migrations/run-enable-feed-planner-v2-for-all.ts:32", "shortDescription": {"text": "Legacy-named symbol `use_feed_planner_v2` in scripts/migrations/run-enable-feed-planner-v2-for-all.ts:32"}, "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-ac94932d97187576", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/freebie/selfie-guide-experience.tsx:1356", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/freebie/selfie-guide-experience.tsx:1356"}, "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-ecbca847caed35a5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/content-calendar-screen.tsx:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/content-calendar-screen.tsx:10"}, "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-e6ee7213fa66b0ae", "name": "Commented-code block (6 lines) in components/sselfie/concept-card.tsx:706", "shortDescription": {"text": "Commented-code block (6 lines) in components/sselfie/concept-card.tsx:706"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e608266d50c3c080", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/concept-card.tsx:615", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/concept-card.tsx:615"}, "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-da2104598471b4e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/feed-publishing-hub.tsx:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/feed-publishing-hub.tsx: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-e188b6abee4603b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-history.tsx:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-history.tsx:33"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2378817395ce62a4", "name": "Commented-code block (5 lines) in components/sselfie/maya-chat-screen.tsx:435", "shortDescription": {"text": "Commented-code block (5 lines) in components/sselfie/maya-chat-screen.tsx:435"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3da5935e03c5e000", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-screen.tsx:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-screen.tsx:106"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-86e8586f5b1f178a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/onboarding-wizard.tsx:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/onboarding-wizard.tsx:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f1c0310fd4c1058", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/profile-screen.tsx:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/profile-screen.tsx:71"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25dff43b580b144f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/story-highlight-card.tsx:196", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/story-highlight-card.tsx:196"}, "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-455414b688717e6a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery-screen.tsx:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery-screen.tsx:52"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ced364454263f2f", "name": "Commented-code block (5 lines) in components/sselfie/sselfie-app.tsx:774", "shortDescription": {"text": "Commented-code block (5 lines) in components/sselfie/sselfie-app.tsx:774"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac2168ee77871bc5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/sselfie-app.tsx:179", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/sselfie-app.tsx:179"}, "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-82ec432e652ac0d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/b-roll-screen.tsx:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/b-roll-screen.tsx: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-e827cb079e9b8231", "name": "Commented-code block (6 lines) in components/sselfie/blueprint-screen.tsx:575", "shortDescription": {"text": "Commented-code block (6 lines) in components/sselfie/blueprint-screen.tsx:575"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0267cf0b74ca5623", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/blueprint-screen.tsx:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/blueprint-screen.tsx:18"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9e9bc45ca8dc38a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/academy-screen.tsx:424", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/academy-screen.tsx:424"}, "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-8598abce21f6c051", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/studio-pro-image-upload-module.tsx:216", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/studio-pro-image-upload-module.tsx:216"}, "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-8e89b2e10d1a3da9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/account-screen.tsx:131", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/account-screen.tsx:131"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d34fa49c9e98ffb1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/retrain-model-modal.tsx:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/retrain-model-modal.tsx:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59498ee3629cdd02", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/utils/bulk-download.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/utils/bulk-download.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-03edde6a8ae5879b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-feed-images.ts:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-feed-images.ts:7"}, "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-dbf8955c6ccdf140", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-images.ts:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-images.ts:7"}, "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-1215add65bf6b5aa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:482", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:482"}, "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-ecf9060c76cc815e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ProModeChatHistory.tsx:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ProModeChatHistory.tsx:46"}, "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-b5de16b7c37d7c36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.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-a22143a2f82b0465", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:142"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6152fdb7ad570283", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useProModeChat.ts:144", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useProModeChat.ts:144"}, "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-966981c32d9a4191", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-training-tab.tsx:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-training-tab.tsx:19"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4c0046120667fa4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-prompts-tab.tsx:147", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-prompts-tab.tsx:147"}, "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-5d3de75e3bdd2e8f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-welcome-panel.tsx:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-welcome-panel.tsx: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-638b4bf9bf56d2ef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-videos-tab.tsx:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-videos-tab.tsx:53"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87c2a020d4443058", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/welcome-first-generation-flow.tsx:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/welcome-first-generation-flow.tsx:115"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f77b7f3f563f73a1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-studio-copilot-home.tsx:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-studio-copilot-home.tsx:16"}, "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-75e9931572d40cd6", "name": "Commented-code block (5 lines) in components/sselfie/maya/hooks/use-maya-chat.ts:303", "shortDescription": {"text": "Commented-code block (5 lines) in components/sselfie/maya/hooks/use-maya-chat.ts:303"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c34de48419d240b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:321", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:321"}, "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-06586b88b4c153a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/academy/in-app-lesson-viewer.tsx:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/academy/in-app-lesson-viewer.tsx:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b13a0d857c82754", "name": "Commented-code block (7 lines) in components/academy/video-player.tsx:24", "shortDescription": {"text": "Commented-code block (7 lines) in components/academy/video-player.tsx:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47376852ec94334b", "name": "Commented-code block (5 lines) in components/app-v3/generate-image-client.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in components/app-v3/generate-image-client.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-28c8a598e9b5f113", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/concierge-context.tsx:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/concierge-context.tsx:82"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af1c3978042d1ca9", "name": "Commented-code block (5 lines) in components/app-v3/concept-card.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in components/app-v3/concept-card.tsx: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-a0f61a1610872f44", "name": "Commented-code block (5 lines) in components/app-v3/account-view.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in components/app-v3/account-view.tsx: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-30e202b70e0fc234", "name": "Commented-code block (8 lines) in components/app-v3/app-v3-shell.tsx:3", "shortDescription": {"text": "Commented-code block (8 lines) in components/app-v3/app-v3-shell.tsx: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-59845bb15789c98e", "name": "Commented-code block (5 lines) in components/app-v3/content-view.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in components/app-v3/content-view.tsx: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-a73f199f16524fa4", "name": "Commented-code block (6 lines) in components/app-v3/library-view.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in components/app-v3/library-view.tsx: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-5669c3ae982c557d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/maya-concierge.tsx:459", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/maya-concierge.tsx:459"}, "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-f2e6c7d36c3ab3b4", "name": "Commented-code block (5 lines) in components/app-v3/visual-front-door.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in components/app-v3/visual-front-door.tsx: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-104cae71c5458ea3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/social-share-button.tsx:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/social-share-button.tsx:8"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-612a0f6f471c66dd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/referral-dashboard.tsx:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/referral-dashboard.tsx:8"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a651a3bc86a8dee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/ig-agent/ig-inbox-client.tsx:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/ig-agent/ig-inbox-client.tsx:72"}, "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-728a9114a8f6240c", "name": "Commented-code block (6 lines) in components/marketing/suite-door.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in components/marketing/suite-door.tsx: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-619453b9d458135e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/shoot-studio-client.tsx:560", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/shoot-studio-client.tsx:560"}, "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-19bd2dcb0f89cadb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-brief-client.tsx:123", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-brief-client.tsx:123"}, "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-421cbe2d78c6a474", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-demo-client.tsx:70", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-demo-client.tsx:70"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-73b65d1fa4a9beec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-story-client.tsx:192", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-story-client.tsx:192"}, "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-990dbebf781fb5a0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-kit-client.tsx:229", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-kit-client.tsx:229"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-86b52938f70ee641", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:161", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:161"}, "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-8131414fca640472", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/unified-onboarding-wizard.tsx:255", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/unified-onboarding-wizard.tsx:255"}, "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-417ed0e2e71ecdfb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/blueprint/blueprint-selfie-upload.tsx:169", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/blueprint/blueprint-selfie-upload.tsx:169"}, "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-57d5288a00c7e4ae", "name": "Commented-code block (5 lines) in components/feed-planner/feed-view-screen.tsx:174", "shortDescription": {"text": "Commented-code block (5 lines) in components/feed-planner/feed-view-screen.tsx:174"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e31a97a4e507ed0e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-view-screen.tsx:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-view-screen.tsx:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2a56c845d03a99c8", "name": "Commented-code block (7 lines) in components/feed-planner/instagram-feed-view.tsx:476", "shortDescription": {"text": "Commented-code block (7 lines) in components/feed-planner/instagram-feed-view.tsx:476"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c26ea664341d14a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/instagram-feed-view.tsx:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/instagram-feed-view.tsx:33"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f8621d8d2262bd4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-style-modal.tsx:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-style-modal.tsx:36"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-390d907e926b1f17", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/welcome-wizard.tsx:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/welcome-wizard.tsx:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ad1bf3f87b953826", "name": "Commented-code block (7 lines) in components/feed-planner/feed-single-placeholder.tsx:328", "shortDescription": {"text": "Commented-code block (7 lines) in components/feed-planner/feed-single-placeholder.tsx:328"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5b31d1cf7864fa8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-single-placeholder.tsx:363", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-single-placeholder.tsx:363"}, "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-45af92834b4aa84b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-brand-pillars.tsx:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-brand-pillars.tsx:29"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c45b481589b6d90a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-header.tsx:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-header.tsx:25"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9ff013435e7f360", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/use-feed-polling.ts:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/use-feed-polling.ts:7"}, "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-a95323d19f71f17f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-polling.ts:6", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-polling.ts:6"}, "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-4110631fd656a18e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-actions.ts:141", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-actions.ts:141"}, "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-2bdb4985df1105bd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-renewal-banner.tsx:9", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-renewal-banner.tsx:9"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e52cf53590837b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/low-credit-modal.tsx:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/low-credit-modal.tsx:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aac44fc8a73518f6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/zero-credits-upgrade-modal.tsx:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/zero-credits-upgrade-modal.tsx:15"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-88c5d62bb26b501f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-balance.tsx:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-balance.tsx:7"}, "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-fec99d906b76d227", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.tsx:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.tsx:42"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f038739ec9a6b19", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/academy/courses/[courseId]/lessons/[lessonId]/lesson-viewer-client.tsx", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/academy/courses/[courseId]/lessons/[lessonId]/lesson-viewer-client.tsx:172"}, "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-7ceed543c3c1f44a", "name": "Commented-code block (10 lines) in app/api/vault/email-drop/route.ts:6", "shortDescription": {"text": "Commented-code block (10 lines) in app/api/vault/email-drop/route.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0f8372f6c73a164", "name": "Commented-code block (7 lines) in app/api/vault/email-drop/process/route.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in app/api/vault/email-drop/process/route.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6b8a6cc4a9d58fa8", "name": "Commented-code block (6 lines) in app/api/manychat/email-capture/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/manychat/email-capture/route.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-03a54272a7571462", "name": "Commented-code block (5 lines) in app/api/auth/auto-confirm/route.ts:183", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/auth/auto-confirm/route.ts:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dadccdafdf269832", "name": "Commented-code block (6 lines) in app/api/app-v3/library/route.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/app-v3/library/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-4c8ff16534e715c4", "name": "Commented-code block (5 lines) in app/api/app-v3/maya/generate/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/generate/route.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-153db80c3f6c81c5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/generate/route.ts:108", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/generate/route.ts:108"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ba879aa88166ec4", "name": "Commented-code block (6 lines) in app/api/app-v3/maya/chat/route.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/app-v3/maya/chat/route.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-94e2462782edac69", "name": "Commented-code block (5 lines) in app/api/app-v3/maya/debug-context/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/debug-context/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-a32b3e54df17fe7a", "name": "Commented-code block (5 lines) in app/api/app-v3/maya/edit/route.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/edit/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-90fec8fba153c19f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/edit/route.ts:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/edit/route.ts:54"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a7940a1f192929be", "name": "Commented-code block (5 lines) in app/api/app-v3/upload-selfie/route.ts:67", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/app-v3/upload-selfie/route.ts:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ee64a5fe0475a42", "name": "Commented-code block (5 lines) in app/api/feed/[feedId]/generate-single/route.ts:248", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/feed/[feedId]/generate-single/route.ts:248"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad50d244826dadc5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e18e896f59d5fb41", "name": "Commented-code block (5 lines) in app/api/feed/list/route.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/feed/list/route.ts:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ace5bf81bf9cfe91", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/admin/vault-drop-email/route.ts:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/admin/vault-drop-email/route.ts:76"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9249bfe52ebce5b8", "name": "Legacy-named symbol `formDataForLegacy` in app/api/onboarding/unified-onboarding-complete/route.ts:212", "shortDescription": {"text": "Legacy-named symbol `formDataForLegacy` in app/api/onboarding/unified-onboarding-complete/route.ts:212"}, "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-df37ceea41522992", "name": "Commented-code block (6 lines) in app/api/cron/onboarding-sequence/route.ts:261", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/cron/onboarding-sequence/route.ts:261"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bbc4821dcfad83dd", "name": "Commented-code block (7 lines) in app/api/cron/suite-habit-emails/route.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in app/api/cron/suite-habit-emails/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-cbfc45553cfeb11f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/reconcile-generations/route.ts:232", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/reconcile-generations/route.ts:232"}, "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-58c47719992d5ac6", "name": "Commented-code block (5 lines) in app/api/cron/sync-audience-segments/route.ts:60", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/cron/sync-audience-segments/route.ts:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a83d38cf1c29d16", "name": "Commented-code block (5 lines) in app/api/cron/membership-checkout-recovery/route.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/cron/membership-checkout-recovery/route.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-42f54805db9d36e3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/ig-insights-sync/route.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/ig-insights-sync/route.ts:41"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62b1b4a110fb5b66", "name": "Legacy-named symbol `use_feed_planner_v2` in app/api/user/info/route.ts:62", "shortDescription": {"text": "Legacy-named symbol `use_feed_planner_v2` in app/api/user/info/route.ts:62"}, "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-a469d2ffa2a4bfce", "name": "Commented-code block (5 lines) in app/api/feed-planner/create-from-strategy/route.ts:604", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/feed-planner/create-from-strategy/route.ts:604"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08f330fe95fbcefd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/sync/route.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/sync/route.ts:28"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51eea8cde2ec37e1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/callback/route.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/callback/route.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-ca5b2415fe739618", "name": "Commented-code block (7 lines) in app/api/webhooks/manychat-inbound/route.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in app/api/webhooks/manychat-inbound/route.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-3103c7ea45b7fac2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/check-generation/route.ts:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/check-generation/route.ts:33"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aec387d72eb01ed8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:80"}, "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-a70049ec2c5b0db5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/check-generation/route.ts:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/check-generation/route.ts:154"}, "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-dc802b86922559dd", "name": "Commented-code block (5 lines) in app/api/maya/pro/generate-concepts/route.ts:75", "shortDescription": {"text": "Commented-code block (5 lines) in app/api/maya/pro/generate-concepts/route.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb2d021553b54ab2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/generate-image/route.ts:200", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/generate-image/route.ts:200"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d271d96e67b9ac69", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/generate-image-openai/route.ts:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/generate-image-openai/route.ts:89"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3389f9a7ddb91d5f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/research/route.ts:26", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/research/route.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-580c39983c04dbde", "name": "Commented-code block (6 lines) in app/api/maya/chat/route.ts:2503", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/maya/chat/route.ts:2503"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ab4906bb32e51df", "name": "Commented-code block (6 lines) in app/api/maya/load-chat/route.ts:257", "shortDescription": {"text": "Commented-code block (6 lines) in app/api/maya/load-chat/route.ts:257"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6388bbd89cbd9556", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/create-zip-from-blobs/route.ts:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/create-zip-from-blobs/route.ts:52"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42dca92d56b6ec23", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/start-training/route.ts:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/start-training/route.ts:88"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2b055ab40a2cf79", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/upload-zip/route.ts:307", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/upload-zip/route.ts:307"}, "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-fd8e3766d0e08ed7", "name": "Commented-code block (6 lines) in app/app/page.tsx:3", "shortDescription": {"text": "Commented-code block (6 lines) in app/app/page.tsx: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-f1e3c926ee6f27eb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/academy/page.tsx:419", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/academy/page.tsx:419"}, "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-44c9c6f7f0cea3a2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/testimonials/page.tsx:150", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/testimonials/page.tsx:150"}, "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-a721053d685207d3", "name": "Commented-code block (5 lines) in app/claim/[token]/page.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/claim/[token]/page.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-a5e0f7cc7bb52bc6", "name": "Commented-code block (8 lines) in app/studio/page.tsx:106", "shortDescription": {"text": "Commented-code block (8 lines) in app/studio/page.tsx:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-901310dc05c69cd3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.js/route.ts:156", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.js/route.ts:156"}, "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-7f8f65834e363e86", "name": "Commented-code block (5 lines) in app/feed-planner/feed-planner-client.tsx:314", "shortDescription": {"text": "Commented-code block (5 lines) in app/feed-planner/feed-planner-client.tsx:314"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8cf0d58dc091dbea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/feed-planner/feed-planner-client.tsx:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/feed-planner/feed-planner-client.tsx:14"}, "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-f699dab7d839b22b", "name": "Legacy-named symbol `ai_prompts_demo_after_copy` in app/ai-prompts/access/demo/page.tsx:188", "shortDescription": {"text": "Legacy-named symbol `ai_prompts_demo_after_copy` in app/ai-prompts/access/demo/page.tsx:188"}, "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-eade7bdd73287bcf", "name": "Legacy-named symbol `after_copy` in app/ai-prompts/access/[token]/page.tsx:193", "shortDescription": {"text": "Legacy-named symbol `after_copy` in app/ai-prompts/access/[token]/page.tsx:193"}, "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-f277ac93dd6d76fa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/start-embedded-checkout.ts:52", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/start-embedded-checkout.ts:52"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6c96f4ba7012daf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/north-notifier.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/north-notifier.ts:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d11c403e4fd79b3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/replicate-sync.ts:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/replicate-sync.ts:57"}, "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-0bfdf61548643a5a", "name": "Commented-code block (10 lines) in lib/vault/drop-log.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in lib/vault/drop-log.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-c4c460b03e17c26a", "name": "Commented-code block (7 lines) in lib/email/editorial-email.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in lib/email/editorial-email.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53cdb7e449470ab4", "name": "Commented-code block (6 lines) in lib/email/templates/stone-email.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in lib/email/templates/stone-email.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-144ef4f202397c34", "name": "Commented-code block (5 lines) in lib/email/templates/subscriber-winback.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/email/templates/subscriber-winback.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-9cc3b758e2e36791", "name": "Commented-code block (5 lines) in lib/app-v3/maya/persona.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/persona.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-0f0857046103866c", "name": "Commented-code block (5 lines) in lib/app-v3/maya/memory-store.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/memory-store.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-44ea0d1507cea251", "name": "Commented-code block (7 lines) in lib/app-v3/maya/carousel-design-systems.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in lib/app-v3/maya/carousel-design-systems.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-6863dd729c67ad85", "name": "Commented-code block (5 lines) in lib/app-v3/maya/vault-styles.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/vault-styles.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-1bbae674d896bb29", "name": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients.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-151234f1dbbeb1e8", "name": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients/aesthetic-recipes.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients/aesthetic-recipes.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-20664ca3f8af7d1e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/analytics/client.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/analytics/client.ts:28"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6127decf70c7a0bf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/resend/manage-contact.ts:189", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/resend/manage-contact.ts:189"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2627e8e1276f4b91", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/demo-generator.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/demo-generator.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-b179deff4d6cb801", "name": "Commented-code block (6 lines) in lib/content-kit/shoot-generator.ts:27", "shortDescription": {"text": "Commented-code block (6 lines) in lib/content-kit/shoot-generator.ts:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ff325ab939b896d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/shoot-generator.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/shoot-generator.ts:73"}, "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-64368faf35fe18fe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/slide-redesign-generator.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/slide-redesign-generator.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d714004945b0d412", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/feed/finalize-replicate-image.ts:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/feed/finalize-replicate-image.ts:80"}, "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-1b48ebb8bc0c96e2", "name": "Commented-code block (6 lines) in lib/ig-agent/send-manychat.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in lib/ig-agent/send-manychat.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-1d37d33eadc14eb8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/generation/reconcile-pro-photoshoot-grids.ts:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/generation/reconcile-pro-photoshoot-grids.ts:129"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c143c5c2e6bedf0d", "name": "Commented-code block (5 lines) in lib/payments/lifecycle/subscription-events.ts:110", "shortDescription": {"text": "Commented-code block (5 lines) in lib/payments/lifecycle/subscription-events.ts:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f257cd9a883fa9ff", "name": "Commented-code block (5 lines) in lib/payments/lifecycle/invoice-paid.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/payments/lifecycle/invoice-paid.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-656569ee5b37edd8", "name": "Commented-code block (6 lines) in lib/hooks/use-feed-post-polling.ts:264", "shortDescription": {"text": "Commented-code block (6 lines) in lib/hooks/use-feed-post-polling.ts:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-471d2c52762a7bee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-engine/instagram-performance.ts:102", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-engine/instagram-performance.ts:102"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-98a1dc832467edaf", "name": "Legacy-named symbol `feed_styles_v2` in lib/feed-planner/feed-style-prompt-loader.ts:66", "shortDescription": {"text": "Legacy-named symbol `feed_styles_v2` in lib/feed-planner/feed-style-prompt-loader.ts:66"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a7d63afeb92f05f", "name": "Legacy-named symbol `use_feed_planner_v2` in lib/feed-planner/feature-flag.ts:7", "shortDescription": {"text": "Legacy-named symbol `use_feed_planner_v2` in lib/feed-planner/feature-flag.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-d94078771dd9b833", "name": "Commented-code block (5 lines) in lib/feed-planner/feature-flag.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in lib/feed-planner/feature-flag.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-e944acbe8583f2df", "name": "Commented-code block (6 lines) in lib/ai-prompts/prompt-data.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in lib/ai-prompts/prompt-data.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a21736dade3d8438", "name": "`fetch()` without try/.catch or AbortSignal \u2014 lib/maya/feed-generation-handler.ts:810", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/maya/feed-generation-handler.ts:810"}, "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-65d008ed499257e4", "name": "Commented-code block (6 lines) in lib/maya/openrouter.ts:155", "shortDescription": {"text": "Commented-code block (6 lines) in lib/maya/openrouter.ts:155"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34c384ffa9be8805", "name": "Commented-code block (5 lines) in lib/maya/nano-banana-prompt-builder.ts:336", "shortDescription": {"text": "Commented-code block (5 lines) in lib/maya/nano-banana-prompt-builder.ts:336"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02b7703dd558acd6", "name": "Commented-code block (5 lines) in lib/maya/feed-strategy-handler.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in lib/maya/feed-strategy-handler.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-96513dfafbd1fa21", "name": "Commented-code block (10 lines) in lib/maya/pro/photography-styles.ts:284", "shortDescription": {"text": "Commented-code block (10 lines) in lib/maya/pro/photography-styles.ts:284"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e0ca4350c1b6f69", "name": "Commented-code block (11 lines) in lib/maya/pro/seasonal-luxury-content.ts:468", "shortDescription": {"text": "Commented-code block (11 lines) in lib/maya/pro/seasonal-luxury-content.ts:468"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-821b118d746e0436", "name": "Commented-code block (6 lines) in lib/maya/universal-prompts/index.ts:506", "shortDescription": {"text": "Commented-code block (6 lines) in lib/maya/universal-prompts/index.ts:506"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18881"}, "properties": {"repository": "sandrasocial/sselfie-9g", "repoUrl": "https://github.com/sandrasocial/sselfie-9g", "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-d0351cd6212150f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 send-broadcast.js:153"}, "properties": {"repobilityId": "c93ecc18ca8ab664", "scanner": "scanner-primary", "fingerprint": "d0351cd6212150f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-348e068148e565e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sentry.server.config.ts:7"}, "properties": {"repobilityId": "0d25d49ab6e238db", "scanner": "scanner-primary", "fingerprint": "348e068148e565e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bff3c75a00050abd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 middleware.ts:40"}, "properties": {"repobilityId": "505c04a593fb184d", "scanner": "scanner-primary", "fingerprint": "bff3c75a00050abd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe4afdfcd65ee3d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 sentry.client.config.ts:7"}, "properties": {"repobilityId": "af18389ec1bcdcd7", "scanner": "scanner-primary", "fingerprint": "fe4afdfcd65ee3d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2df7ff1af5a1ba0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/maya-integration.spec.ts:117"}, "properties": {"repobilityId": "5b1636d1b35fdc38", "scanner": "scanner-primary", "fingerprint": "f2df7ff1af5a1ba0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce39911c4965855c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/debug-onboarding-wizard.spec.ts:39"}, "properties": {"repobilityId": "92eba0783902117f", "scanner": "scanner-primary", "fingerprint": "ce39911c4965855c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13d761acb495a186", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 tests/visibility-suite-entitlements.test.ts:94"}, "properties": {"repobilityId": "241319e3eb3e28a2", "scanner": "scanner-primary", "fingerprint": "13d761acb495a186", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-15728aa1abf683ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/helpers/test-user.ts:113"}, "properties": {"repobilityId": "1d54af8618892c64", "scanner": "scanner-primary", "fingerprint": "15728aa1abf683ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd2b5dd2a03a415d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/11-inspect-production-schema.ts:9"}, "properties": {"repobilityId": "abb422c9380d3bed", "scanner": "scanner-primary", "fingerprint": "cd2b5dd2a03a415d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ad5beb1dfad754d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-production-status.ts:11"}, "properties": {"repobilityId": "0297aec605611ad1", "scanner": "scanner-primary", "fingerprint": "2ad5beb1dfad754d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcf0e27278914a47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr.ts:14"}, "properties": {"repobilityId": "d5485deee940bb8a", "scanner": "scanner-primary", "fingerprint": "dcf0e27278914a47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c102dea32044d79", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-onboarding-segment-env.ts:76"}, "properties": {"repobilityId": "e91205ab0b84190c", "scanner": "scanner-primary", "fingerprint": "0c102dea32044d79", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9524d2050ccea545", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-prompt-guide-contacts-to-segment.ts:106"}, "properties": {"repobilityId": "8a7c8abaa87d757b", "scanner": "scanner-primary", "fingerprint": "9524d2050ccea545", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b5c817c8c78997e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-test-users-keep-trained.ts:21"}, "properties": {"repobilityId": "26dd2df6bf64d457", "scanner": "scanner-primary", "fingerprint": "5b5c817c8c78997e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45774a8b8be181bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access.ts:24"}, "properties": {"repobilityId": "007e52a372b3e9ab", "scanner": "scanner-primary", "fingerprint": "45774a8b8be181bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b699f2745fd2abd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bridge-01-trial-backfill.ts:114"}, "properties": {"repobilityId": "ebd733ab4f70f14e", "scanner": "scanner-primary", "fingerprint": "2b699f2745fd2abd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7dd06f175f5fbc88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-add-feed-display-color.ts:19"}, "properties": {"repobilityId": "434588538ef677c9", "scanner": "scanner-primary", "fingerprint": "7dd06f175f5fbc88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-662c185204755395", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/qa-phase2e-feed-subject-identity.ts:16"}, "properties": {"repobilityId": "721951bc28a90adb", "scanner": "scanner-primary", "fingerprint": "662c185204755395", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5bfb6502d8ef2e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-project-tracker-migration.ts:9"}, "properties": {"repobilityId": "a4aad8896090e0df", "scanner": "scanner-primary", "fingerprint": "b5bfb6502d8ef2e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92fa77272148ddcb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-retraining-issues.ts:14"}, "properties": {"repobilityId": "e5919cf8395e0511", "scanner": "scanner-primary", "fingerprint": "92fa77272148ddcb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c49552d77a769881", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-sentry-connection.ts:6"}, "properties": {"repobilityId": "d91b39d453fa9fc5", "scanner": "scanner-primary", "fingerprint": "c49552d77a769881", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8e3c8ce48a0bc43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-015.ts:12"}, "properties": {"repobilityId": "5b25f7d15cc80d3f", "scanner": "scanner-primary", "fingerprint": "f8e3c8ce48a0bc43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e4df091913160bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/populate-high-ticket-tasks.js:14"}, "properties": {"repobilityId": "3a6bd7144277e066", "scanner": "scanner-primary", "fingerprint": "2e4df091913160bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc86bd673ae33120", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-carousels.ts:27"}, "properties": {"repobilityId": "c9a73936da0fe2d7", "scanner": "scanner-primary", "fingerprint": "bc86bd673ae33120", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f737a6d64b08203", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon.ts:24"}, "properties": {"repobilityId": "f48b639b149ad7c0", "scanner": "scanner-primary", "fingerprint": "4f737a6d64b08203", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49c20bb6865463b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-christian-data.js:6"}, "properties": {"repobilityId": "da7e6827d097ffe5", "scanner": "scanner-primary", "fingerprint": "49c20bb6865463b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0cd94494160f813", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-video-urls.ts:39"}, "properties": {"repobilityId": "51a247ae3e4391d4", "scanner": "scanner-primary", "fingerprint": "f0cd94494160f813", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6140f8e5c3f88ca3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-personal-brand-api.ts:18"}, "properties": {"repobilityId": "685322b63cdd705a", "scanner": "scanner-primary", "fingerprint": "6140f8e5c3f88ca3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-caf8b83d38530787", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/validate-column-names.ts:205"}, "properties": {"repobilityId": "708bf62026e8e049", "scanner": "scanner-primary", "fingerprint": "caf8b83d38530787", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ad52f8ac21b5db0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-paid-blueprint.ts:14"}, "properties": {"repobilityId": "ab2746cf7dada2a1", "scanner": "scanner-primary", "fingerprint": "9ad52f8ac21b5db0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9af82fe715ca413d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/24-check-all-tables.ts:7"}, "properties": {"repobilityId": "2ad861a9853d6c5d", "scanner": "scanner-primary", "fingerprint": "9af82fe715ca413d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc7e188b1dc84b62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-sandra-training.ts:22"}, "properties": {"repobilityId": "fa56d8075833fe3f", "scanner": "scanner-primary", "fingerprint": "dc7e188b1dc84b62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed7b605276293459", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-ai-photoshoot-audience.ts:235"}, "properties": {"repobilityId": "695c0b8bf920bc84", "scanner": "scanner-primary", "fingerprint": "ed7b605276293459", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-43ac4bbca6d98183", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora.js:10"}, "properties": {"repobilityId": "e20c2635ba1c7b6f", "scanner": "scanner-primary", "fingerprint": "43ac4bbca6d98183", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0fbbd7c69f3d6deb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-guest-customer.ts:23"}, "properties": {"repobilityId": "4a1715a14beec9d9", "scanner": "scanner-primary", "fingerprint": "0fbbd7c69f3d6deb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb0f012e4762cd6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-planner-columns-migration.ts:21"}, "properties": {"repobilityId": "e909717323e232e3", "scanner": "scanner-primary", "fingerprint": "bb0f012e4762cd6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4065fc461440eb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/set-vercel-onboarding-segments.ts:64"}, "properties": {"repobilityId": "f47a6674ac51efda", "scanner": "scanner-primary", "fingerprint": "f4065fc461440eb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3b52f378984da6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-strategy-migrations.ts:23"}, "properties": {"repobilityId": "5ad651d93d9139c8", "scanner": "scanner-primary", "fingerprint": "a3b52f378984da6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-43c04b98d4ab19c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-maya-bridge-table.ts:24"}, "properties": {"repobilityId": "c27c1c69bf97e1d0", "scanner": "scanner-primary", "fingerprint": "43c04b98d4ab19c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-855def4e05f8c255", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-41.ts:20"}, "properties": {"repobilityId": "7234cccd5a047413", "scanner": "scanner-primary", "fingerprint": "855def4e05f8c255", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c22b68b7e6033b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-create-selfie-tables.ts:32"}, "properties": {"repobilityId": "59329a5569939c83", "scanner": "scanner-primary", "fingerprint": "8c22b68b7e6033b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0692eeeff5f42dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-payments.ts:122"}, "properties": {"repobilityId": "a759413f2bd9d91f", "scanner": "scanner-primary", "fingerprint": "e0692eeeff5f42dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e5ec9231379e6e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/query-via-rest.ts:5"}, "properties": {"repobilityId": "5f196c0ea25871d5", "scanner": "scanner-primary", "fingerprint": "1e5ec9231379e6e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-719cf7b8effebc8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/revenue-engine-weekly-digest.ts:68"}, "properties": {"repobilityId": "05c145798a2832df", "scanner": "scanner-primary", "fingerprint": "719cf7b8effebc8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b0c1dc998d341ed4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-ig-media-snapshots.ts:37"}, "properties": {"repobilityId": "ff4f136c6cc20af9", "scanner": "scanner-primary", "fingerprint": "b0c1dc998d341ed4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1c3fb67b1066aec7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-mode-migration.ts:17"}, "properties": {"repobilityId": "f293c480213e7681", "scanner": "scanner-primary", "fingerprint": "1c3fb67b1066aec7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7021406569f2ba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/send-shopify-apology-email.ts:54"}, "properties": {"repobilityId": "d8c1b1ea79eb40b4", "scanner": "scanner-primary", "fingerprint": "b7021406569f2ba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fee2ac1832985d3a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-quality-migration.ts:13"}, "properties": {"repobilityId": "fb07f9ac3aa11771", "scanner": "scanner-primary", "fingerprint": "fee2ac1832985d3a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ada7ea93f07a1314", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-cards-migration.ts:18"}, "properties": {"repobilityId": "25dc3f9ec250c153", "scanner": "scanner-primary", "fingerprint": "ada7ea93f07a1314", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4bfdb4177b125d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-vault-drops.ts:45"}, "properties": {"repobilityId": "c6bf395dc79d3feb", "scanner": "scanner-primary", "fingerprint": "e4bfdb4177b125d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d89b1f07177e84b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-paid-blueprint-access-standalone.ts:27"}, "properties": {"repobilityId": "28df0f023bfc6722", "scanner": "scanner-primary", "fingerprint": "7d89b1f07177e84b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb5af537955cf838", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-prompt-guide-tables-direct.ts:23"}, "properties": {"repobilityId": "5fadb16461ed3503", "scanner": "scanner-primary", "fingerprint": "fb5af537955cf838", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a52e0a2b5b281d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-verification.ts:26"}, "properties": {"repobilityId": "dee875beba45ee2f", "scanner": "scanner-primary", "fingerprint": "0a52e0a2b5b281d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd36bbdb8031eae7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-cohort-joins.ts:37"}, "properties": {"repobilityId": "a9bc4b14b2c294c9", "scanner": "scanner-primary", "fingerprint": "fd36bbdb8031eae7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-923d09a2c7b694e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-academy.ts:5"}, "properties": {"repobilityId": "ddd33d1bb3dd3589", "scanner": "scanner-primary", "fingerprint": "923d09a2c7b694e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3d47cc2dbd3d749", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/provision-resend-segments.ts:49"}, "properties": {"repobilityId": "7e2a1864756dea2b", "scanner": "scanner-primary", "fingerprint": "d3d47cc2dbd3d749", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-74623a1a6843b992", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/13-export-to-sql.ts:8"}, "properties": {"repobilityId": "c817a7a01af3263a", "scanner": "scanner-primary", "fingerprint": "74623a1a6843b992", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3402d4f159610522", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-migration-41.ts:17"}, "properties": {"repobilityId": "2e96139bf1a62562", "scanner": "scanner-primary", "fingerprint": "3402d4f159610522", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e13849b1a72fce49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-shoots.ts:28"}, "properties": {"repobilityId": "d1a41b6066f04912", "scanner": "scanner-primary", "fingerprint": "e13849b1a72fce49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f692788e162b4e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/manually-process-webhook.ts:29"}, "properties": {"repobilityId": "c2bd99ea28b2f1b7", "scanner": "scanner-primary", "fingerprint": "9f692788e162b4e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-968b0ebd3c2b8099", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-016.ts:18"}, "properties": {"repobilityId": "f13e39b07f13f8ac", "scanner": "scanner-primary", "fingerprint": "968b0ebd3c2b8099", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0f85f2646a0352a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reset-campaign-status.ts:17"}, "properties": {"repobilityId": "e22aeba23e7a8ee9", "scanner": "scanner-primary", "fingerprint": "f0f85f2646a0352a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7228335e8cb742a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/classify-routes.ts:106"}, "properties": {"repobilityId": "1d9534ac85960557", "scanner": "scanner-primary", "fingerprint": "a7228335e8cb742a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c91f946cc150e8c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-pagination.ts:19"}, "properties": {"repobilityId": "33750d571d8b27c8", "scanner": "scanner-primary", "fingerprint": "c91f946cc150e8c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a1f5c01bdf82c4f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-test-results.ts:10"}, "properties": {"repobilityId": "65d86f0b354ac853", "scanner": "scanner-primary", "fingerprint": "a1f5c01bdf82c4f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d5e35977c65d561", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-emails.ts:24"}, "properties": {"repobilityId": "fdf88aba690652c5", "scanner": "scanner-primary", "fingerprint": "2d5e35977c65d561", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-634212990d7fa044", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-api-response.ts:37"}, "properties": {"repobilityId": "2e30cc36661ae139", "scanner": "scanner-primary", "fingerprint": "634212990d7fa044", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4adc5f26dd3d509d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-all-paid-blueprint-migrations.ts:26"}, "properties": {"repobilityId": "f9f49b6a8884986e", "scanner": "scanner-primary", "fingerprint": "4adc5f26dd3d509d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e418439c7f621113", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-chat-type-migration.ts:24"}, "properties": {"repobilityId": "eabd5b1d29f6aeb7", "scanner": "scanner-primary", "fingerprint": "e418439c7f621113", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d17fe9161920a5e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-sends-migration.ts:23"}, "properties": {"repobilityId": "bb130a7ed7350f10", "scanner": "scanner-primary", "fingerprint": "d17fe9161920a5e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69b8d54c3b5ff72c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prototype-carousel-slide.ts:51"}, "properties": {"repobilityId": "9db556a03a79f6a4", "scanner": "scanner-primary", "fingerprint": "69b8d54c3b5ff72c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17bfa388e57aa98a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/brand-consistency-audit.ts:198"}, "properties": {"repobilityId": "5b44631597651115", "scanner": "scanner-primary", "fingerprint": "17bfa388e57aa98a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6c34a3f0cdf9c1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration.js:32"}, "properties": {"repobilityId": "6c9e04f69551e337", "scanner": "scanner-primary", "fingerprint": "d6c34a3f0cdf9c1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8be778ebd5e45a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-v2.ts:64"}, "properties": {"repobilityId": "b89707bbf5dc510f", "scanner": "scanner-primary", "fingerprint": "a8be778ebd5e45a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f6db7323d9896ef9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/10-check-production-data.ts:8"}, "properties": {"repobilityId": "465ecfbe5b709844", "scanner": "scanner-primary", "fingerprint": "f6db7323d9896ef9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c168e764ec13078", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/final-migrate-lora.ts:7"}, "properties": {"repobilityId": "c33a8f0c4af81c41", "scanner": "scanner-primary", "fingerprint": "3c168e764ec13078", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0de4f9bcb9ef87f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-feed-planner-admin-tables.ts:389"}, "properties": {"repobilityId": "7faf5bbb42d655e7", "scanner": "scanner-primary", "fingerprint": "0de4f9bcb9ef87f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf5563b6b1efe555", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-vault-collections.ts:53"}, "properties": {"repobilityId": "2bf01c8303bb50a6", "scanner": "scanner-primary", "fingerprint": "cf5563b6b1efe555", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e65ac019d556ab34", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-selfie-guide-product.ts:80"}, "properties": {"repobilityId": "04aa29bae104ecca", "scanner": "scanner-primary", "fingerprint": "e65ac019d556ab34", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba6bc8e3b0c1659d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/09-migrate-production-data.ts:12"}, "properties": {"repobilityId": "772dcc706d575416", "scanner": "scanner-primary", "fingerprint": "ba6bc8e3b0c1659d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-60987b2a3900e398", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-all-test-users.ts:17"}, "properties": {"repobilityId": "3bcafc20f7cebfce", "scanner": "scanner-primary", "fingerprint": "60987b2a3900e398", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2b48566d0ea6027", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration.ts:24"}, "properties": {"repobilityId": "0798c4055cb34379", "scanner": "scanner-primary", "fingerprint": "b2b48566d0ea6027", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e4ba1fac827b678", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/product-qa-digest.ts:239"}, "properties": {"repobilityId": "99cefaf2c082cc4f", "scanner": "scanner-primary", "fingerprint": "4e4ba1fac827b678", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f60f9f2d1eb8c912", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-comeback-discount.ts:25"}, "properties": {"repobilityId": "8944df8e480bdb2a", "scanner": "scanner-primary", "fingerprint": "f60f9f2d1eb8c912", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e995f8bad80ea8a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-status.ts:16"}, "properties": {"repobilityId": "700f91cc5621ed13", "scanner": "scanner-primary", "fingerprint": "e995f8bad80ea8a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37bef864269d03bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-vimeo-embed.ts:24"}, "properties": {"repobilityId": "96c1a8003d1d346a", "scanner": "scanner-primary", "fingerprint": "37bef864269d03bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f947968c55dba774", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-email-analytics.ts:12"}, "properties": {"repobilityId": "103b8a522f421036", "scanner": "scanner-primary", "fingerprint": "f947968c55dba774", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba6af576901f5db2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/38-run-pro-chat-type-migration.ts:19"}, "properties": {"repobilityId": "b02244a8629fc7de", "scanner": "scanner-primary", "fingerprint": "ba6af576901f5db2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24e229587fea900d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-selfie-generation.ts:47"}, "properties": {"repobilityId": "8779b12784687e3a", "scanner": "scanner-primary", "fingerprint": "24e229587fea900d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec3c940643b5519b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-campaign-migration.ts:39"}, "properties": {"repobilityId": "e9e79d3a80b0406f", "scanner": "scanner-primary", "fingerprint": "ec3c940643b5519b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4b7277024e31e15", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-production-db.ts:10"}, "properties": {"repobilityId": "98f041d743075dd8", "scanner": "scanner-primary", "fingerprint": "c4b7277024e31e15", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11479c5e18be3d18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-advanced-email-automation.ts:26"}, "properties": {"repobilityId": "0f30c8f78888318e", "scanner": "scanner-primary", "fingerprint": "11479c5e18be3d18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37523c22942a28c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-and-migrate-models.ts:6"}, "properties": {"repobilityId": "a9c6a72c724ab764", "scanner": "scanner-primary", "fingerprint": "37523c22942a28c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd11c99a1bbb012c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-purchase.ts:21"}, "properties": {"repobilityId": "288cf711c92758c6", "scanner": "scanner-primary", "fingerprint": "fd11c99a1bbb012c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73e1b30344f85c20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-console-logs.ts:115"}, "properties": {"repobilityId": "f8f1aeb378ab904f", "scanner": "scanner-primary", "fingerprint": "73e1b30344f85c20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b552be46f04ca03f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cohort-report-weekly.ts:215"}, "properties": {"repobilityId": "9e59ac147a295a06", "scanner": "scanner-primary", "fingerprint": "b552be46f04ca03f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-321a240076224da6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-christian-data.js:9"}, "properties": {"repobilityId": "ce9a58582ca3ad0a", "scanner": "scanner-primary", "fingerprint": "321a240076224da6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fe5a8f3888a7565", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-replicate-training.ts:17"}, "properties": {"repobilityId": "b17cb8415b46c2bb", "scanner": "scanner-primary", "fingerprint": "7fe5a8f3888a7565", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-afe733dc34131fce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-phase-5a-6a-migrations.ts:13"}, "properties": {"repobilityId": "9ae94923ec6eb0a5", "scanner": "scanner-primary", "fingerprint": "afe733dc34131fce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b30758ed22788968", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-feed-style-variations-v2.ts:238"}, "properties": {"repobilityId": "e90d376834b71481", "scanner": "scanner-primary", "fingerprint": "b30758ed22788968", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-221f54755312d887", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/22-migrate-users-to-supabase-auth.ts:4"}, "properties": {"repobilityId": "01391fad2dd4f618", "scanner": "scanner-primary", "fingerprint": "221f54755312d887", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c3ad928648c2548", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-to-new-pricing.ts:21"}, "properties": {"repobilityId": "be4d630319d5decd", "scanner": "scanner-primary", "fingerprint": "8c3ad928648c2548", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-524acd2f1d4e8224", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-sandra.ts:22"}, "properties": {"repobilityId": "6cef73ce1e9505d8", "scanner": "scanner-primary", "fingerprint": "524acd2f1d4e8224", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50a5035f57db311e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-project-tracker-tables.ts:12"}, "properties": {"repobilityId": "dc4e6edaf18a2dfb", "scanner": "scanner-primary", "fingerprint": "50a5035f57db311e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68bfae6734b36b7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/link-shannon-accounts.ts:7"}, "properties": {"repobilityId": "28da604a5a44c08b", "scanner": "scanner-primary", "fingerprint": "68bfae6734b36b7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87189f37a45a6717", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-preview-schema.ts:28"}, "properties": {"repobilityId": "5b3387c414cb6f87", "scanner": "scanner-primary", "fingerprint": "87189f37a45a6717", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c63c6a1d5dd6c1fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-academy-entitlements.ts:126"}, "properties": {"repobilityId": "48cd3a150266d88a", "scanner": "scanner-primary", "fingerprint": "c63c6a1d5dd6c1fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1efb10b4b142d88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/upgrade-beta-customer.ts:32"}, "properties": {"repobilityId": "ef31e3e586f5efa7", "scanner": "scanner-primary", "fingerprint": "e1efb10b4b142d88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8b03d37e5ef6d3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/38-run-email-preview-data-migration.ts:28"}, "properties": {"repobilityId": "f0eefecf9d99155e", "scanner": "scanner-primary", "fingerprint": "c8b03d37e5ef6d3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-25ab6f021180e01e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-test-user-email.ts:18"}, "properties": {"repobilityId": "047a43205b586b1f", "scanner": "scanner-primary", "fingerprint": "25ab6f021180e01e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b973ab3b9d5d57b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/get-real-selfie-urls.ts:22"}, "properties": {"repobilityId": "7f7b85d4b8209c26", "scanner": "scanner-primary", "fingerprint": "b973ab3b9d5d57b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5196ddecd7af4ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/22-create-sessions-tables.ts:6"}, "properties": {"repobilityId": "54ad0acf5edb3a3e", "scanner": "scanner-primary", "fingerprint": "d5196ddecd7af4ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5193e3a77a370f40", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-resend-sequence-segments.ts:174"}, "properties": {"repobilityId": "ab1f786b8cd062b1", "scanner": "scanner-primary", "fingerprint": "5193e3a77a370f40", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b024a19810043441", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-lora-bjarki-mcegill.js:10"}, "properties": {"repobilityId": "d9b74e834e808e9d", "scanner": "scanner-primary", "fingerprint": "b024a19810043441", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf506cf7fd4e5f45", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-revenue-sources.ts:29"}, "properties": {"repobilityId": "790aadb1e91dc878", "scanner": "scanner-primary", "fingerprint": "cf506cf7fd4e5f45", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a965fd92cc66c7f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-email-discount-codes.ts:40"}, "properties": {"repobilityId": "eb34953ef4052006", "scanner": "scanner-primary", "fingerprint": "a965fd92cc66c7f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f58e04bd3f097816", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/20-migrate-claude-to-maya.ts:6"}, "properties": {"repobilityId": "adbdfaba01bcd8d0", "scanner": "scanner-primary", "fingerprint": "f58e04bd3f097816", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee6fc8df7e5c356f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-stuck-post.ts:17"}, "properties": {"repobilityId": "b7728c298ad36b1f", "scanner": "scanner-primary", "fingerprint": "ee6fc8df7e5c356f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-754cfb54d7464943", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/email-performance-report.ts:322"}, "properties": {"repobilityId": "c08ba811494fb1fb", "scanner": "scanner-primary", "fingerprint": "754cfb54d7464943", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d34419aac29b6aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-email-drafts-trigger.ts:22"}, "properties": {"repobilityId": "02aa6e187c91bcb0", "scanner": "scanner-primary", "fingerprint": "2d34419aac29b6aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cde0f1e63982d281", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-test-models.ts:17"}, "properties": {"repobilityId": "3ce35bb0b56f0aa7", "scanner": "scanner-primary", "fingerprint": "cde0f1e63982d281", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b944a45784c54fd1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-paid-blueprint-product.ts:46"}, "properties": {"repobilityId": "d2369bbcf36277df", "scanner": "scanner-primary", "fingerprint": "b944a45784c54fd1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56ff6b739c2d9b3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/08-analyze-production-data.ts:8"}, "properties": {"repobilityId": "ccaa574a4dd6d063", "scanner": "scanner-primary", "fingerprint": "56ff6b739c2d9b3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5bd05829c9c51d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-user-lora-scales.js:6"}, "properties": {"repobilityId": "462dc6838ed6bcb7", "scanner": "scanner-primary", "fingerprint": "c5bd05829c9c51d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a902dbea0bf81de", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-feed-planner-mode-issues.ts:11"}, "properties": {"repobilityId": "d6e6f244f637eabb", "scanner": "scanner-primary", "fingerprint": "7a902dbea0bf81de", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da6c39c2e375de4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-e2e-blueprint-test.ts:27"}, "properties": {"repobilityId": "eb1a16d056666631", "scanner": "scanner-primary", "fingerprint": "da6c39c2e375de4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a6756c84548e217", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-user-access.ts:61"}, "properties": {"repobilityId": "c7049306d959bb2b", "scanner": "scanner-primary", "fingerprint": "1a6756c84548e217", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-124a1d2109281729", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-classic-mode-restoration.ts:24"}, "properties": {"repobilityId": "59043c83e1a3d8f3", "scanner": "scanner-primary", "fingerprint": "124a1d2109281729", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-695c42ac7d7463f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-bjarki-lora-to-1.js:10"}, "properties": {"repobilityId": "9684722177526852", "scanner": "scanner-primary", "fingerprint": "695c42ac7d7463f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-445063ea58324445", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/switch-sandra-model.ts:22"}, "properties": {"repobilityId": "ae0c6289a5a45eaa", "scanner": "scanner-primary", "fingerprint": "445063ea58324445", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb6d9dd2bd797488", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-user.ts:29"}, "properties": {"repobilityId": "0c1a88cd20bfb250", "scanner": "scanner-primary", "fingerprint": "bb6d9dd2bd797488", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e768461d9c08a30d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-orphaned-object-literals.ts:131"}, "properties": {"repobilityId": "79aa8789e5e42ddc", "scanner": "scanner-primary", "fingerprint": "e768461d9c08a30d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cba13443b49efcb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-and-repair-feed-style.ts:19"}, "properties": {"repobilityId": "4055241922830081", "scanner": "scanner-primary", "fingerprint": "cba13443b49efcb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-587041fef5d1474b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v2.ts:32"}, "properties": {"repobilityId": "b363f0719cb71538", "scanner": "scanner-primary", "fingerprint": "587041fef5d1474b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1092481c817735e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-discount.ts:18"}, "properties": {"repobilityId": "28f324a8dce694f7", "scanner": "scanner-primary", "fingerprint": "e1092481c817735e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7752db0414536835", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-hard-bounces.ts:66"}, "properties": {"repobilityId": "78f2c5c31dfa3bfd", "scanner": "scanner-primary", "fingerprint": "7752db0414536835", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12e8f07f7965a969", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/grant-shopify-customer-access.ts:16"}, "properties": {"repobilityId": "5a6fdcc59b3bd61a", "scanner": "scanner-primary", "fingerprint": "12e8f07f7965a969", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac92c0ec4fb30032", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/friction-digest.ts:388"}, "properties": {"repobilityId": "8613ba4498f96a47", "scanner": "scanner-primary", "fingerprint": "ac92c0ec4fb30032", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7488f3a9239422b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-subscription-data.ts:21"}, "properties": {"repobilityId": "52205befd93f074f", "scanner": "scanner-primary", "fingerprint": "f7488f3a9239422b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5778191534033e4a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-test-coupon-live.js:12"}, "properties": {"repobilityId": "f4fae8b611a7e0f3", "scanner": "scanner-primary", "fingerprint": "5778191534033e4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83be127a3e7a7332", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-test-to-live.js:10"}, "properties": {"repobilityId": "843fe205361a3418", "scanner": "scanner-primary", "fingerprint": "83be127a3e7a7332", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1205bad3c3331c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-duplicate-emails.js:25"}, "properties": {"repobilityId": "cd02193a0d1bc70b", "scanner": "scanner-primary", "fingerprint": "e1205bad3c3331c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c418f2867338596", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-image-prompt.ts:12"}, "properties": {"repobilityId": "b13dd533f79d87d0", "scanner": "scanner-primary", "fingerprint": "3c418f2867338596", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c04c7c6923ea1e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-freebie-table.ts:13"}, "properties": {"repobilityId": "4a87ea7e6c80008b", "scanner": "scanner-primary", "fingerprint": "4c04c7c6923ea1e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a5d297e633ba598", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-memory-data-migration.ts:24"}, "properties": {"repobilityId": "06d46514338e30c3", "scanner": "scanner-primary", "fingerprint": "6a5d297e633ba598", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12c597f29d7ac199", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-pricing-config.ts:11"}, "properties": {"repobilityId": "62c4fe2ca9e46e66", "scanner": "scanner-primary", "fingerprint": "12c597f29d7ac199", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-acc85accb7da2850", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/39-run-prompt-builder-chat-type-migration.ts:27"}, "properties": {"repobilityId": "a276f85055d8dd28", "scanner": "scanner-primary", "fingerprint": "acc85accb7da2850", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-111f2577d6dec590", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-shannon-data.ts:7"}, "properties": {"repobilityId": "c0c397a63b9df7a6", "scanner": "scanner-primary", "fingerprint": "111f2577d6dec590", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9cd8804ce41c422b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/support-digest.ts:286"}, "properties": {"repobilityId": "d627a889631a577a", "scanner": "scanner-primary", "fingerprint": "9cd8804ce41c422b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-711217815b8b2064", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-prompt-diversity.ts:146"}, "properties": {"repobilityId": "0127fc8588de0ae9", "scanner": "scanner-primary", "fingerprint": "711217815b8b2064", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48948c87ec596b8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-email-drafts-table.ts:20"}, "properties": {"repobilityId": "2d3838539a0ca93b", "scanner": "scanner-primary", "fingerprint": "48948c87ec596b8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c1e5f8b95e1cdb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-paid-blueprint-stripe-config.ts:20"}, "properties": {"repobilityId": "f96075c936872ce7", "scanner": "scanner-primary", "fingerprint": "2c1e5f8b95e1cdb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1db4ef06d604f191", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-shannon-upload-access.ts:7"}, "properties": {"repobilityId": "91df8e52cd1688b7", "scanner": "scanner-primary", "fingerprint": "1db4ef06d604f191", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d60252b7055bc8c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-stories.ts:26"}, "properties": {"repobilityId": "57628b9b7a147894", "scanner": "scanner-primary", "fingerprint": "3d60252b7055bc8c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-168ee0c3a658ee5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/extract-reel-references.ts:145"}, "properties": {"repobilityId": "6ae8d2242f4c44e3", "scanner": "scanner-primary", "fingerprint": "168ee0c3a658ee5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20b9b2963a049cdb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/calculate-live-mrr-with-discounts.ts:14"}, "properties": {"repobilityId": "879939874cc9e3c6", "scanner": "scanner-primary", "fingerprint": "20b9b2963a049cdb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdd4d627f28bd3a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-stripe-products.ts:64"}, "properties": {"repobilityId": "9be56a6627d28aba", "scanner": "scanner-primary", "fingerprint": "cdd4d627f28bd3a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc6d694586daa42c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/maya-quality-audit.ts:212"}, "properties": {"repobilityId": "b4c574244a154c1e", "scanner": "scanner-primary", "fingerprint": "dc6d694586daa42c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05f8c7221dbad757", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe-mrr-reconciliation.ts:14"}, "properties": {"repobilityId": "f7390323c13c1e19", "scanner": "scanner-primary", "fingerprint": "05f8c7221dbad757", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c82ef93becd2c81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/triage-hourly.ts:150"}, "properties": {"repobilityId": "2628cfd77fff6ecf", "scanner": "scanner-primary", "fingerprint": "2c82ef93becd2c81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf6b609779b3225b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-style-references.ts:34"}, "properties": {"repobilityId": "5dddbfe30795e622", "scanner": "scanner-primary", "fingerprint": "bf6b609779b3225b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ce9cae0556b2017", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-lora-weights.ts:6"}, "properties": {"repobilityId": "98786a57fe80d463", "scanner": "scanner-primary", "fingerprint": "4ce9cae0556b2017", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3b5815386c7c141", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-feed-schema.ts:24"}, "properties": {"repobilityId": "494645a3a77f4b78", "scanner": "scanner-primary", "fingerprint": "e3b5815386c7c141", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fe59b8330345e40", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-project-tracker.js:14"}, "properties": {"repobilityId": "a16080c631b4ec2d", "scanner": "scanner-primary", "fingerprint": "8fe59b8330345e40", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ffe3c466288de74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-blueprint-checkout.ts:285"}, "properties": {"repobilityId": "dfdb5188bcea2cd7", "scanner": "scanner-primary", "fingerprint": "7ffe3c466288de74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3032d1213d3cc8fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-resend-setup.ts:30"}, "properties": {"repobilityId": "41586bf6ec4e6802", "scanner": "scanner-primary", "fingerprint": "3032d1213d3cc8fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-faf12a3e0550d244", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/23-check-images-data.ts:6"}, "properties": {"repobilityId": "04fdd98ddd08cfc0", "scanner": "scanner-primary", "fingerprint": "faf12a3e0550d244", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ada621cb0bcdf04", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-reel-references.ts:36"}, "properties": {"repobilityId": "165584444aef8d62", "scanner": "scanner-primary", "fingerprint": "9ada621cb0bcdf04", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5448c210cc1cc3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-creation-refactoring.ts:72"}, "properties": {"repobilityId": "854464eb2f95a09c", "scanner": "scanner-primary", "fingerprint": "a5448c210cc1cc3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94d0c312fd41eb06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-style-references.ts:23"}, "properties": {"repobilityId": "729585b403121336", "scanner": "scanner-primary", "fingerprint": "94d0c312fd41eb06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcd5122e03b8951b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-maya-plan-migration.ts:11"}, "properties": {"repobilityId": "fe1248548d19d566", "scanner": "scanner-primary", "fingerprint": "dcd5122e03b8951b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fcf8eabf0c61f47d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/db-inventory.ts:125"}, "properties": {"repobilityId": "1e58d15af8d5c945", "scanner": "scanner-primary", "fingerprint": "fcf8eabf0c61f47d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-679ef37eee27a23d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/user-journey-smoke.ts:204"}, "properties": {"repobilityId": "e033561e8b29ffdc", "scanner": "scanner-primary", "fingerprint": "679ef37eee27a23d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f27c0dc8c295d7d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-admin-alert-tracking.ts:12"}, "properties": {"repobilityId": "583d8f06046a9f33", "scanner": "scanner-primary", "fingerprint": "f27c0dc8c295d7d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f7869a8c19e7387", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-resend-broadcast.ts:18"}, "properties": {"repobilityId": "87b4f89a820a3aeb", "scanner": "scanner-primary", "fingerprint": "6f7869a8c19e7387", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13e632539330ff84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4.ts:22"}, "properties": {"repobilityId": "9a3a4d94e7808316", "scanner": "scanner-primary", "fingerprint": "13e632539330ff84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e16f06e2ffdf8271", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-project-tracker-tables.ts:9"}, "properties": {"repobilityId": "b8ba3478a6786731", "scanner": "scanner-primary", "fingerprint": "e16f06e2ffdf8271", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e5d89dffb405abce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-academy-03-migration.ts:11"}, "properties": {"repobilityId": "6e93e78e33d4cb3c", "scanner": "scanner-primary", "fingerprint": "e5d89dffb405abce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a9324ceadad56aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-coupon-webhook.ts:46"}, "properties": {"repobilityId": "d69bf5da355cdefa", "scanner": "scanner-primary", "fingerprint": "8a9324ceadad56aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-949e66275c888739", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-planner-issues.ts:43"}, "properties": {"repobilityId": "182bbfc4d25259de", "scanner": "scanner-primary", "fingerprint": "949e66275c888739", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-abbad7a29a4e48b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-maya-pro-mode-restoration.ts:23"}, "properties": {"repobilityId": "b8a1b213a1bf74fa", "scanner": "scanner-primary", "fingerprint": "abbad7a29a4e48b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba6014e4cebee2f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits-v3.ts:37"}, "properties": {"repobilityId": "e4f17f4339e139cc", "scanner": "scanner-primary", "fingerprint": "ba6014e4cebee2f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6bf5bb5a0a15c36", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/link-christian-account.js:6"}, "properties": {"repobilityId": "2f305ab7481e777b", "scanner": "scanner-primary", "fingerprint": "d6bf5bb5a0a15c36", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6a41b3fafb46fed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-webhook-status.ts:16"}, "properties": {"repobilityId": "a8625f3d07df9b5f", "scanner": "scanner-primary", "fingerprint": "e6a41b3fafb46fed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cab4d6e74a85709b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-feed-api-endpoints.ts:31"}, "properties": {"repobilityId": "d1faba7f2d9fad08", "scanner": "scanner-primary", "fingerprint": "cab4d6e74a85709b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fc86c34b6f110d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/find-orphaned-data.js:6"}, "properties": {"repobilityId": "aa182a3340b8bc97", "scanner": "scanner-primary", "fingerprint": "8fc86c34b6f110d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d92b203e76478ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-55.ts:9"}, "properties": {"repobilityId": "3a8fdf8e3a3e233f", "scanner": "scanner-primary", "fingerprint": "5d92b203e76478ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7472ab7396b22b1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-instagram-oauth-state.ts:22"}, "properties": {"repobilityId": "8f6af769e70ddb0d", "scanner": "scanner-primary", "fingerprint": "a7472ab7396b22b1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-324773018bde5d33", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cleanup-maya-chat-duplicates.ts:65"}, "properties": {"repobilityId": "37e38ace3cd3a424", "scanner": "scanner-primary", "fingerprint": "324773018bde5d33", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ab46de6ebfc1139", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-migration-51.ts:30"}, "properties": {"repobilityId": "7eb88a0e4060a48a", "scanner": "scanner-primary", "fingerprint": "1ab46de6ebfc1139", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11feec20cebfc578", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-email-drafts-migration.ts:25"}, "properties": {"repobilityId": "8f4d551c5c4156ea", "scanner": "scanner-primary", "fingerprint": "11feec20cebfc578", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42a92a3598d08bd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/funnel-digest.ts:514"}, "properties": {"repobilityId": "29deb73708138aae", "scanner": "scanner-primary", "fingerprint": "42a92a3598d08bd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c454ea766e71a1c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/diagnose-beta-users.ts:25"}, "properties": {"repobilityId": "2a0124a2476ed423", "scanner": "scanner-primary", "fingerprint": "c454ea766e71a1c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-219b451f556bc390", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-email-log-dedupe.ts:52"}, "properties": {"repobilityId": "a632fe6814f7d9f5", "scanner": "scanner-primary", "fingerprint": "219b451f556bc390", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8cdfde5a850c8ade", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/winback-ex-members.ts:50"}, "properties": {"repobilityId": "e5b94e8785bc6a41", "scanner": "scanner-primary", "fingerprint": "8cdfde5a850c8ade", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b8302bc73cdfd60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-status.ts:23"}, "properties": {"repobilityId": "a511b87087a653d5", "scanner": "scanner-primary", "fingerprint": "6b8302bc73cdfd60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e39bdd953b723220", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-paid-blueprint-subscription.ts:25"}, "properties": {"repobilityId": "1c8ae2ff58c7ecc7", "scanner": "scanner-primary", "fingerprint": "e39bdd953b723220", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c866bb68aaf3ccb4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-content-demo-pairs.ts:26"}, "properties": {"repobilityId": "0c314451c72cae07", "scanner": "scanner-primary", "fingerprint": "c866bb68aaf3ccb4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cff6e324b02bfc83", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-missing-monthly-credits.ts:32"}, "properties": {"repobilityId": "cf823787dfbaa965", "scanner": "scanner-primary", "fingerprint": "cff6e324b02bfc83", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ff99dc744d1794c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/daily-maintenance.ts:9"}, "properties": {"repobilityId": "63a38673da3aa9b0", "scanner": "scanner-primary", "fingerprint": "8ff99dc744d1794c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29163981980a2e78", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reference-image-prompt.ts:13"}, "properties": {"repobilityId": "8a501c311fae74d8", "scanner": "scanner-primary", "fingerprint": "29163981980a2e78", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f8b17c237877c71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/export-production-to-sql.ts:8"}, "properties": {"repobilityId": "365476ab925b2c4a", "scanner": "scanner-primary", "fingerprint": "2f8b17c237877c71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2238e048e2801a3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/12-migrate-all-data.ts:9"}, "properties": {"repobilityId": "667b1ba12495eb6b", "scanner": "scanner-primary", "fingerprint": "2238e048e2801a3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89055bb37e42330a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-content-brief.ts:10"}, "properties": {"repobilityId": "86677abb3120c9da", "scanner": "scanner-primary", "fingerprint": "89055bb37e42330a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbce6020ba0321d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/list-resend-segments.ts:36"}, "properties": {"repobilityId": "f024964637ae5dfa", "scanner": "scanner-primary", "fingerprint": "bbce6020ba0321d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92a4883abb2f2be6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-decision1-credits.ts:35"}, "properties": {"repobilityId": "1b1dbb6a61be0f32", "scanner": "scanner-primary", "fingerprint": "92a4883abb2f2be6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-821a1c5a4984d368", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-shipped-slides.ts:79"}, "properties": {"repobilityId": "0469929db271f055", "scanner": "scanner-primary", "fingerprint": "821a1c5a4984d368", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4cbcd0a10ee65282", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-user-stripe-status.ts:20"}, "properties": {"repobilityId": "b33f8fbffe6dfd07", "scanner": "scanner-primary", "fingerprint": "4cbcd0a10ee65282", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4534b3fa094d99c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-test-models-flag.ts:17"}, "properties": {"repobilityId": "2923feec7b84ddf6", "scanner": "scanner-primary", "fingerprint": "4534b3fa094d99c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af06cd5c616eb5cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit-multi-subscriptions.ts:131"}, "properties": {"repobilityId": "ded93483760f6acd", "scanner": "scanner-primary", "fingerprint": "af06cd5c616eb5cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fda2412a8576cdda", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-stripe-beta-coupon.ts:14"}, "properties": {"repobilityId": "d2b3f81688b70789", "scanner": "scanner-primary", "fingerprint": "fda2412a8576cdda", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c931a2f7eaa61f0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lower-bjarki-lora.js:7"}, "properties": {"repobilityId": "5da5d1b757682521", "scanner": "scanner-primary", "fingerprint": "c931a2f7eaa61f0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3cd8cc0947300350", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/retry-blueprint-followup-failures.ts:293"}, "properties": {"repobilityId": "bc97fb0d53a70b10", "scanner": "scanner-primary", "fingerprint": "3cd8cc0947300350", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d10b1d7e591a976", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-referral-system.ts:24"}, "properties": {"repobilityId": "09e6b89f8a3cf4a8", "scanner": "scanner-primary", "fingerprint": "7d10b1d7e591a976", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d11a3a8b1428028", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-prices.ts:32"}, "properties": {"repobilityId": "e9ede494e660d7c4", "scanner": "scanner-primary", "fingerprint": "2d11a3a8b1428028", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f5143731c39c3719", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-pr4-simple.ts:17"}, "properties": {"repobilityId": "207a062dc922e327", "scanner": "scanner-primary", "fingerprint": "f5143731c39c3719", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68e69d69b4c9dcfe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-feed-cards-migration.ts:24"}, "properties": {"repobilityId": "a9244d90bcc53bcf", "scanner": "scanner-primary", "fingerprint": "68e69d69b4c9dcfe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9db6023339e5e66e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repair-missing-credit-transactions.ts:14"}, "properties": {"repobilityId": "56460920f481e1b4", "scanner": "scanner-primary", "fingerprint": "9db6023339e5e66e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c91ac91b8fed1465", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/index-codebase.ts:26"}, "properties": {"repobilityId": "b6b8fa65b020b357", "scanner": "scanner-primary", "fingerprint": "c91ac91b8fed1465", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f353517a92118b85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-stripe-customer-ids.ts:75"}, "properties": {"repobilityId": "a58729366a27b6d1", "scanner": "scanner-primary", "fingerprint": "f353517a92118b85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0e66253cef357d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/email-audit-diagnostics.ts:28"}, "properties": {"repobilityId": "65fa019f1fe51b7c", "scanner": "scanner-primary", "fingerprint": "f0e66253cef357d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3b8d34aa4647b0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-paid-blueprint-migrations.ts:14"}, "properties": {"repobilityId": "04254f9e97e4594c", "scanner": "scanner-primary", "fingerprint": "e3b8d34aa4647b0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0ba22dde39666066", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-pro-photoshoot-migration-v2.ts:23"}, "properties": {"repobilityId": "a1676cb662a0f800", "scanner": "scanner-primary", "fingerprint": "0ba22dde39666066", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ea25088c5bd13613", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-payment-ids.ts:14"}, "properties": {"repobilityId": "cf9f09bbb0f88695", "scanner": "scanner-primary", "fingerprint": "ea25088c5bd13613", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cfb19b63f1d72608", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-stripe-live-config.ts:146"}, "properties": {"repobilityId": "2674f3aa45265957", "scanner": "scanner-primary", "fingerprint": "cfb19b63f1d72608", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53cd7682fb8f7d0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-lora-to-users.ts:6"}, "properties": {"repobilityId": "c7df0021ab8fbe7d", "scanner": "scanner-primary", "fingerprint": "53cd7682fb8f7d0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7ecf8c17094d292", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/27-fix-missing-lora-url.ts:7"}, "properties": {"repobilityId": "eec3b92ed42d4dcf", "scanner": "scanner-primary", "fingerprint": "e7ecf8c17094d292", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-525ce9a7473276fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/setup-email-automation-tables.ts:25"}, "properties": {"repobilityId": "094abde8c9fd0919", "scanner": "scanner-primary", "fingerprint": "525ce9a7473276fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-841635ba2707321c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-blueprint-followup-columns.ts:26"}, "properties": {"repobilityId": "4c147e17b5b241f3", "scanner": "scanner-primary", "fingerprint": "841635ba2707321c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-16a48403ba4a4a11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reconcile-subscriber-counts.ts:200"}, "properties": {"repobilityId": "23cd048632fc01bb", "scanner": "scanner-primary", "fingerprint": "16a48403ba4a4a11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-029483f1dd774f40", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prototype-cover-slide.ts:59"}, "properties": {"repobilityId": "314544dbbd40ce50", "scanner": "scanner-primary", "fingerprint": "029483f1dd774f40", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b621734fd1eca07b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/entitle-01-audit-test-mode-subscriptions.ts:135"}, "properties": {"repobilityId": "e20a84eed282a789", "scanner": "scanner-primary", "fingerprint": "b621734fd1eca07b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8b794986c167c537", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-decision2-setup.ts:36"}, "properties": {"repobilityId": "e41e8ae58071eb4f", "scanner": "scanner-primary", "fingerprint": "8b794986c167c537", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d04f47380bca8179", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-paid-blueprint-api.ts:33"}, "properties": {"repobilityId": "01fba445b06401c6", "scanner": "scanner-primary", "fingerprint": "d04f47380bca8179", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9a740b867d4d0b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-prompt-authority.ts:141"}, "properties": {"repobilityId": "6e05e43995872b26", "scanner": "scanner-primary", "fingerprint": "e9a740b867d4d0b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b463aea9126adce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-campaign-segment.ts:16"}, "properties": {"repobilityId": "55b8339df8f5fe90", "scanner": "scanner-primary", "fingerprint": "1b463aea9126adce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-334eda0fc2e275c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/remove-pre-payment-credits.ts:70"}, "properties": {"repobilityId": "18f4404024ebb3c3", "scanner": "scanner-primary", "fingerprint": "334eda0fc2e275c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcd562361a2a1cbc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-prompt-guide-migration.ts:24"}, "properties": {"repobilityId": "14bc1376efea7477", "scanner": "scanner-primary", "fingerprint": "dcd562361a2a1cbc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbeb0053570a87ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/01-dead-routes-audit.js:35"}, "properties": {"repobilityId": "6a63b54f7bea4e7d", "scanner": "scanner-primary", "fingerprint": "bbeb0053570a87ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7e2b2678684d4fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/monitoring/03-cron-status-report.js:36"}, "properties": {"repobilityId": "02d6c1b6ee80db7b", "scanner": "scanner-primary", "fingerprint": "a7e2b2678684d4fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c1e141581370662", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/markdown-repo-curator.ts:91"}, "properties": {"repobilityId": "13c791020c617349", "scanner": "scanner-primary", "fingerprint": "7c1e141581370662", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7c8409c128229a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/repo-cartographer.ts:194"}, "properties": {"repobilityId": "270a9e721d1ad80d", "scanner": "scanner-primary", "fingerprint": "b7c8409c128229a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5c6601f957f6f7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/integration-health-check.ts:145"}, "properties": {"repobilityId": "044edb28cf150942", "scanner": "scanner-primary", "fingerprint": "a5c6601f957f6f7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ced53e50318ac9c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/prompt-authority-inspector.ts:107"}, "properties": {"repobilityId": "9d2d6d2750a6a4b0", "scanner": "scanner-primary", "fingerprint": "ced53e50318ac9c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd5d3e5eec10c58e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/dead-code-hunter.ts:142"}, "properties": {"repobilityId": "77f3bc7c62aa4b65", "scanner": "scanner-primary", "fingerprint": "fd5d3e5eec10c58e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13e433b793266009", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/architecture-simplifier.ts:104"}, "properties": {"repobilityId": "e6adbfb7fa1a2cfd", "scanner": "scanner-primary", "fingerprint": "13e433b793266009", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32d275f4d8b95236", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/upgrade-readiness-check.ts:112"}, "properties": {"repobilityId": "a9d3d1a55fa7c545", "scanner": "scanner-primary", "fingerprint": "32d275f4d8b95236", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d19836abf95dc9a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/user-journey-scanner.ts:102"}, "properties": {"repobilityId": "be0aa6fafc9ad5d3", "scanner": "scanner-primary", "fingerprint": "d19836abf95dc9a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9904147eef58f67d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/audit/gravity-scanner.ts:118"}, "properties": {"repobilityId": "b6d2aac107014883", "scanner": "scanner-primary", "fingerprint": "9904147eef58f67d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d821525204de1d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-stripe-payments-recent.ts:587"}, "properties": {"repobilityId": "3315f9f9f71af27e", "scanner": "scanner-primary", "fingerprint": "2d821525204de1d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b3faadb0eb134bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-free-welcome-credits.ts:173"}, "properties": {"repobilityId": "24fe2f2fc1de78e6", "scanner": "scanner-primary", "fingerprint": "6b3faadb0eb134bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29cd26cd96d19456", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-membership-credits.ts:151"}, "properties": {"repobilityId": "e90d39e1ab99d8f4", "scanner": "scanner-primary", "fingerprint": "29cd26cd96d19456", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6514850b12c2e08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/normalize-stripe-one-time-product-types.ts:116"}, "properties": {"repobilityId": "1b39d59df13d5a33", "scanner": "scanner-primary", "fingerprint": "a6514850b12c2e08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53a5e9186383e9cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-resend-broadcast-email-logs.ts:355"}, "properties": {"repobilityId": "88c518aac869ce2e", "scanner": "scanner-primary", "fingerprint": "53a5e9186383e9cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6e75881a6b947fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/repair-prompt-vault-checkout-attribution.ts:148"}, "properties": {"repobilityId": "3b1217223791f1b5", "scanner": "scanner-primary", "fingerprint": "a6e75881a6b947fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-64b41f92c07ebd19", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill/backfill-blueprint-subscriber-user-ids.ts:62"}, "properties": {"repobilityId": "ee5e145880d827d2", "scanner": "scanner-primary", "fingerprint": "64b41f92c07ebd19", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-34286d04dd3eb20c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/investigate-specific-charge.ts:20"}, "properties": {"repobilityId": "5ab89091025013d7", "scanner": "scanner-primary", "fingerprint": "34286d04dd3eb20c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71ee2d03889d660c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/find-affected-users.ts:76"}, "properties": {"repobilityId": "97161fb656a59db2", "scanner": "scanner-primary", "fingerprint": "71ee2d03889d660c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5136493e0b66d43a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/apply-refunds.ts:212"}, "properties": {"repobilityId": "c47c2775c17ee689", "scanner": "scanner-primary", "fingerprint": "5136493e0b66d43a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eda1bc352e631535", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/fix-webhook-endpoints.ts:63"}, "properties": {"repobilityId": "b57fb2ac94f95f74", "scanner": "scanner-primary", "fingerprint": "eda1bc352e631535", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da7a4e8ed18c985d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/check-beta50-promo-code.ts:16"}, "properties": {"repobilityId": "027daf338d81adad", "scanner": "scanner-primary", "fingerprint": "da7a4e8ed18c985d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30337b43531e2252", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/stripe/verify-beta-pricing.ts:70"}, "properties": {"repobilityId": "aabae71744523c2d", "scanner": "scanner-primary", "fingerprint": "30337b43531e2252", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff253c5491d90019", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-feature-flags-table.ts:23"}, "properties": {"repobilityId": "68d1c37b94f938e4", "scanner": "scanner-primary", "fingerprint": "ff253c5491d90019", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ab618b2afa92474", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-cron-runs-table.ts:23"}, "properties": {"repobilityId": "f65c6450b90697b0", "scanner": "scanner-primary", "fingerprint": "8ab618b2afa92474", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1047df27b1cf9ee8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/create-email-errors-table.ts:23"}, "properties": {"repobilityId": "dd3de6951d27a1af", "scanner": "scanner-primary", "fingerprint": "1047df27b1cf9ee8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c91cb25f59d97a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-admin-wiring.ts:146"}, "properties": {"repobilityId": "f07ca3e8d56ebd5f", "scanner": "scanner-primary", "fingerprint": "6c91cb25f59d97a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f96eef5812b384cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-columns.ts:24"}, "properties": {"repobilityId": "45961e24a804f6ad", "scanner": "scanner-primary", "fingerprint": "f96eef5812b384cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d109708ff441b39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/verify-and-create-admin-tables.ts:66"}, "properties": {"repobilityId": "26a2f28aa30b4bab", "scanner": "scanner-primary", "fingerprint": "5d109708ff441b39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2faee5d88819130", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/run-admin-migrations.ts:52"}, "properties": {"repobilityId": "331b9d11ee9d6a00", "scanner": "scanner-primary", "fingerprint": "a2faee5d88819130", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0802e0237fd56c06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/admin-migrations/check-admin-tables.ts:47"}, "properties": {"repobilityId": "0ad3636d2f7523dd", "scanner": "scanner-primary", "fingerprint": "0802e0237fd56c06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e90735c7cd65e3cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-photography-style-migration.ts:26"}, "properties": {"repobilityId": "9dc2010c453eecb0", "scanner": "scanner-primary", "fingerprint": "e90735c7cd65e3cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97eb89b85f09ffcc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-generation-tracking.ts:29"}, "properties": {"repobilityId": "2a65af9f88c260c8", "scanner": "scanner-primary", "fingerprint": "97eb89b85f09ffcc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0235b6be3f578d55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-feed-rotation-migration.ts:18"}, "properties": {"repobilityId": "697b2b518ac37a22", "scanner": "scanner-primary", "fingerprint": "0235b6be3f578d55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f199d9aac3cfa68a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-id-blueprint-migration.ts:18"}, "properties": {"repobilityId": "df133a0307d9c8d7", "scanner": "scanner-primary", "fingerprint": "f199d9aac3cfa68a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47370c414b591f97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-010-creative-content-tables.ts:19"}, "properties": {"repobilityId": "bca6f76e70d2dab7", "scanner": "scanner-primary", "fingerprint": "47370c414b591f97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-033bea1bcc280c6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-to-unified-wizard-migration.ts:33"}, "properties": {"repobilityId": "e51319034e72be3a", "scanner": "scanner-primary", "fingerprint": "033bea1bcc280c6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ca44364fd591cde7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-contact-tracking.ts:25"}, "properties": {"repobilityId": "aa0b4c6e92e3646e", "scanner": "scanner-primary", "fingerprint": "ca44364fd591cde7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14e4a799cdf300d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-onboarding-columns-migration.ts:13"}, "properties": {"repobilityId": "939f14d96c7644f3", "scanner": "scanner-primary", "fingerprint": "14e4a799cdf300d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbb123169a863ed3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-image-libraries-migration.ts:25"}, "properties": {"repobilityId": "d57b6df5441d36f5", "scanner": "scanner-primary", "fingerprint": "bbb123169a863ed3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24deafda2251b812", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-feed-rotation-migration.ts:21"}, "properties": {"repobilityId": "f9a6fbf3fd0ec7c3", "scanner": "scanner-primary", "fingerprint": "24deafda2251b812", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df005300395148de", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-user-id-blueprint-migration.ts:19"}, "properties": {"repobilityId": "d53f7fe15149e8da", "scanner": "scanner-primary", "fingerprint": "df005300395148de", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a390e39234caa98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-pro-mode-sessions.ts:21"}, "properties": {"repobilityId": "0930a5a565e511b1", "scanner": "scanner-primary", "fingerprint": "9a390e39234caa98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9796ca60f4993cb0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-user-pro-setup-direct.ts:16"}, "properties": {"repobilityId": "1610450f5fe495ed", "scanner": "scanner-primary", "fingerprint": "9796ca60f4993cb0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e6c3c129651beb4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-add-onboarding-columns-migration.ts:12"}, "properties": {"repobilityId": "ce948e30d3f05b09", "scanner": "scanner-primary", "fingerprint": "0e6c3c129651beb4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-12dc7c8bec3034cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-loops-columns.ts:27"}, "properties": {"repobilityId": "e6f1952b98f8c883", "scanner": "scanner-primary", "fingerprint": "12dc7c8bec3034cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d0983218dbdb461", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-brand-engine-migration.ts:61"}, "properties": {"repobilityId": "13e72bb39ceeb1d2", "scanner": "scanner-primary", "fingerprint": "2d0983218dbdb461", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-553078355b7ac582", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-prompt-pages-updated-at-migration.ts:18"}, "properties": {"repobilityId": "2a40035e8e70cb3a", "scanner": "scanner-primary", "fingerprint": "553078355b7ac582", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-15fcd17667cdb0a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-alex-suggestion-migration.ts:25"}, "properties": {"repobilityId": "9b22431eab2f77c5", "scanner": "scanner-primary", "fingerprint": "15fcd17667cdb0a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-daf621c14e71bd2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-pro-mode-sessions-migration.ts:23"}, "properties": {"repobilityId": "093f13edddd6332f", "scanner": "scanner-primary", "fingerprint": "daf621c14e71bd2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e3a137a45a787e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-blueprint-usage-tracking-migration.ts:18"}, "properties": {"repobilityId": "a9b4b23c00a9cf44", "scanner": "scanner-primary", "fingerprint": "1e3a137a45a787e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0dc6086d9d8b042b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-to-unified-wizard-migration.ts:45"}, "properties": {"repobilityId": "df17d1dbaa6d895b", "scanner": "scanner-primary", "fingerprint": "0dc6086d9d8b042b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3801be20a8322daf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-studio-pro-migration.ts:20"}, "properties": {"repobilityId": "6a054e559695d33e", "scanner": "scanner-primary", "fingerprint": "3801be20a8322daf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-98b9de606272e221", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-referrals-migration.ts:19"}, "properties": {"repobilityId": "dbbd081ca80f6a66", "scanner": "scanner-primary", "fingerprint": "98b9de606272e221", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1994afb9d93fa084", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-013-loops-columns.ts:19"}, "properties": {"repobilityId": "c2c0ac57047de728", "scanner": "scanner-primary", "fingerprint": "1994afb9d93fa084", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fbec7729d6a4aed8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-blueprint-usage-tracking-migration.ts:18"}, "properties": {"repobilityId": "1cfaf1cbeab5a636", "scanner": "scanner-primary", "fingerprint": "fbec7729d6a4aed8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ec83e39a03907ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-variation-to-personal-brand.ts:19"}, "properties": {"repobilityId": "55aeadb6723963b6", "scanner": "scanner-primary", "fingerprint": "4ec83e39a03907ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48d32481eca35235", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-013-direct.ts:22"}, "properties": {"repobilityId": "b40ba4074e3b0833", "scanner": "scanner-primary", "fingerprint": "48d32481eca35235", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ae922fdb6df884c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/debug-missing-user-credits.ts:18"}, "properties": {"repobilityId": "215e74a03532b950", "scanner": "scanner-primary", "fingerprint": "5ae922fdb6df884c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c73cee10e6864cbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-grant-credits.ts:10"}, "properties": {"repobilityId": "712a433daed1afb8", "scanner": "scanner-primary", "fingerprint": "c73cee10e6864cbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0497192ed4310190", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-grant-free-user-credits-migration.ts:27"}, "properties": {"repobilityId": "ca7e74fc05ddadc0", "scanner": "scanner-primary", "fingerprint": "0497192ed4310190", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-370ccf0f671a65e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-add-feed-style-migration.ts:21"}, "properties": {"repobilityId": "cae23876f48726b3", "scanner": "scanner-primary", "fingerprint": "370ccf0f671a65e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44d5804d8b78d218", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-enable-feed-planner-v2-for-all.ts:19"}, "properties": {"repobilityId": "a08034324b3a878d", "scanner": "scanner-primary", "fingerprint": "44d5804d8b78d218", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d552e7a981473a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-studio-pro-tables.ts:16"}, "properties": {"repobilityId": "b2ed042c8ac3b55a", "scanner": "scanner-primary", "fingerprint": "7d552e7a981473a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03208fc9c221563a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-paid-blueprint-email-columns.ts:16"}, "properties": {"repobilityId": "6c9430120490aa3c", "scanner": "scanner-primary", "fingerprint": "03208fc9c221563a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3eaee670b080b6a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-style-variations-v2-migration.ts:19"}, "properties": {"repobilityId": "be21d666c5bde85d", "scanner": "scanner-primary", "fingerprint": "3eaee670b080b6a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7344fb55941bde6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-user-image-libraries.ts:21"}, "properties": {"repobilityId": "afb56e0166aed33c", "scanner": "scanner-primary", "fingerprint": "c7344fb55941bde6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-74cfcc6f4ec34aa3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-paid-blueprint-email-columns.ts:23"}, "properties": {"repobilityId": "c0a5e6aa857f4cbc", "scanner": "scanner-primary", "fingerprint": "74cfcc6f4ec34aa3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a6854da9aa62bc3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/verify-grant-free-user-credits-migration.ts:20"}, "properties": {"repobilityId": "bb5fe2f7ef435394", "scanner": "scanner-primary", "fingerprint": "5a6854da9aa62bc3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-893102e2218ec57c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/run-feed-planner-welcome-migration.ts:27"}, "properties": {"repobilityId": "b4d6c17c07dbe597", "scanner": "scanner-primary", "fingerprint": "893102e2218ec57c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de469ac29d71b7ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/check-user-credits-status.ts:16"}, "properties": {"repobilityId": "0caf38fb27803b6f", "scanner": "scanner-primary", "fingerprint": "de469ac29d71b7ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ded6594abe5d9690", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/test-loops-columns-direct.ts:14"}, "properties": {"repobilityId": "26dcb08f985db824", "scanner": "scanner-primary", "fingerprint": "ded6594abe5d9690", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e693ddce0a2869b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrations/create-all-missing-tables.ts:16"}, "properties": {"repobilityId": "4c6ce25404c65960", "scanner": "scanner-primary", "fingerprint": "e693ddce0a2869b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-99df5223fee693b0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/image-lightbox.tsx:58"}, "properties": {"repobilityId": "d802aad1847d711b", "scanner": "scanner-primary", "fingerprint": "99df5223fee693b0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fc33d5dd69c0676f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/fullscreen-image-modal.tsx:144"}, "properties": {"repobilityId": "3df9dbad918d4220", "scanner": "scanner-primary", "fingerprint": "fc33d5dd69c0676f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-af804164bbab6da1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/fullscreen-image-modal.tsx:89"}, "properties": {"repobilityId": "9051d923644efd5d", "scanner": "scanner-primary", "fingerprint": "af804164bbab6da1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-121cdfcd37e00a4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/concept-card.tsx:214"}, "properties": {"repobilityId": "582fd938559b08be", "scanner": "scanner-primary", "fingerprint": "121cdfcd37e00a4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-050584ee5b9e4976", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/feed-publishing-hub.tsx:284"}, "properties": {"repobilityId": "4f12350c8565ca99", "scanner": "scanner-primary", "fingerprint": "050584ee5b9e4976", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0fc9d9f91bba0a0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-history.tsx:62"}, "properties": {"repobilityId": "43a73a4d1d9636e9", "scanner": "scanner-primary", "fingerprint": "0fc9d9f91bba0a0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f07d854936fe2d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-prompt.tsx:22"}, "properties": {"repobilityId": "00b5d8cf06059485", "scanner": "scanner-primary", "fingerprint": "8f07d854936fe2d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e151670969fec6ba", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/best-work-selector.tsx:129"}, "properties": {"repobilityId": "0952f2f5b111e0d7", "scanner": "scanner-primary", "fingerprint": "e151670969fec6ba", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-788fb7ad98b7e8ef", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/brand-assets-manager.tsx:183"}, "properties": {"repobilityId": "19e869d2363e4001", "scanner": "scanner-primary", "fingerprint": "788fb7ad98b7e8ef", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6bd5d2be4c349132", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/maya-chat-screen.tsx:4526"}, "properties": {"repobilityId": "cc5c97724ca2910a", "scanner": "scanner-primary", "fingerprint": "6bd5d2be4c349132", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4790a69c71fb5faa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya-chat-screen.tsx:600"}, "properties": {"repobilityId": "eef8e90a1a5ad3e0", "scanner": "scanner-primary", "fingerprint": "4790a69c71fb5faa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-84467a757f8e1e66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/settings-screen.tsx:197"}, "properties": {"repobilityId": "7eb12a5d41463aef", "scanner": "scanner-primary", "fingerprint": "84467a757f8e1e66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9795f4abf7faffd5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/install-button.tsx:30"}, "properties": {"repobilityId": "0f43da8afded7e37", "scanner": "scanner-primary", "fingerprint": "9795f4abf7faffd5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7f54094164fd5e4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/story-highlight-card.tsx:446"}, "properties": {"repobilityId": "8f68353d8ef79883", "scanner": "scanner-primary", "fingerprint": "b7f54094164fd5e4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5df8f303e8ecbaf6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/story-highlight-card.tsx:73"}, "properties": {"repobilityId": "a90d313a6c3992d2", "scanner": "scanner-primary", "fingerprint": "5df8f303e8ecbaf6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c423c2dfd96c225", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/image-gallery-modal.tsx:53"}, "properties": {"repobilityId": "0dfa07bf5bfb1b16", "scanner": "scanner-primary", "fingerprint": "4c423c2dfd96c225", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b973fa11733362b5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/sselfie-app.tsx:1230"}, "properties": {"repobilityId": "29c1752008083765", "scanner": "scanner-primary", "fingerprint": "b973fa11733362b5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e9ac3e5f341b2372", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/sselfie-app.tsx:740"}, "properties": {"repobilityId": "0ce2c1feb6ac2f15", "scanner": "scanner-primary", "fingerprint": "e9ac3e5f341b2372", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2552e9360d4aaba5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/b-roll-screen.tsx:121"}, "properties": {"repobilityId": "049f3a97a7bddf1a", "scanner": "scanner-primary", "fingerprint": "2552e9360d4aaba5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69686995fe17a77f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/blueprint-screen.tsx:130"}, "properties": {"repobilityId": "b7b623960b541885", "scanner": "scanner-primary", "fingerprint": "69686995fe17a77f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d6d27b621fbaab8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/brand-profile-wizard.tsx:269"}, "properties": {"repobilityId": "b1d563f5e47e5927", "scanner": "scanner-primary", "fingerprint": "5d6d27b621fbaab8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-082958efe9b578a9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/academy-screen.tsx:1178"}, "properties": {"repobilityId": "35166517d746b1bf", "scanner": "scanner-primary", "fingerprint": "082958efe9b578a9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-85f13c34be727f1c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/academy-screen.tsx:17"}, "properties": {"repobilityId": "058d4d7e21117731", "scanner": "scanner-primary", "fingerprint": "85f13c34be727f1c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62b9217c8afd1c18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/studio-pro-image-upload-module.tsx:106"}, "properties": {"repobilityId": "24852ad6ca025650", "scanner": "scanner-primary", "fingerprint": "62b9217c8afd1c18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32359d34acdc85d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/service-worker-provider.tsx:17"}, "properties": {"repobilityId": "9a0fb76e820506c6", "scanner": "scanner-primary", "fingerprint": "32359d34acdc85d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-469b589df43c2f0c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ImageUploadFlow.tsx:408"}, "properties": {"repobilityId": "e5df941cc0f8c94f", "scanner": "scanner-primary", "fingerprint": "469b589df43c2f0c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7be5dd03c6647144", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:1238"}, "properties": {"repobilityId": "8f07eac6f5a7dfcc", "scanner": "scanner-primary", "fingerprint": "7be5dd03c6647144", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0a8ea2f86546115e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:160"}, "properties": {"repobilityId": "cc8d3e5aa2ee931f", "scanner": "scanner-primary", "fingerprint": "0a8ea2f86546115e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-319665f471589b01", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 components/sselfie/pro-mode/ProModeInput.tsx:256"}, "properties": {"repobilityId": "d3b2ca7ba0710fd6", "scanner": "scanner-primary", "fingerprint": "319665f471589b01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-ad7904ecac19ef4a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeInput.tsx:119"}, "properties": {"repobilityId": "2bb9fa0c72988399", "scanner": "scanner-primary", "fingerprint": "ad7904ecac19ef4a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f9670c38f7d16780", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/sselfie/pro-mode/ProModeHeader.tsx:87"}, "properties": {"repobilityId": "c31552794bb6688f", "scanner": "scanner-primary", "fingerprint": "f9670c38f7d16780", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8962a3d6a85e7e7d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/sselfie/pro-mode/ProModeChat.tsx:396"}, "properties": {"repobilityId": "bd21a7d2aa9af0cf", "scanner": "scanner-primary", "fingerprint": "8962a3d6a85e7e7d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-558d5ccbf762eed6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/ProModeChat.tsx:140"}, "properties": {"repobilityId": "2737f673babb2621", "scanner": "scanner-primary", "fingerprint": "558d5ccbf762eed6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0a528caa96d72a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.ts:79"}, "properties": {"repobilityId": "1edf038d01e83a7f", "scanner": "scanner-primary", "fingerprint": "f0a528caa96d72a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe7f16b34d521003", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:227"}, "properties": {"repobilityId": "6ddac6807efe18a2", "scanner": "scanner-primary", "fingerprint": "fe7f16b34d521003", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-27e52d5905a19d24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-concept-cards.tsx:189"}, "properties": {"repobilityId": "704b441771089676", "scanner": "scanner-primary", "fingerprint": "27e52d5905a19d24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-09f83330f030bc84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-training-tab.tsx:235"}, "properties": {"repobilityId": "b811b3d6b8bc715b", "scanner": "scanner-primary", "fingerprint": "09f83330f030bc84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8d93d70e800cda9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/maya-videos-tab.tsx:188"}, "properties": {"repobilityId": "3bf1dbce899f498f", "scanner": "scanner-primary", "fingerprint": "f8d93d70e800cda9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-449320b26ad247ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-settings.ts:99"}, "properties": {"repobilityId": "8db9a747def1528a", "scanner": "scanner-primary", "fingerprint": "449320b26ad247ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-702561f6e2c41976", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-images.ts:57"}, "properties": {"repobilityId": "428eb8db95b75142", "scanner": "scanner-primary", "fingerprint": "702561f6e2c41976", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c79f957c3f11628f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-mode.ts:56"}, "properties": {"repobilityId": "3ff230218917ff33", "scanner": "scanner-primary", "fingerprint": "c79f957c3f11628f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9df3527cd478834a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:149"}, "properties": {"repobilityId": "e90053b27b41b142", "scanner": "scanner-primary", "fingerprint": "9df3527cd478834a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d1e070a82eebeec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/resource-card.tsx:32"}, "properties": {"repobilityId": "b731fc25c5030a8d", "scanner": "scanner-primary", "fingerprint": "1d1e070a82eebeec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3cfa1824187aa03d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/video-player.tsx:41"}, "properties": {"repobilityId": "4274984d964827b0", "scanner": "scanner-primary", "fingerprint": "3cfa1824187aa03d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52160dca50d78267", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/academy/lesson-modal.tsx:87"}, "properties": {"repobilityId": "fa9f8b3a2f64811a", "scanner": "scanner-primary", "fingerprint": "52160dca50d78267", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-541012f26fc82759", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/academy/visibility-suite-maya-chat.tsx:274"}, "properties": {"repobilityId": "e159041571159c5e", "scanner": "scanner-primary", "fingerprint": "541012f26fc82759", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b0a449ae53f65bf7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/admin-content-tool-card.tsx:138"}, "properties": {"repobilityId": "eeb4ce1b0b17c755", "scanner": "scanner-primary", "fingerprint": "b0a449ae53f65bf7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-267be1e10b6a5f05", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/app-v3/maya-concierge.tsx:839"}, "properties": {"repobilityId": "9e7357517ff31850", "scanner": "scanner-primary", "fingerprint": "267be1e10b6a5f05", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d60579f3dcdacdbc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/referrals/referral-dashboard.tsx:76"}, "properties": {"repobilityId": "26bf888b1c073fd0", "scanner": "scanner-primary", "fingerprint": "d60579f3dcdacdbc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-256de7ecd590f359", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed/instagram-feed-card.tsx:280"}, "properties": {"repobilityId": "d041047709ee7ef4", "scanner": "scanner-primary", "fingerprint": "256de7ecd590f359", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-022083546b07c2b8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/admin/vault-drop-email-preview.tsx:224"}, "properties": {"repobilityId": "be708c9c1f62a36f", "scanner": "scanner-primary", "fingerprint": "022083546b07c2b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6532de3bd58c82f1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/admin/shoot-studio-client.tsx:412"}, "properties": {"repobilityId": "15fe4acbdf0d63e0", "scanner": "scanner-primary", "fingerprint": "6532de3bd58c82f1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ee15ee3f42ae54ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/base-wizard.tsx:161"}, "properties": {"repobilityId": "3f56382a1682c88a", "scanner": "scanner-primary", "fingerprint": "ee15ee3f42ae54ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-489d87756360b4a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:246"}, "properties": {"repobilityId": "3159212f4424483b", "scanner": "scanner-primary", "fingerprint": "489d87756360b4a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-719d8e99bf4ac8e5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 components/onboarding/unified-onboarding-wizard.tsx:425"}, "properties": {"repobilityId": "3f8a45c747c2594d", "scanner": "scanner-primary", "fingerprint": "719d8e99bf4ac8e5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fc1b18f487715f1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/unified-onboarding-wizard.tsx:291"}, "properties": {"repobilityId": "ed0f4a3ede4d73f7", "scanner": "scanner-primary", "fingerprint": "fc1b18f487715f1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a4d4e705837b6716", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/onboarding/blueprint-extension.tsx:135"}, "properties": {"repobilityId": "956f3066b1ee2aff", "scanner": "scanner-primary", "fingerprint": "a4d4e705837b6716", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-08a669f5e76e69e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/upgrade/upgrade-comparison-card.tsx:108"}, "properties": {"repobilityId": "595ad8b476c88441", "scanner": "scanner-primary", "fingerprint": "08a669f5e76e69e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e13c47251631affc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/upgrade/smart-upgrade-banner.tsx:27"}, "properties": {"repobilityId": "7b2ac1dcb3926b2a", "scanner": "scanner-primary", "fingerprint": "e13c47251631affc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b05b0c888c39927", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-concept-card.tsx:71"}, "properties": {"repobilityId": "cf1b4c3797a9ab66", "scanner": "scanner-primary", "fingerprint": "1b05b0c888c39927", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ee8fdbeac99525d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-landing.tsx:59"}, "properties": {"repobilityId": "ae1ff6637580964c", "scanner": "scanner-primary", "fingerprint": "9ee8fdbeac99525d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a2cb6dc7e5672d35", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/blueprint/blueprint-email-capture.tsx:72"}, "properties": {"repobilityId": "ab2542106fade721", "scanner": "scanner-primary", "fingerprint": "a2cb6dc7e5672d35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17e526b08324e767", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 components/prompt-guides/prompt-guide-page-client.tsx:141"}, "properties": {"repobilityId": "a64ded6f2ed6f9fa", "scanner": "scanner-primary", "fingerprint": "17e526b08324e767", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-03c62c8086e94282", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-grid-item.tsx:133"}, "properties": {"repobilityId": "cf8721058d36f6fc", "scanner": "scanner-primary", "fingerprint": "03c62c8086e94282", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b04643115b31ad3d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-view-screen.tsx:139"}, "properties": {"repobilityId": "8ecdc9fa5d727470", "scanner": "scanner-primary", "fingerprint": "b04643115b31ad3d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fbc869033064c22c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/instagram-feed-view.tsx:314"}, "properties": {"repobilityId": "b77828d2f4c9edb1", "scanner": "scanner-primary", "fingerprint": "fbc869033064c22c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-509297cc7169afed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-style-modal.tsx:136"}, "properties": {"repobilityId": "358dae2935b0d623", "scanner": "scanner-primary", "fingerprint": "509297cc7169afed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52fb9274968856f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-single-placeholder.tsx:109"}, "properties": {"repobilityId": "5b0bbdb257252afa", "scanner": "scanner-primary", "fingerprint": "52fb9274968856f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f7158bcb1e1b456", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-brand-pillars.tsx:77"}, "properties": {"repobilityId": "9119b27271f043d5", "scanner": "scanner-primary", "fingerprint": "2f7158bcb1e1b456", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50bd907a8d32d7b2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-header.tsx:516"}, "properties": {"repobilityId": "9c7ecfcce57c64fa", "scanner": "scanner-primary", "fingerprint": "50bd907a8d32d7b2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-32425207604a0505", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-header.tsx:101"}, "properties": {"repobilityId": "425cb0aab0cef23c", "scanner": "scanner-primary", "fingerprint": "32425207604a0505", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f3950b0577647d0e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 components/feed-planner/feed-gallery-selector.tsx:338"}, "properties": {"repobilityId": "ec992bf2a38127fc", "scanner": "scanner-primary", "fingerprint": "f3950b0577647d0e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e1e21a5798c0b173", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/feed-gallery-selector.tsx:142"}, "properties": {"repobilityId": "4fe27e1a3ee71319", "scanner": "scanner-primary", "fingerprint": "e1e21a5798c0b173", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae1d1c9789981438", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-polling.ts:64"}, "properties": {"repobilityId": "5bdcc443a2dc0e7b", "scanner": "scanner-primary", "fingerprint": "ae1d1c9789981438", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a7064701e2216308", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feed-planner/hooks/use-feed-confetti.ts:69"}, "properties": {"repobilityId": "85cc4333fdbb99e6", "scanner": "scanner-primary", "fingerprint": "a7064701e2216308", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4206cc56ce6ddbd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/checkout/success-content.tsx:291"}, "properties": {"repobilityId": "ef666ed8cc41847d", "scanner": "scanner-primary", "fingerprint": "f4206cc56ce6ddbd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da71ae709fdbbb0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 components/feedback/feedback-modal.tsx:117"}, "properties": {"repobilityId": "865cd14cee9b0e01", "scanner": "scanner-primary", "fingerprint": "da71ae709fdbbb0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44ed58a71a00f94a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/instrumentation.ts:2"}, "properties": {"repobilityId": "e144ba06e4e08a02", "scanner": "scanner-primary", "fingerprint": "44ed58a71a00f94a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d203861e6325fc8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/page.tsx:47"}, "properties": {"repobilityId": "b26e2ad78afaec17", "scanner": "scanner-primary", "fingerprint": "d203861e6325fc8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0ffa24fc77f2904", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/layout.tsx:108"}, "properties": {"repobilityId": "7edc802c141484f7", "scanner": "scanner-primary", "fingerprint": "d0ffa24fc77f2904", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a40c68eeecffb6eb", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 app/layout.tsx:128"}, "properties": {"repobilityId": "6f16eb9b82a2dcd6", "scanner": "scanner-primary", "fingerprint": "a40c68eeecffb6eb", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-417d2db40320c663", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/setup-password/page.tsx:90"}, "properties": {"repobilityId": "a282e3074af8ee60", "scanner": "scanner-primary", "fingerprint": "417d2db40320c663", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b31bd82331fe7c1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/sign-up/page.tsx:134"}, "properties": {"repobilityId": "6b2516644f8247d9", "scanner": "scanner-primary", "fingerprint": "b31bd82331fe7c1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0cc9a9fe34e8bf40", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/login/page.tsx:36"}, "properties": {"repobilityId": "8bf78d2f41baa032", "scanner": "scanner-primary", "fingerprint": "0cc9a9fe34e8bf40", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b1841e61b57d44eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/callback/route.ts:14"}, "properties": {"repobilityId": "a0c539e0d39cd788", "scanner": "scanner-primary", "fingerprint": "b1841e61b57d44eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da8fb3d6868d77a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/forgot-password/page.tsx:32"}, "properties": {"repobilityId": "a3100ab3fa7b1c70", "scanner": "scanner-primary", "fingerprint": "da8fb3d6868d77a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d44b18f68abbc4f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/auth/confirm/route.ts:15"}, "properties": {"repobilityId": "5fde8af44b8be73d", "scanner": "scanner-primary", "fingerprint": "d44b18f68abbc4f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9164b9de6c45802e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/settings/route.ts:8"}, "properties": {"repobilityId": "a54065a4d0774595", "scanner": "scanner-primary", "fingerprint": "9164b9de6c45802e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8636092801976650", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/settings/update/route.ts:41"}, "properties": {"repobilityId": "f568b33e5bc7f8f7", "scanner": "scanner-primary", "fingerprint": "8636092801976650", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d422058b9f7a135", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/upload/route.ts:9"}, "properties": {"repobilityId": "3587b73603f00c06", "scanner": "scanner-primary", "fingerprint": "5d422058b9f7a135", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f104afed36f013b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/route.ts:140"}, "properties": {"repobilityId": "13fcbc9f42d68e7d", "scanner": "scanner-primary", "fingerprint": "f104afed36f013b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-268643c56a2d8d55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/vault/email-drop/process/route.ts:574"}, "properties": {"repobilityId": "e6ab5198661a559c", "scanner": "scanner-primary", "fingerprint": "268643c56a2d8d55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d52518c6c3c8ed1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/freebie/subscribe/route.ts:51"}, "properties": {"repobilityId": "96051073268c4197", "scanner": "scanner-primary", "fingerprint": "0d52518c6c3c8ed1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-94c601cc526a5b0a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/test-purchase-email/route.ts:15"}, "properties": {"repobilityId": "45c5552bdf1b2098", "scanner": "scanner-primary", "fingerprint": "94c601cc526a5b0a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3fac5bf6048cc16c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/auth/logout/route.ts:8"}, "properties": {"repobilityId": "63130d79f0c4b873", "scanner": "scanner-primary", "fingerprint": "3fac5bf6048cc16c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-636c39d224c3bb46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/auth/auto-confirm/route.ts:41"}, "properties": {"repobilityId": "cc333a8ba4c44106", "scanner": "scanner-primary", "fingerprint": "636c39d224c3bb46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0189e7c9c3acf331", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guide/subscribe/route.ts:83"}, "properties": {"repobilityId": "57d313160d3b76fb", "scanner": "scanner-primary", "fingerprint": "0189e7c9c3acf331", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0bda63cba21a3cd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/referrals/generate-code/route.ts:28"}, "properties": {"repobilityId": "295ced1582828b89", "scanner": "scanner-primary", "fingerprint": "0bda63cba21a3cd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c7f7928803276cb6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/referrals/track/route.ts:52"}, "properties": {"repobilityId": "91e65fbd308b44d0", "scanner": "scanner-primary", "fingerprint": "c7f7928803276cb6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3e6a60ccf029842", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/subscription/upgrade/route.ts:78"}, "properties": {"repobilityId": "ac1ce156971e7112", "scanner": "scanner-primary", "fingerprint": "d3e6a60ccf029842", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38f096d05b324e3d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/route.ts:31"}, "properties": {"repobilityId": "3c16c3288c48c4b1", "scanner": "scanner-primary", "fingerprint": "38f096d05b324e3d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4daa109cd8693633", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-profile-image/route.ts:55"}, "properties": {"repobilityId": "e981e4719bfba73a", "scanner": "scanner-primary", "fingerprint": "4daa109cd8693633", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f41f857c2a31f28", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-caption/route.ts:31"}, "properties": {"repobilityId": "482c42b15d3cc085", "scanner": "scanner-primary", "fingerprint": "3f41f857c2a31f28", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4b3bd8b9b967cf4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/save-highlight-image/route.ts:29"}, "properties": {"repobilityId": "d056631cd5313eab", "scanner": "scanner-primary", "fingerprint": "e4b3bd8b9b967cf4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-760fa539a98358b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-highlights/route.ts:38"}, "properties": {"repobilityId": "b0bbcc3292dd0a62", "scanner": "scanner-primary", "fingerprint": "760fa539a98358b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb9bedb51af807c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/profile-image/route.ts:37"}, "properties": {"repobilityId": "92e0fe39b26a70f0", "scanner": "scanner-primary", "fingerprint": "eb9bedb51af807c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af837503df3ebef6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-hashtags/route.ts:10"}, "properties": {"repobilityId": "43f365055b5159a1", "scanner": "scanner-primary", "fingerprint": "af837503df3ebef6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3056239af34ab73d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-post/route.ts:51"}, "properties": {"repobilityId": "4ad2a291d67beee3", "scanner": "scanner-primary", "fingerprint": "3056239af34ab73d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ec7133b43cba580", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/regenerate-caption/route.ts:154"}, "properties": {"repobilityId": "38cc954c1c89710a", "scanner": "scanner-primary", "fingerprint": "4ec7133b43cba580", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1eb66cfe63df4494", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-row/route.ts:15"}, "properties": {"repobilityId": "5fa21e870bf8acd4", "scanner": "scanner-primary", "fingerprint": "1eb66cfe63df4494", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5798622f4db4b5a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-strategy/route.ts:31"}, "properties": {"repobilityId": "9168fc44843c3b0d", "scanner": "scanner-primary", "fingerprint": "5798622f4db4b5a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af35423244c9b78c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/upload-profile-image/route.ts:70"}, "properties": {"repobilityId": "74358a8b67336d95", "scanner": "scanner-primary", "fingerprint": "af35423244c9b78c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd746263b9b70999", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/progress/route.ts:58"}, "properties": {"repobilityId": "0f330a50173352fe", "scanner": "scanner-primary", "fingerprint": "fd746263b9b70999", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d8ef9a13d79afa4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-bio/route.ts:82"}, "properties": {"repobilityId": "7848c7b41b62aeb9", "scanner": "scanner-primary", "fingerprint": "2d8ef9a13d79afa4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f43f192befac22fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/replace-post-image/route.ts:32"}, "properties": {"repobilityId": "64a728101d992f31", "scanner": "scanner-primary", "fingerprint": "f43f192befac22fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a600a52315cef6b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-strategy/route.ts:20"}, "properties": {"repobilityId": "4dd44e15c3a21468", "scanner": "scanner-primary", "fingerprint": "a600a52315cef6b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-adc71e6accd83a11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-profile/route.ts:59"}, "properties": {"repobilityId": "c9862ffb32e5a26d", "scanner": "scanner-primary", "fingerprint": "adc71e6accd83a11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-84359541ced7ac23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/check-post/route.ts:27"}, "properties": {"repobilityId": "767380e3d171db0b", "scanner": "scanner-primary", "fingerprint": "84359541ced7ac23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5bff50d60fc1c5f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-single/route.ts:89"}, "properties": {"repobilityId": "3efbdbd17b0bc15a", "scanner": "scanner-primary", "fingerprint": "5bff50d60fc1c5f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86c72e6fb24e477a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:103"}, "properties": {"repobilityId": "521247cb84d5bd8a", "scanner": "scanner-primary", "fingerprint": "86c72e6fb24e477a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5310fefd1c9388b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-style/route.ts:94"}, "properties": {"repobilityId": "a50473a3512f446a", "scanner": "scanner-primary", "fingerprint": "5310fefd1c9388b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7fb9515bb6d1a4da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/highlight-image/route.ts:37"}, "properties": {"repobilityId": "5e2c37723e6b6c28", "scanner": "scanner-primary", "fingerprint": "7fb9515bb6d1a4da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad6fa8c9f5b84928", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/update-caption/route.ts:92"}, "properties": {"repobilityId": "982a9de652726569", "scanner": "scanner-primary", "fingerprint": "ad6fa8c9f5b84928", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78e25bce89d2be50", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/generate-captions/route.ts:21"}, "properties": {"repobilityId": "48aba136386cdaa9", "scanner": "scanner-primary", "fingerprint": "78e25bce89d2be50", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f09de0507dd56a82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/[feedId]/reorder/route.ts:68"}, "properties": {"repobilityId": "f310525cc9d948a3", "scanner": "scanner-primary", "fingerprint": "f09de0507dd56a82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1321703cd41c66f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-free-example/route.ts:72"}, "properties": {"repobilityId": "f8a9201b7b677b3e", "scanner": "scanner-primary", "fingerprint": "1321703cd41c66f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50a86e39897b4968", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/clear/route.ts:10"}, "properties": {"repobilityId": "0db1eeb0a21193d0", "scanner": "scanner-primary", "fingerprint": "50a86e39897b4968", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03b2364e6fee07cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/mark-failed/route.ts:62"}, "properties": {"repobilityId": "f06cdb460e5cb2b9", "scanner": "scanner-primary", "fingerprint": "03b2364e6fee07cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23efc7d35f272c78", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/post/[postId]/cancel/route.ts:73"}, "properties": {"repobilityId": "14ed7b847a27c268", "scanner": "scanner-primary", "fingerprint": "23efc7d35f272c78", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b720a9dfb5e52d26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/create-manual/route.ts:47"}, "properties": {"repobilityId": "34bb2941bcf0bd2d", "scanner": "scanner-primary", "fingerprint": "b720a9dfb5e52d26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c402519ca0ded4e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/refresh-concepts/route.ts:13"}, "properties": {"repobilityId": "dc926134ea6004c7", "scanner": "scanner-primary", "fingerprint": "c402519ca0ded4e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a451f9d1d39dec7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/add-more/route.ts:11"}, "properties": {"repobilityId": "91cdb68707f0104c", "scanner": "scanner-primary", "fingerprint": "a451f9d1d39dec7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6f5a0301790d5eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/auto-generate/route.ts:16"}, "properties": {"repobilityId": "42f833b5709de612", "scanner": "scanner-primary", "fingerprint": "a6f5a0301790d5eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9818211a9266aa5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed/expand-for-paid/route.ts:34"}, "properties": {"repobilityId": "74de41f9e21c4d75", "scanner": "scanner-primary", "fingerprint": "b9818211a9266aa5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-005a8b09cbe76d14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/route.ts:73"}, "properties": {"repobilityId": "85524fe67cd92f27", "scanner": "scanner-primary", "fingerprint": "005a8b09cbe76d14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4495ef1709af8f9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/lessons/[lessonId]/route.ts:31"}, "properties": {"repobilityId": "393b0ba5561fe623", "scanner": "scanner-primary", "fingerprint": "4495ef1709af8f9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46f8704d1523d33f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/route.ts:64"}, "properties": {"repobilityId": "3e83fa6d1af56ace", "scanner": "scanner-primary", "fingerprint": "46f8704d1523d33f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a2764b0ee3f8668", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/flatlay-images/[flatlayId]/route.ts:38"}, "properties": {"repobilityId": "509541703d852fbd", "scanner": "scanner-primary", "fingerprint": "6a2764b0ee3f8668", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd0064c00f69144a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/route.ts:85"}, "properties": {"repobilityId": "53dd8d46c9729539", "scanner": "scanner-primary", "fingerprint": "dd0064c00f69144a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc538137a11327fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/academy/courses/[courseId]/route.ts:56"}, "properties": {"repobilityId": "c54a897cbfef3903", "scanner": "scanner-primary", "fingerprint": "cc538137a11327fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7499a023a6cd798c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/testimonials/route.ts:58"}, "properties": {"repobilityId": "0efa80fe9f0916c3", "scanner": "scanner-primary", "fingerprint": "7499a023a6cd798c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d8b372333764555", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/admin/credits/add/route.ts:44"}, "properties": {"repobilityId": "cdee32ab0149b1ed", "scanner": "scanner-primary", "fingerprint": "9d8b372333764555", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b5a7fa5d5cdfae7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-extension-complete/route.ts:35"}, "properties": {"repobilityId": "d1b1f0de59573cae", "scanner": "scanner-primary", "fingerprint": "3b5a7fa5d5cdfae7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d8d48e12a81c6ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/blueprint-onboarding-complete/route.ts:68"}, "properties": {"repobilityId": "5274247135597441", "scanner": "scanner-primary", "fingerprint": "0d8d48e12a81c6ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f83e3e1872614e1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/complete-blueprint-welcome/route.ts:41"}, "properties": {"repobilityId": "6796475932b94d77", "scanner": "scanner-primary", "fingerprint": "f83e3e1872614e1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79f6fcd6c07c372f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/unified-onboarding-complete/route.ts:64"}, "properties": {"repobilityId": "13e208dd4f2340d9", "scanner": "scanner-primary", "fingerprint": "79f6fcd6c07c372f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80c4b933c7f43331", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/onboarding/base-complete/route.ts:53"}, "properties": {"repobilityId": "c154c16747b36775", "scanner": "scanner-primary", "fingerprint": "80c4b933c7f43331", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c63b9b014bb5f43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/generate/route.ts:70"}, "properties": {"repobilityId": "f341661392d3374c", "scanner": "scanner-primary", "fingerprint": "5c63b9b014bb5f43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-778ab5d9dfe33003", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/generations/route.ts:24"}, "properties": {"repobilityId": "5057f1913fcc78a3", "scanner": "scanner-primary", "fingerprint": "778ab5d9dfe33003", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e06125a23588d3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/session/route.ts:24"}, "properties": {"repobilityId": "af817e051cafadc9", "scanner": "scanner-primary", "fingerprint": "5e06125a23588d3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2dded4125c42d4f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/studio/stats/route.ts:24"}, "properties": {"repobilityId": "a8b04e9571278351", "scanner": "scanner-primary", "fingerprint": "2dded4125c42d4f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80701ea47d501674", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/onboarding-sequence/route.ts:58"}, "properties": {"repobilityId": "69e13887f602cd29", "scanner": "scanner-primary", "fingerprint": "80701ea47d501674", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ca1231d6141f07e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/reindex-codebase/route.ts:55"}, "properties": {"repobilityId": "42cdf2adc9f28d5f", "scanner": "scanner-primary", "fingerprint": "ca1231d6141f07e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ca73a65c57b78f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/reconcile-credits/route.ts:368"}, "properties": {"repobilityId": "9325bf18c02abad4", "scanner": "scanner-primary", "fingerprint": "5ca73a65c57b78f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-863c1a992b1965fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/blueprint-followup-sequence/route.ts:65"}, "properties": {"repobilityId": "a26641bfa0b1b041", "scanner": "scanner-primary", "fingerprint": "863c1a992b1965fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eeda2f948f5610b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/win-back-sequence/route.ts:53"}, "properties": {"repobilityId": "41c90653d8ebe0b4", "scanner": "scanner-primary", "fingerprint": "eeda2f948f5610b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-190c89ac30a31a26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/send-scheduled-newsletters/route.ts:32"}, "properties": {"repobilityId": "aa0d3b08fcced635", "scanner": "scanner-primary", "fingerprint": "190c89ac30a31a26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b167bf961861f0b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/sync-audience-segments/route.ts:44"}, "properties": {"repobilityId": "f19e9cf2fc4827cf", "scanner": "scanner-primary", "fingerprint": "b167bf961861f0b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7677fc34abfacde1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/refresh-segments/route.ts:29"}, "properties": {"repobilityId": "7798f0fb68cadefd", "scanner": "scanner-primary", "fingerprint": "7677fc34abfacde1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e110feb9cda88211", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/cron/resolve-pending-payments/route.ts:265"}, "properties": {"repobilityId": "fae793902d653089", "scanner": "scanner-primary", "fingerprint": "e110feb9cda88211", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a726e5b4a48ba30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/state/route.ts:34"}, "properties": {"repobilityId": "205da3795346d367", "scanner": "scanner-primary", "fingerprint": "4a726e5b4a48ba30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-004ed7946bc62dc4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/upload-selfies/route.ts:42"}, "properties": {"repobilityId": "f54ab6f181c1ff32", "scanner": "scanner-primary", "fingerprint": "004ed7946bc62dc4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a357e57f0c54f8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/subscribe/route.ts:6"}, "properties": {"repobilityId": "e34742edc8d08ad0", "scanner": "scanner-primary", "fingerprint": "5a357e57f0c54f8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7574b75e8854083f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-access-token/route.ts:36"}, "properties": {"repobilityId": "90b5445d2f23986a", "scanner": "scanner-primary", "fingerprint": "7574b75e8854083f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ab4125089f7e772", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/blueprint/get-paid-status/route.ts:76"}, "properties": {"repobilityId": "d998bafdd7ffd103", "scanner": "scanner-primary", "fingerprint": "4ab4125089f7e772", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9c978d413fca55e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/complete-account/route.ts:14"}, "properties": {"repobilityId": "2a425f893bbedad6", "scanner": "scanner-primary", "fingerprint": "a9c978d413fca55e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8239f5cedc156b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/info/route.ts:9"}, "properties": {"repobilityId": "97c80e58e8de5fd7", "scanner": "scanner-primary", "fingerprint": "f8239f5cedc156b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5efa850d0bae20bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/profile-image/route.ts:32"}, "properties": {"repobilityId": "efed00d3c37e17bd", "scanner": "scanner-primary", "fingerprint": "5efa850d0bae20bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-269fff275f77d5fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/delete/route.ts:44"}, "properties": {"repobilityId": "3046cad3dee0ac15", "scanner": "scanner-primary", "fingerprint": "269fff275f77d5fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0a014827e2dd7ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/user/profile/route.ts:8"}, "properties": {"repobilityId": "03acc86e01abf5b7", "scanner": "scanner-primary", "fingerprint": "a0a014827e2dd7ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7489263987511bd5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/personal-brand/route.ts:25"}, "properties": {"repobilityId": "7ad92e8886a7793e", "scanner": "scanner-primary", "fingerprint": "7489263987511bd5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8fcd15af4b117c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/info/route.ts:9"}, "properties": {"repobilityId": "4de68481ba4d06d0", "scanner": "scanner-primary", "fingerprint": "e8fcd15af4b117c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d2e3789841f949b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/best-work/route.ts:55"}, "properties": {"repobilityId": "7ac9ee0d152cfc7e", "scanner": "scanner-primary", "fingerprint": "2d2e3789841f949b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77bce186266314df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/recent-work/route.ts:8"}, "properties": {"repobilityId": "19791b248b395da9", "scanner": "scanner-primary", "fingerprint": "77bce186266314df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a1e2c5bb09b900e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/profile/stats/route.ts:8"}, "properties": {"repobilityId": "55ed0744f34f544c", "scanner": "scanner-primary", "fingerprint": "3a1e2c5bb09b900e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d6fbf8dc2791564", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/prompt-guides/items/route.ts:25"}, "properties": {"repobilityId": "5f69816f5a25f47a", "scanner": "scanner-primary", "fingerprint": "2d6fbf8dc2791564", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e933237c9431875b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/delete/route.ts:21"}, "properties": {"repobilityId": "6c7095428476d488", "scanner": "scanner-primary", "fingerprint": "e933237c9431875b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-379cf1abce4a5054", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/favorite/route.ts:16"}, "properties": {"repobilityId": "db39476b6a571780", "scanner": "scanner-primary", "fingerprint": "379cf1abce4a5054", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2a5e9385b427499", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/images/bulk-save/route.ts:63"}, "properties": {"repobilityId": "c5795add76769f68", "scanner": "scanner-primary", "fingerprint": "d2a5e9385b427499", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c51820631e3a25db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/apply-retention-discount/route.ts:58"}, "properties": {"repobilityId": "919fa1709b81d899", "scanner": "scanner-primary", "fingerprint": "c51820631e3a25db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d31f1754a311061b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-portal-session/route.ts:15"}, "properties": {"repobilityId": "940c9357305fc725", "scanner": "scanner-primary", "fingerprint": "d31f1754a311061b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6b0db83b4095ea8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/stripe/create-checkout-session/route.ts:22"}, "properties": {"repobilityId": "2c75abc6ba75dac8", "scanner": "scanner-primary", "fingerprint": "e6b0db83b4095ea8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2456b361e742dbbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/queue-all-images/route.ts:23"}, "properties": {"repobilityId": "a7881386581badc1", "scanner": "scanner-primary", "fingerprint": "2456b361e742dbbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd437db004958d13", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-batch/route.ts:32"}, "properties": {"repobilityId": "cd73757f2d11e900", "scanner": "scanner-primary", "fingerprint": "bd437db004958d13", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8b2b38ac826048b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/generate-all-images/route.ts:27"}, "properties": {"repobilityId": "6b8c6546e17ebccf", "scanner": "scanner-primary", "fingerprint": "b8b2b38ac826048b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3671c23908681746", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/save-to-planner/route.ts:15"}, "properties": {"repobilityId": "e48a94d241007192", "scanner": "scanner-primary", "fingerprint": "3671c23908681746", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24c5a714ba80680c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/create-from-strategy/route.ts:108"}, "properties": {"repobilityId": "8db51781b323c13f", "scanner": "scanner-primary", "fingerprint": "24c5a714ba80680c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc1085e0a4a7085c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/welcome-status/route.ts:39"}, "properties": {"repobilityId": "0dd388ad1202627c", "scanner": "scanner-primary", "fingerprint": "dc1085e0a4a7085c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d63f91692a05a704", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feed-planner/delete-strategy/route.ts:17"}, "properties": {"repobilityId": "3e26881e759d5db8", "scanner": "scanner-primary", "fingerprint": "d63f91692a05a704", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cfb25d2d453f7601", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/connect/route.ts:99"}, "properties": {"repobilityId": "2877ac25c5238059", "scanner": "scanner-primary", "fingerprint": "cfb25d2d453f7601", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-442260fb8b4271d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/test-graph-api/route.ts:11"}, "properties": {"repobilityId": "84c21233a8d21fa3", "scanner": "scanner-primary", "fingerprint": "442260fb8b4271d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4943870efff1553c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/sync/route.ts:8"}, "properties": {"repobilityId": "8b7855a9013fbbbd", "scanner": "scanner-primary", "fingerprint": "4943870efff1553c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-539c1ca78d78dcea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/analytics/route.ts:11"}, "properties": {"repobilityId": "ff2a39f260472b0f", "scanner": "scanner-primary", "fingerprint": "539c1ca78d78dcea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24c5c284fc54b5b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/instagram/callback/route.ts:116"}, "properties": {"repobilityId": "4929c9ac1a046d19", "scanner": "scanner-primary", "fingerprint": "24c5c284fc54b5b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5d506465dba3daf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/credits/grant-free-welcome/route.ts:19"}, "properties": {"repobilityId": "b3f955cc59647091", "scanner": "scanner-primary", "fingerprint": "c5d506465dba3daf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77c9aa83dcf11f7c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/quota/decrement/route.ts:15"}, "properties": {"repobilityId": "cb9b0051134a6942", "scanner": "scanner-primary", "fingerprint": "77c9aa83dcf11f7c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a7c2fffa90876ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/quota/status/route.ts:15"}, "properties": {"repobilityId": "d79a778c1be47d0e", "scanner": "scanner-primary", "fingerprint": "5a7c2fffa90876ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18681a875daa9b1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/resend/route.ts:616"}, "properties": {"repobilityId": "233e5a850c45b266", "scanner": "scanner-primary", "fingerprint": "18681a875daa9b1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e619c226b05c13c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/webhooks/stripe/route.ts:37"}, "properties": {"repobilityId": "820f2a9402f92ee7", "scanner": "scanner-primary", "fingerprint": "0e619c226b05c13c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a1003fbbc3943dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/ai-prompts/subscribe/route.ts:80"}, "properties": {"repobilityId": "9500b93013309fdf", "scanner": "scanner-primary", "fingerprint": "3a1003fbbc3943dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d9f3e1ef3b02b7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro-prompts/route.ts:20"}, "properties": {"repobilityId": "6c5c3a26ee48db9b", "scanner": "scanner-primary", "fingerprint": "3d9f3e1ef3b02b7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad961888f1aec304", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/create-photoshoot/route.ts:30"}, "properties": {"repobilityId": "d6283e9a1e617602", "scanner": "scanner-primary", "fingerprint": "ad961888f1aec304", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4bdd55ea3fdba897", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-concepts/route.ts:353"}, "properties": {"repobilityId": "dbe1bddde2a3a678", "scanner": "scanner-primary", "fingerprint": "4bdd55ea3fdba897", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa27adf059927ef3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/create-carousel/route.ts:93"}, "properties": {"repobilityId": "58b3450d75c54988", "scanner": "scanner-primary", "fingerprint": "aa27adf059927ef3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4eab06d75a03e6d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/generate-grid/route.ts:69"}, "properties": {"repobilityId": "574e62c0fed611e2", "scanner": "scanner-primary", "fingerprint": "4eab06d75a03e6d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8b005ee1a09a984b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:77"}, "properties": {"repobilityId": "a4eb36042fd80e25", "scanner": "scanner-primary", "fingerprint": "8b005ee1a09a984b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f61a8e2420a7d620", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/photoshoot/start-session/route.ts:48"}, "properties": {"repobilityId": "5988868b4709a5c9", "scanner": "scanner-primary", "fingerprint": "f61a8e2420a7d620", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9a3cf4edf240855", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/get/route.ts:56"}, "properties": {"repobilityId": "bc9fdabb55d8198b", "scanner": "scanner-primary", "fingerprint": "e9a3cf4edf240855", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-719b4ff42eac7ef3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/clear/route.ts:17"}, "properties": {"repobilityId": "f01cbf7201022a74", "scanner": "scanner-primary", "fingerprint": "719b4ff42eac7ef3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cb1a309eeff1cbb4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/library/update/route.ts:19"}, "properties": {"repobilityId": "056e199571e888c5", "scanner": "scanner-primary", "fingerprint": "cb1a309eeff1cbb4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7067fddfdf45ba86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/check-generation/route.ts:17"}, "properties": {"repobilityId": "adae752d35e0ef9d", "scanner": "scanner-primary", "fingerprint": "7067fddfdf45ba86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1dd6bdf310a3849", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-concepts/route.ts:302"}, "properties": {"repobilityId": "4fe5490b95a40f13", "scanner": "scanner-primary", "fingerprint": "d1dd6bdf310a3849", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-15e61484ab9adcac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/chat/route.ts:34"}, "properties": {"repobilityId": "223b809ea3ce7fd1", "scanner": "scanner-primary", "fingerprint": "15e61484ab9adcac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1aa4bde760e9930c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/pro/generate-image/route.ts:21"}, "properties": {"repobilityId": "a4b032ede44454db", "scanner": "scanner-primary", "fingerprint": "1aa4bde760e9930c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d8af47c61b38dafa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-physical-preferences/route.ts:26"}, "properties": {"repobilityId": "4747f62a1bd22130", "scanner": "scanner-primary", "fingerprint": "d8af47c61b38dafa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47f7f1129da0b4af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image-openai/route.ts:393"}, "properties": {"repobilityId": "ff41e8026509812e", "scanner": "scanner-primary", "fingerprint": "47f7f1129da0b4af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dfddc13b8084f439", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-caption/route.ts:49"}, "properties": {"repobilityId": "0f9e2a04870baa26", "scanner": "scanner-primary", "fingerprint": "dfddc13b8084f439", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ddfff78872c2c2a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/research/route.ts:23"}, "properties": {"repobilityId": "e604b0df4ddb69ff", "scanner": "scanner-primary", "fingerprint": "6ddfff78872c2c2a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91ab8bf732932d1d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/chats/route.ts:15"}, "properties": {"repobilityId": "1ddb57ac332fe27b", "scanner": "scanner-primary", "fingerprint": "91ab8bf732932d1d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-087bb63496409962", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/chat/route.ts:723"}, "properties": {"repobilityId": "3c65b8eb2604cf1c", "scanner": "scanner-primary", "fingerprint": "087bb63496409962", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fcb5af7f830eaf6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/load-chat/route.ts:241"}, "properties": {"repobilityId": "2e11adc683a3a513", "scanner": "scanner-primary", "fingerprint": "fcb5af7f830eaf6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d4eb0dafe3b404d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/update-message/route.ts:29"}, "properties": {"repobilityId": "3d6a0af99934953f", "scanner": "scanner-primary", "fingerprint": "8d4eb0dafe3b404d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8d68596987896c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-photoshoot-prediction/route.ts:27"}, "properties": {"repobilityId": "67b21721e5b04e83", "scanner": "scanner-primary", "fingerprint": "b8d68596987896c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d288b92647043f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-video/route.ts:42"}, "properties": {"repobilityId": "09ca36b16cdaa36e", "scanner": "scanner-primary", "fingerprint": "2d288b92647043f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f7b59e159ed0289", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-studio-pro/route.ts:106"}, "properties": {"repobilityId": "8cebbc7723adda55", "scanner": "scanner-primary", "fingerprint": "4f7b59e159ed0289", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c97d4869271af2dc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-studio-pro/route.ts:46"}, "properties": {"repobilityId": "8c9b63764647fa26", "scanner": "scanner-primary", "fingerprint": "c97d4869271af2dc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d48f5d5b870e6b35", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/videos/route.ts:9"}, "properties": {"repobilityId": "c4ab1e9a0fa1bf90", "scanner": "scanner-primary", "fingerprint": "d48f5d5b870e6b35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f63d0d13ab73a5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/content-pillars/route.ts:24"}, "properties": {"repobilityId": "a3fb77e10bae83c4", "scanner": "scanner-primary", "fingerprint": "8f63d0d13ab73a5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6be0c760c31c1e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/get-photoshoot/route.ts:27"}, "properties": {"repobilityId": "3d733e3950a6bbf9", "scanner": "scanner-primary", "fingerprint": "b6be0c760c31c1e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f48f587c042f60e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-video/route.ts:15"}, "properties": {"repobilityId": "b9b734ceee824b37", "scanner": "scanner-primary", "fingerprint": "1f48f587c042f60e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54e92b81eccc01fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/save-message/route.ts:43"}, "properties": {"repobilityId": "202b1f7d1905a76e", "scanner": "scanner-primary", "fingerprint": "54e92b81eccc01fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-566135a59c3960ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/new-chat/route.ts:22"}, "properties": {"repobilityId": "fa6903bec0582884", "scanner": "scanner-primary", "fingerprint": "566135a59c3960ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-699a313fcfb44c3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/generate-image/route.ts:80"}, "properties": {"repobilityId": "e1474b0ffccef71b", "scanner": "scanner-primary", "fingerprint": "699a313fcfb44c3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1aecd450baf73660", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/check-video/route.ts:41"}, "properties": {"repobilityId": "4249558016182c17", "scanner": "scanner-primary", "fingerprint": "1aecd450baf73660", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef9f31838e7aa73c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/delete-chat/route.ts:38"}, "properties": {"repobilityId": "505d88cd0ad24028", "scanner": "scanner-primary", "fingerprint": "ef9f31838e7aa73c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c0cdf6b9a05e430", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/maya/b-roll-images/route.ts:28"}, "properties": {"repobilityId": "7bdfa8f2553d139a", "scanner": "scanner-primary", "fingerprint": "5c0cdf6b9a05e430", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-00d1e22141976139", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/route.ts:55"}, "properties": {"repobilityId": "89a886fd0edcd5df", "scanner": "scanner-primary", "fingerprint": "00d1e22141976139", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-327de7ab82e3a078", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/upload-image/route.ts:37"}, "properties": {"repobilityId": "41cd82fe682316d1", "scanner": "scanner-primary", "fingerprint": "327de7ab82e3a078", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54dd1c781142233c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/feedback/ai-response/route.ts:368"}, "properties": {"repobilityId": "3e49e0f51197ffae", "scanner": "scanner-primary", "fingerprint": "54dd1c781142233c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-118de4f5b601d349", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/create-zip-from-blobs/route.ts:20"}, "properties": {"repobilityId": "cca80804529e0773", "scanner": "scanner-primary", "fingerprint": "118de4f5b601d349", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f691c553bbd43712", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload/route.ts:53"}, "properties": {"repobilityId": "2e81d1223ee31e3b", "scanner": "scanner-primary", "fingerprint": "f691c553bbd43712", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2982b70bd6036b19", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-token/route.ts:29"}, "properties": {"repobilityId": "89cfc3d9ae5ba83c", "scanner": "scanner-primary", "fingerprint": "2982b70bd6036b19", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b22a8031130af112", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/start-training/route.ts:19"}, "properties": {"repobilityId": "1c61ca4ccd2c7c04", "scanner": "scanner-primary", "fingerprint": "b22a8031130af112", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a221aacd30ea7aa4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/progress/route.ts:85"}, "properties": {"repobilityId": "e02ea27b4759418d", "scanner": "scanner-primary", "fingerprint": "a221aacd30ea7aa4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1ec1d53468814797", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/sync-version/route.ts:123"}, "properties": {"repobilityId": "333d7f2b057508b2", "scanner": "scanner-primary", "fingerprint": "1ec1d53468814797", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e868d3dbc928efe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/cancel/route.ts:56"}, "properties": {"repobilityId": "937f6affb4e02213", "scanner": "scanner-primary", "fingerprint": "4e868d3dbc928efe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-651903ed9850bbd0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-zip/route.ts:22"}, "properties": {"repobilityId": "c4beac4e88f21399", "scanner": "scanner-primary", "fingerprint": "651903ed9850bbd0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b486a9d3678f77a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/start/route.ts:32"}, "properties": {"repobilityId": "340c36243ace52d3", "scanner": "scanner-primary", "fingerprint": "6b486a9d3678f77a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a9c7fe623a73e8f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/api/training/upload-images/route.ts:8"}, "properties": {"repobilityId": "8dc60dff7a014b77", "scanner": "scanner-primary", "fingerprint": "2a9c7fe623a73e8f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b07e9594ec49aee9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/webhook-review/page.tsx:170"}, "properties": {"repobilityId": "53acdd0959ab2dbf", "scanner": "scanner-primary", "fingerprint": "b07e9594ec49aee9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-310e840efbdec002", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/customer-support/page.tsx:280"}, "properties": {"repobilityId": "ff944beb373bd94b", "scanner": "scanner-primary", "fingerprint": "310e840efbdec002", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-289438eeb004885f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/prompt-vault/page.tsx:609"}, "properties": {"repobilityId": "4c301911dcfbd06e", "scanner": "scanner-primary", "fingerprint": "289438eeb004885f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aec1f122833b9201", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 app/admin/academy/page.tsx:1246"}, "properties": {"repobilityId": "11b307bd601bf663", "scanner": "scanner-primary", "fingerprint": "aec1f122833b9201", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d9c7e892220cbf2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/admin/academy/page.tsx:616"}, "properties": {"repobilityId": "d3464c07452e18a5", "scanner": "scanner-primary", "fingerprint": "d9c7e892220cbf2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5c9defd7f4ca160", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/admin/testimonials/page.tsx:143"}, "properties": {"repobilityId": "b5fa5973e827b631", "scanner": "scanner-primary", "fingerprint": "c5c9defd7f4ca160", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbfb04c95543b02a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/studio/page.tsx:74"}, "properties": {"repobilityId": "7d19f82d6587be22", "scanner": "scanner-primary", "fingerprint": "dbfb04c95543b02a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24b9dfe5098c4f67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/sw.js/route.ts:34"}, "properties": {"repobilityId": "f7646436d7788d1d", "scanner": "scanner-primary", "fingerprint": "24b9dfe5098c4f67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93f297b2d2da36ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/auto-confirm-user.ts:13"}, "properties": {"repobilityId": "2f324df7cc641c1d", "scanner": "scanner-primary", "fingerprint": "93f297b2d2da36ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-953ddff000e53f52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/stripe.ts:140"}, "properties": {"repobilityId": "fee810bd88914d51", "scanner": "scanner-primary", "fingerprint": "953ddff000e53f52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b15eab00a6fe896", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/landing-checkout.ts:37"}, "properties": {"repobilityId": "b3391747c1d5efc0", "scanner": "scanner-primary", "fingerprint": "1b15eab00a6fe896", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77f85eaeb9a75e36", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/reset-passwords.ts:7"}, "properties": {"repobilityId": "29bc7f531a70940a", "scanner": "scanner-primary", "fingerprint": "77f85eaeb9a75e36", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d7e0f81e9176e59c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/upgrade-checkout.ts:60"}, "properties": {"repobilityId": "a6778713db1c0196", "scanner": "scanner-primary", "fingerprint": "d7e0f81e9176e59c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd48ecb9b2dfd459", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/actions/migrate-users.ts:7"}, "properties": {"repobilityId": "00098031052d55bb", "scanner": "scanner-primary", "fingerprint": "cd48ecb9b2dfd459", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff67980b0643d1fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/feed-planner/feed-planner-client.tsx:186"}, "properties": {"repobilityId": "2d4cb28d3ac5692e", "scanner": "scanner-primary", "fingerprint": "ff67980b0643d1fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9d49ca33443c0d01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/checkout/blueprint/page.tsx:35"}, "properties": {"repobilityId": "378ac25ef24abe9c", "scanner": "scanner-primary", "fingerprint": "9d49ca33443c0d01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b671449bc570ab8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/maya/page.tsx:60"}, "properties": {"repobilityId": "d0eccb14ce203b04", "scanner": "scanner-primary", "fingerprint": "1b671449bc570ab8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a994e2884af61380", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/nano-banana-client.ts:60"}, "properties": {"repobilityId": "0f5593f56e545c50", "scanner": "scanner-primary", "fingerprint": "a994e2884af61380", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec38f06c9a7e4a9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/storage.ts:20"}, "properties": {"repobilityId": "f9ed5393bec49552", "scanner": "scanner-primary", "fingerprint": "ec38f06c9a7e4a9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fde378fb78e3f8fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/analytics.ts:34"}, "properties": {"repobilityId": "c4521bbcabca8bc4", "scanner": "scanner-primary", "fingerprint": "fde378fb78e3f8fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cc2f085006debd75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-progress.ts:28"}, "properties": {"repobilityId": "3021090b0542cf85", "scanner": "scanner-primary", "fingerprint": "cc2f085006debd75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-876f2e866631d30c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/user-mapping.ts:45"}, "properties": {"repobilityId": "6c9767bd0fb61d9f", "scanner": "scanner-primary", "fingerprint": "876f2e866631d30c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52a06a81e17667aa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/webhook-deduplication.ts:14"}, "properties": {"repobilityId": "62da7086ebd466b1", "scanner": "scanner-primary", "fingerprint": "52a06a81e17667aa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3f61eba44abf39a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/auth-helper.ts:138"}, "properties": {"repobilityId": "beef1c9d60432fb8", "scanner": "scanner-primary", "fingerprint": "a3f61eba44abf39a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fdaa109c3738586e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/subscription.ts:163"}, "properties": {"repobilityId": "8b152073428e3e2d", "scanner": "scanner-primary", "fingerprint": "fdaa109c3738586e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-325b53bb361c1e17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/upstash-vector.ts:13"}, "properties": {"repobilityId": "05518f23df0ff76c", "scanner": "scanner-primary", "fingerprint": "325b53bb361c1e17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-75a9e5564950377a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/credits.ts:39"}, "properties": {"repobilityId": "21380a1e448a7262", "scanner": "scanner-primary", "fingerprint": "75a9e5564950377a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-de6200261b499a8a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-polling.ts:65"}, "properties": {"repobilityId": "bca75d62bd89b73d", "scanner": "scanner-primary", "fingerprint": "de6200261b499a8a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20cbeb96eb69cf47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/rate-limit.ts:45"}, "properties": {"repobilityId": "61783e106e294002", "scanner": "scanner-primary", "fingerprint": "20cbeb96eb69cf47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d8a2d80d65d1881", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/webhook-monitoring.tsx:32"}, "properties": {"repobilityId": "fb2a9e5d43347c33", "scanner": "scanner-primary", "fingerprint": "8d8a2d80d65d1881", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69ef822baa742e23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-client.ts:14"}, "properties": {"repobilityId": "008a94e1df2e877c", "scanner": "scanner-primary", "fingerprint": "69ef822baa742e23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef5fe7a235dfd452", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/replicate-sync.ts:19"}, "properties": {"repobilityId": "7e9b41ae9a82c2a5", "scanner": "scanner-primary", "fingerprint": "ef5fe7a235dfd452", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1c3784e1edf1632", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/logger.ts:37"}, "properties": {"repobilityId": "828e96ab86ae12d1", "scanner": "scanner-primary", "fingerprint": "e1c3784e1edf1632", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-727e42daa3031333", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/segmentation.ts:234"}, "properties": {"repobilityId": "82291725a6291a00", "scanner": "scanner-primary", "fingerprint": "727e42daa3031333", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4dd70a1b9bd23eec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/send-newsletter-broadcast.ts:62"}, "properties": {"repobilityId": "da0c8413db473b96", "scanner": "scanner-primary", "fingerprint": "4dd70a1b9bd23eec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b45e5abf98f22631", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/transactional-sender.ts:24"}, "properties": {"repobilityId": "29dc5757fc73303b", "scanner": "scanner-primary", "fingerprint": "b45e5abf98f22631", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-811991718dd8fe18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/marketing-sender.ts:233"}, "properties": {"repobilityId": "09321c796277b9f8", "scanner": "scanner-primary", "fingerprint": "811991718dd8fe18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d410614e43718762", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/email/send-email.ts:83"}, "properties": {"repobilityId": "a3e01784b6edaa3b", "scanner": "scanner-primary", "fingerprint": "d410614e43718762", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d8bff516457ba13", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/ai/embeddings.ts:27"}, "properties": {"repobilityId": "fe2ac6d1cc3c3ea7", "scanner": "scanner-primary", "fingerprint": "0d8bff516457ba13", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d02d8b8cf25dda0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/referrals/trigger-referral-email.ts:39"}, "properties": {"repobilityId": "791a1add01ae09ab", "scanner": "scanner-primary", "fingerprint": "1d02d8b8cf25dda0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cbb1b1ea08a68f6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/auto-sync-user.ts:62"}, "properties": {"repobilityId": "6c6dbcc53b4ad9a7", "scanner": "scanner-primary", "fingerprint": "cbb1b1ea08a68f6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-474dec8e7a18aac0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/manage-contact.ts:55"}, "properties": {"repobilityId": "78beed83c7e8f35a", "scanner": "scanner-primary", "fingerprint": "474dec8e7a18aac0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc6e8d77d38c749c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/resend/get-audience-contacts.ts:79"}, "properties": {"repobilityId": "2869ca086ffdd2cc", "scanner": "scanner-primary", "fingerprint": "bc6e8d77d38c749c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bbe921de9c61aa4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/quality/reporting.ts:67"}, "properties": {"repobilityId": "7e563934c4ca09e4", "scanner": "scanner-primary", "fingerprint": "2bbe921de9c61aa4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-438804e97559cb66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/quality/prompt-quality-baseline.ts:135"}, "properties": {"repobilityId": "9cdc3f3feed08ebb", "scanner": "scanner-primary", "fingerprint": "438804e97559cb66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e7507fc501c6446", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/instagram-strategist/caption-logic.tsx:29"}, "properties": {"repobilityId": "efc4ec842231fa03", "scanner": "scanner-primary", "fingerprint": "4e7507fc501c6446", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c813550ac92e925f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/generation/prompt/legacy-authority.ts:219"}, "properties": {"repobilityId": "27e56f880d5065f6", "scanner": "scanner-primary", "fingerprint": "c813550ac92e925f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac621e86ce861417", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/audience/segment-sync.ts:40"}, "properties": {"repobilityId": "5ebd9658bfd6132a", "scanner": "scanner-primary", "fingerprint": "ac621e86ce861417", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8c296b997ed9391", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/shared.ts:99"}, "properties": {"repobilityId": "6faf87eb300bab84", "scanner": "scanner-primary", "fingerprint": "e8c296b997ed9391", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0633d9f16827bab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/subscription-events.ts:81"}, "properties": {"repobilityId": "72a1ced37fe4c1e3", "scanner": "scanner-primary", "fingerprint": "a0633d9f16827bab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4af8264c7b03445", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/checkout-session-completed.ts:246"}, "properties": {"repobilityId": "c82596390ead15da", "scanner": "scanner-primary", "fingerprint": "f4af8264c7b03445", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d31461e6bd25b7ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/lifecycle/invoice-paid.ts:30"}, "properties": {"repobilityId": "871249034b6aebc4", "scanner": "scanner-primary", "fingerprint": "d31461e6bd25b7ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b9a170ed8dadd49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/transform.ts:24"}, "properties": {"repobilityId": "a7e88d8bb3506f3c", "scanner": "scanner-primary", "fingerprint": "4b9a170ed8dadd49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-287de2a8f81009e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/prompt-vault.ts:90"}, "properties": {"repobilityId": "3934ed8622634d3e", "scanner": "scanner-primary", "fingerprint": "287de2a8f81009e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f3cc43f2aeb8a48", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-to-brand-shoot.ts:24"}, "properties": {"repobilityId": "279847e0825bc1cf", "scanner": "scanner-primary", "fingerprint": "7f3cc43f2aeb8a48", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebfe772f6352ef8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/one-time-session.ts:17"}, "properties": {"repobilityId": "1e86e628278f489f", "scanner": "scanner-primary", "fingerprint": "ebfe772f6352ef8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e1a86d0a90aadfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/paid-blueprint.ts:36"}, "properties": {"repobilityId": "2de2732d801d6035", "scanner": "scanner-primary", "fingerprint": "1e1a86d0a90aadfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d49dade5169c193", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/starter-kit.ts:85"}, "properties": {"repobilityId": "a00bbc7a84a877cd", "scanner": "scanner-primary", "fingerprint": "0d49dade5169c193", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8876382cecd8ab19", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/brand-strategy-pack.ts:19"}, "properties": {"repobilityId": "8d19ae4b01eda09c", "scanner": "scanner-primary", "fingerprint": "8876382cecd8ab19", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63e449db4f19b0df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/studio-membership.ts:35"}, "properties": {"repobilityId": "3e2c5acec755d69e", "scanner": "scanner-primary", "fingerprint": "63e449db4f19b0df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a99a80d4d28aeef5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/masterclass.ts:20"}, "properties": {"repobilityId": "34ec0cf31b704f74", "scanner": "scanner-primary", "fingerprint": "a99a80d4d28aeef5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3c071c87b57871b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/selfie-guide.ts:29"}, "properties": {"repobilityId": "a3a845daf1724e93", "scanner": "scanner-primary", "fingerprint": "a3c071c87b57871b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4a2bf8de0a92662e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/payments/handlers/credit-topup.ts:18"}, "properties": {"repobilityId": "3910504dad373475", "scanner": "scanner-primary", "fingerprint": "4a2bf8de0a92662e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-726286680095858c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/hooks/use-feed-post-polling.ts:79"}, "properties": {"repobilityId": "320144a89c6a62a1", "scanner": "scanner-primary", "fingerprint": "726286680095858c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-257d14b732510d13", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/supabase/middleware.ts:13"}, "properties": {"repobilityId": "f8ba138c2bdadc4b", "scanner": "scanner-primary", "fingerprint": "257d14b732510d13", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d4b1fb2f07c36c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/supabase/client.ts:18"}, "properties": {"repobilityId": "838e07ae21ec87b0", "scanner": "scanner-primary", "fingerprint": "5d4b1fb2f07c36c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1036e5e6c66a156", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/stripe/stripe-live-metrics.ts:229"}, "properties": {"repobilityId": "7db66cc8ae8447e0", "scanner": "scanner-primary", "fingerprint": "d1036e5e6c66a156", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d85c862509fbf925", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/stripe/validate-pricing-config.ts:149"}, "properties": {"repobilityId": "1f036514852319bf", "scanner": "scanner-primary", "fingerprint": "d85c862509fbf925", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42523783a6b6032e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/queue-images.ts:39"}, "properties": {"repobilityId": "682d92f308b3556d", "scanner": "scanner-primary", "fingerprint": "42523783a6b6032e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f957f28327493aef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/access-control.ts:42"}, "properties": {"repobilityId": "f74b8f6fb37f4532", "scanner": "scanner-primary", "fingerprint": "f957f28327493aef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a3949b1b93b50d2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-prompt-expert.ts:340"}, "properties": {"repobilityId": "b4dc0c4d128f169b", "scanner": "scanner-primary", "fingerprint": "5a3949b1b93b50d2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51dcc10bee086a46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-prompt-loader.ts:138"}, "properties": {"repobilityId": "91527e4480504f63", "scanner": "scanner-primary", "fingerprint": "51dcc10bee086a46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73eafc45bc21972c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/style-coherence-resolver.ts:247"}, "properties": {"repobilityId": "f3157d5c91a93db2", "scanner": "scanner-primary", "fingerprint": "73eafc45bc21972c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49cbf50c21d236fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/caption-writer.ts:195"}, "properties": {"repobilityId": "30ef38526d6868fe", "scanner": "scanner-primary", "fingerprint": "49cbf50c21d236fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8bb394bd7f1be71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/feed-style-generation.ts:33"}, "properties": {"repobilityId": "09c7c3a7f92a6d59", "scanner": "scanner-primary", "fingerprint": "f8bb394bd7f1be71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1680518f0824e76f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/feed-planner/instagram-strategy-agent.ts:77"}, "properties": {"repobilityId": "afb3bc0a80a5a783", "scanner": "scanner-primary", "fingerprint": "1680518f0824e76f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcca051b86d98074", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/instagram-bio-strategist/bio-logic.ts:22"}, "properties": {"repobilityId": "45e9494995779c1c", "scanner": "scanner-primary", "fingerprint": "dcca051b86d98074", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-981510a43edf9c70", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/direct-prompt-generation.ts:84"}, "properties": {"repobilityId": "9703f985b03cc7b7", "scanner": "scanner-primary", "fingerprint": "981510a43edf9c70", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0786053142b1e1cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-generation-handler.ts:330"}, "properties": {"repobilityId": "e8eb65cb5b3a6472", "scanner": "scanner-primary", "fingerprint": "0786053142b1e1cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eaef5035489c523e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-constructor.ts:451"}, "properties": {"repobilityId": "885f037449c1c00a", "scanner": "scanner-primary", "fingerprint": "eaef5035489c523e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-130d5e7e7c2aeba0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/incident-recorder.ts:107"}, "properties": {"repobilityId": "c0741bb362bad303", "scanner": "scanner-primary", "fingerprint": "130d5e7e7c2aeba0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c988a3be7f44f113", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy.ts:165"}, "properties": {"repobilityId": "c9bcaa0f2b7f20f1", "scanner": "scanner-primary", "fingerprint": "c988a3be7f44f113", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f68f47f0b459f4e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/user-preferences.ts:37"}, "properties": {"repobilityId": "f41df90303fa8787", "scanner": "scanner-primary", "fingerprint": "1f68f47f0b459f4e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56348837101fffeb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/nano-banana-prompt-builder.ts:410"}, "properties": {"repobilityId": "296d8b08d6206433", "scanner": "scanner-primary", "fingerprint": "56348837101fffeb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3503a5f5c9466c01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/motion-similarity.ts:134"}, "properties": {"repobilityId": "cce5200fa4100c29", "scanner": "scanner-primary", "fingerprint": "3503a5f5c9466c01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-274baf3054adac5c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/get-user-context.ts:42"}, "properties": {"repobilityId": "c3202d9baef52f21", "scanner": "scanner-primary", "fingerprint": "274baf3054adac5c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e521c9804a06ad6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/feed-strategy-handler.ts:24"}, "properties": {"repobilityId": "6e673f84a2c0d3fc", "scanner": "scanner-primary", "fingerprint": "e521c9804a06ad6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8030be86c250f731", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 lib/maya/pro/category-system.ts:196"}, "properties": {"repobilityId": "cba91e747045ee2d", "scanner": "scanner-primary", "fingerprint": "8030be86c250f731", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ce2c7f93703a9f5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/category-system.ts:186"}, "properties": {"repobilityId": "0d5495a610105ddf", "scanner": "scanner-primary", "fingerprint": "ce2c7f93703a9f5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f957cb6b9234325b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/pro/prompt-architecture.ts:179"}, "properties": {"repobilityId": "957e857670af82f6", "scanner": "scanner-primary", "fingerprint": "f957cb6b9234325b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d4d979ad40e30293", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/maya/prompt-builders/guide-prompt-handler.ts:456"}, "properties": {"repobilityId": "f02962f254901b84", "scanner": "scanner-primary", "fingerprint": "d4d979ad40e30293", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c0675eb7940641b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 lib/maya/prompt-components/universal-prompts-raw.ts:21"}, "properties": {"repobilityId": "1c1eee29d1963dd4", "scanner": "scanner-primary", "fingerprint": "0c0675eb7940641b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d37817440ad95803", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/revenue/db-revenue-metrics.ts:79"}, "properties": {"repobilityId": "aef66e9980d09019", "scanner": "scanner-primary", "fingerprint": "d37817440ad95803", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-846c6477ccd97fb7", "level": "warning", "message": {"text": "Privileged port 8 in use"}, "properties": {"repobilityId": "8e03f5632e703751", "scanner": "scanner-primary", "fingerprint": "846c6477ccd97fb7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/monitoring/02-critical-path-health.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cdff6bea40f621e", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "9cdff6bea40f621e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/gpt-actions-openapi.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97ef9475bbadcc89", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prototype-ai-products.html:1544"}, "properties": {"repobilityId": "59eefe33cc1de098", "scanner": "scanner-primary", "fingerprint": "97ef9475bbadcc89", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prototype-ai-products.html"}, "region": {"startLine": 1544}}}]}, {"ruleId": "scanner-9115aad0c9d9407a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/push-supabase-next-public-to-vercel.mjs:10"}, "properties": {"repobilityId": "999213931d7d786e", "scanner": "scanner-primary", "fingerprint": "9115aad0c9d9407a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/push-supabase-next-public-to-vercel.mjs"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-c7c7bb9aefca1bb5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/cleanup-console-logs.ts:9"}, "properties": {"repobilityId": "b800f78e64186e0f", "scanner": "scanner-primary", "fingerprint": "c7c7bb9aefca1bb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/cleanup-console-logs.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-d0dea451d93e2cdb", "level": "error", "message": {"text": "Possible secret in scripts/22-migrate-users-to-supabase-auth.ts"}, "properties": {"repobilityId": "9458bfc95eeda31a", "scanner": "scanner-primary", "fingerprint": "d0dea451d93e2cdb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/22-migrate-users-to-supabase-auth.ts"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-6ea8444501934545", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/run-automation-daily.mjs:8"}, "properties": {"repobilityId": "fdabbef398c39a85", "scanner": "scanner-primary", "fingerprint": "6ea8444501934545", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/run-automation-daily.mjs"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-2ec74916e510e069", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fix-orphaned-object-literals.ts:7"}, "properties": {"repobilityId": "2220d6d50baf50f9", "scanner": "scanner-primary", "fingerprint": "2ec74916e510e069", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fix-orphaned-object-literals.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-478a00242548a010", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/maya-ui-health-engine.mjs:1"}, "properties": {"repobilityId": "a4019daac2000532", "scanner": "scanner-primary", "fingerprint": "478a00242548a010", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/maya-ui-health-engine.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e8cbebe097eb116", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/extract-reel-references.ts:17"}, "properties": {"repobilityId": "4ff792432b825033", "scanner": "scanner-primary", "fingerprint": "3e8cbebe097eb116", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/extract-reel-references.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-e9beb5c044f4ef67", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/maya-quality-audit.ts:1"}, "properties": {"repobilityId": "12ca03c4ac4c156a", "scanner": "scanner-primary", "fingerprint": "e9beb5c044f4ef67", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/maya-quality-audit.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f9ab8c5658778fb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/run-core-diagnostics.mjs:1"}, "properties": {"repobilityId": "81f5e2d493d119de", "scanner": "scanner-primary", "fingerprint": "7f9ab8c5658778fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/run-core-diagnostics.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d92d353ed0928361", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/sync-env-to-vercel.mjs:13"}, "properties": {"repobilityId": "9605a7c12427ce8c", "scanner": "scanner-primary", "fingerprint": "d92d353ed0928361", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/sync-env-to-vercel.mjs"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-496c459dbb087c87", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/daily-maintenance.ts:6"}, "properties": {"repobilityId": "5abc9f1cb617ab62", "scanner": "scanner-primary", "fingerprint": "496c459dbb087c87", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/daily-maintenance.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-709ed51d4ff238b6", "level": "error", "message": {"text": "Possible secret in scripts/test-decision2-setup.ts"}, "properties": {"repobilityId": "783824af2fadd21e", "scanner": "scanner-primary", "fingerprint": "709ed51d4ff238b6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/test-decision2-setup.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-0027c5ce2190af4b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/monitoring/1-dead-routes-audit.mjs:16"}, "properties": {"repobilityId": "1770383bba17e1e9", "scanner": "scanner-primary", "fingerprint": "0027c5ce2190af4b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/monitoring/1-dead-routes-audit.mjs"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-65f790c6b9dbbc43", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/monitoring/03-cron-status-report.js:13"}, "properties": {"repobilityId": "7240636488d52d6e", "scanner": "scanner-primary", "fingerprint": "65f790c6b9dbbc43", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/monitoring/03-cron-status-report.js"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-81a37f117178010c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/audit/dead-code-hunter.ts:1"}, "properties": {"repobilityId": "96766b7e16e5d36d", "scanner": "scanner-primary", "fingerprint": "81a37f117178010c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit/dead-code-hunter.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b81da0d091f8e16a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/audit/upgrade-readiness-check.ts:1"}, "properties": {"repobilityId": "f243302c3c17fe27", "scanner": "scanner-primary", "fingerprint": "b81da0d091f8e16a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit/upgrade-readiness-check.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef354c0f2af0e73e", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in components/academy/visibility-suite-maya-chat.tsx:274"}, "properties": {"repobilityId": "55dea01096fac17d", "scanner": "scanner-primary", "fingerprint": "ef354c0f2af0e73e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/academy/visibility-suite-maya-chat.tsx"}, "region": {"startLine": 274}}}]}, {"ruleId": "scanner-c7a2d8b189037b48", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in components/blueprint/blueprint-email-capture.tsx:107"}, "properties": {"repobilityId": "fd2f27bc24e0de51", "scanner": "scanner-primary", "fingerprint": "c7a2d8b189037b48", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/blueprint/blueprint-email-capture.tsx"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-2fa7f79b8159db50", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in components/prompt-guides/prompt-guide-page-client.tsx:141"}, "properties": {"repobilityId": "840c2cd014f3fdfa", "scanner": "scanner-primary", "fingerprint": "2fa7f79b8159db50", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/prompt-guides/prompt-guide-page-client.tsx"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-c219876c73adf817", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in app/layout.tsx:128"}, "properties": {"repobilityId": "69d4743587f721a0", "scanner": "scanner-primary", "fingerprint": "c219876c73adf817", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/layout.tsx"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-4cb7d8785dc0a9ca", "level": "error", "message": {"text": "Possible secret in app/actions/reset-passwords.ts"}, "properties": {"repobilityId": "ce4f3333f582a9d6", "scanner": "scanner-primary", "fingerprint": "4cb7d8785dc0a9ca", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/actions/reset-passwords.ts"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-1619f7b5bbd2eef6", "level": "error", "message": {"text": "Possible secret in app/actions/migrate-users.ts"}, "properties": {"repobilityId": "b3742441625c38e2", "scanner": "scanner-primary", "fingerprint": "1619f7b5bbd2eef6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/actions/migrate-users.ts"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-13284d0c9c17d1eb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/get_paid/index.html:855"}, "properties": {"repobilityId": "251f4427fb4aef23", "scanner": "scanner-primary", "fingerprint": "13284d0c9c17d1eb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/academy/get_paid/index.html"}, "region": {"startLine": 855}}}]}, {"ruleId": "scanner-75c0be0fd2bb2aff", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/show_up/index.html:846"}, "properties": {"repobilityId": "7627936f3f26a25d", "scanner": "scanner-primary", "fingerprint": "75c0be0fd2bb2aff", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/academy/show_up/index.html"}, "region": {"startLine": 846}}}]}, {"ruleId": "scanner-1b1ffbf374a0305b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public/academy/what_to_say/index.html:889"}, "properties": {"repobilityId": "2d581c47310bcb36", "scanner": "scanner-primary", "fingerprint": "1b1ffbf374a0305b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public/academy/what_to_say/index.html"}, "region": {"startLine": 889}}}]}, {"ruleId": "scanner-4af823dd65b289ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "43b2e3db3e5f597e", "scanner": "scanner-primary", "fingerprint": "4af823dd65b289ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/automation-daily.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-4af823dd65b289ce", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6ee86ae0c0aff3f9", "scanner": "scanner-primary", "fingerprint": "4af823dd65b289ce", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/automation-daily.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-4af823dd65b289ce", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0184f6c4b524e902", "scanner": "scanner-primary", "fingerprint": "4af823dd65b289ce", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/automation-daily.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-35cf63186abb9b59", "level": "note", "message": {"text": "Very large file: components/freebie/selfie-guide-experience.tsx (2605 lines)"}, "properties": {"repobilityId": "42f29cb6f8878760", "scanner": "scanner-primary", "fingerprint": "35cf63186abb9b59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5923180892f90b45", "level": "note", "message": {"text": "Very large file: components/sselfie/concept-card.tsx (2437 lines)"}, "properties": {"repobilityId": "4893602c259e6dc4", "scanner": "scanner-primary", "fingerprint": "5923180892f90b45", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-23a08a91711a9cac", "level": "note", "message": {"text": "Very large file: components/sselfie/maya-chat-screen.tsx (4643 lines)"}, "properties": {"repobilityId": "49727613063d109b", "scanner": "scanner-primary", "fingerprint": "23a08a91711a9cac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dd5c355f854bc04b", "level": "note", "message": {"text": "Very large file: components/sselfie/sselfie-app.tsx (1678 lines)"}, "properties": {"repobilityId": "b8ac09885558b83d", "scanner": "scanner-primary", "fingerprint": "dd5c355f854bc04b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5f5dd6e55fa00187", "level": "note", "message": {"text": "Very large file: components/sselfie/academy-screen.tsx (1415 lines)"}, "properties": {"repobilityId": "3656f9d35875ddda", "scanner": "scanner-primary", "fingerprint": "5f5dd6e55fa00187", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab710fcf47229003", "level": "note", "message": {"text": "Very large file: components/sselfie/public-marketing.tsx (1578 lines)"}, "properties": {"repobilityId": "c2c1f8f8325e469f", "scanner": "scanner-primary", "fingerprint": "ab710fcf47229003", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-64553cdbc022b306", "level": "note", "message": {"text": "Very large file: components/sselfie/pro-mode/ImageUploadFlow.tsx (1763 lines)"}, "properties": {"repobilityId": "af7cb23c3a16148c", "scanner": "scanner-primary", "fingerprint": "64553cdbc022b306", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f88f8b528ab93c8e", "level": "note", "message": {"text": "Very large file: components/sselfie/pro-mode/ConceptCardPro.tsx (1949 lines)"}, "properties": {"repobilityId": "5a3ecd6f98eee7e5", "scanner": "scanner-primary", "fingerprint": "f88f8b528ab93c8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-84c4dcc612c6bcab", "level": "note", "message": {"text": "Very large file: components/sselfie/maya/maya-chat-interface.tsx (2222 lines)"}, "properties": {"repobilityId": "65ae042ee10783e4", "scanner": "scanner-primary", "fingerprint": "84c4dcc612c6bcab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b781de326f074a51", "level": "note", "message": {"text": "Very large file: components/sselfie/maya/maya-prompts-tab.tsx (1665 lines)"}, "properties": {"repobilityId": "fd7768e513fe11fa", "scanner": "scanner-primary", "fingerprint": "b781de326f074a51", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a332ae5e2c9b8237", "level": "note", "message": {"text": "Very large file: components/app-v3/maya-concierge.tsx (1515 lines)"}, "properties": {"repobilityId": "b13fcdb12a5d8632", "scanner": "scanner-primary", "fingerprint": "a332ae5e2c9b8237", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c2c4df16d7aaf1a", "level": "note", "message": {"text": "Very large file: components/selfie-to-brand-shoot/system-shell.tsx (1621 lines)"}, "properties": {"repobilityId": "8f7de62a86fbba2b", "scanner": "scanner-primary", "fingerprint": "7c2c4df16d7aaf1a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-45c67b78ea229f3c", "level": "note", "message": {"text": "Very large file: components/selfie-to-brand-shoot/course-shell-v1.tsx (5053 lines)"}, "properties": {"repobilityId": "4a6acd34e7c0b47c", "scanner": "scanner-primary", "fingerprint": "45c67b78ea229f3c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-06279854e30918ee", "level": "note", "message": {"text": "Very large file: components/checkout/success-content.tsx (1668 lines)"}, "properties": {"repobilityId": "23e4256a63114e08", "scanner": "scanner-primary", "fingerprint": "06279854e30918ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f300d6de64362b50", "level": "note", "message": {"text": "Very large file: app/api/feed-planner/create-from-strategy/route.ts (1227 lines)"}, "properties": {"repobilityId": "1dc17358569e82fc", "scanner": "scanner-primary", "fingerprint": "f300d6de64362b50", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c738ea50a73bbf3a", "level": "note", "message": {"text": "Very large file: app/api/maya/generate-concepts/route.ts (2798 lines)"}, "properties": {"repobilityId": "c394d15d377b6b45", "scanner": "scanner-primary", "fingerprint": "c738ea50a73bbf3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2162fd74d6e68283", "level": "note", "message": {"text": "Very large file: app/api/maya/chat/route.ts (3210 lines)"}, "properties": {"repobilityId": "eacfa52c0ce355e4", "scanner": "scanner-primary", "fingerprint": "2162fd74d6e68283", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-466817e4a2d3db0d", "level": "note", "message": {"text": "Very large file: app/admin/academy/page.tsx (2594 lines)"}, "properties": {"repobilityId": "0ef81f75af652236", "scanner": "scanner-primary", "fingerprint": "466817e4a2d3db0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d9c2950b6ea2a49e", "level": "note", "message": {"text": "Very large file: app/ai-prompts/access/[token]/page.tsx (1702 lines)"}, "properties": {"repobilityId": "672d942340574762", "scanner": "scanner-primary", "fingerprint": "d9c2950b6ea2a49e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea071ae230e645da", "level": "note", "message": {"text": "Very large file: lib/styling/vibe-libraries.ts (4792 lines)"}, "properties": {"repobilityId": "5be6eca17af8960a", "scanner": "scanner-primary", "fingerprint": "ea071ae230e645da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-49fb5816fc308943", "level": "note", "message": {"text": "Very large file: lib/generation/prompt/legacy-authority.ts (2344 lines)"}, "properties": {"repobilityId": "a0ed7e721e228001", "scanner": "scanner-primary", "fingerprint": "49fb5816fc308943", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74add7984a535b34", "level": "note", "message": {"text": "Very large file: lib/payments/lifecycle/checkout-session-completed.ts (1457 lines)"}, "properties": {"repobilityId": "5f8787a81b3c46c6", "scanner": "scanner-primary", "fingerprint": "74add7984a535b34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d944dab4f2c35d30", "level": "note", "message": {"text": "Very large file: lib/ai-prompts/prompt-data.ts (2717 lines)"}, "properties": {"repobilityId": "aba38d0385ae3957", "scanner": "scanner-primary", "fingerprint": "d944dab4f2c35d30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93a6dc81b39af000", "level": "note", "message": {"text": "Very large file: lib/maya/studio-pro-system-prompt.ts (1238 lines)"}, "properties": {"repobilityId": "670f2bc6bb074447", "scanner": "scanner-primary", "fingerprint": "93a6dc81b39af000", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e61ccb998f3ed50f", "level": "note", "message": {"text": "Very large file: lib/maya/asset-generation.ts (2839 lines)"}, "properties": {"repobilityId": "d1fc9cb5c1cf6f3d", "scanner": "scanner-primary", "fingerprint": "e61ccb998f3ed50f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-27e3cd45557702f0", "level": "note", "message": {"text": "Very large file: lib/maya/pro/influencer-outfits.ts (1983 lines)"}, "properties": {"repobilityId": "44da537c51f270e4", "scanner": "scanner-primary", "fingerprint": "27e3cd45557702f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d2942c300c1d8d6", "level": "note", "message": {"text": "Very large file: lib/maya/prompt-templates/high-end-brands/travel-lifestyle.ts (1184 lines)"}, "properties": {"repobilityId": "4f8bc70473ed1b21", "scanner": "scanner-primary", "fingerprint": "1d2942c300c1d8d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8696c6608ec846ac", "level": "note", "message": {"text": "Very large file: lib/maya/universal-prompts/index.ts (1223 lines)"}, "properties": {"repobilityId": "b14947c90d608449", "scanner": "scanner-primary", "fingerprint": "8696c6608ec846ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "95fc6a5e8d1af08e", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "e36074d931e7a12f", "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": "a0c9d7ce61797b19", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "1f70d1531d694016", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "7bceb0564ca93b71", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "b45812cd5257e3bc", "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": "65208a01c2db7b2e", "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": "7a2829cbb4d201b2", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e40ed52410a7ea5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/onboarding-cro/SKILL.md"}, "properties": {"repobilityId": "48399fea6549441f", "scanner": "scanner-primary", "fingerprint": "e40ed52410a7ea5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/onboarding-cro/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11cdee1d4c9c7b2f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/architecture-simplifier/SKILL.md"}, "properties": {"repobilityId": "4fa5d42ae0bd27ec", "scanner": "scanner-primary", "fingerprint": "11cdee1d4c9c7b2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/architecture-simplifier/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35cce6821b859b1f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/integration-health-check/SKILL.md"}, "properties": {"repobilityId": "2679717808f29f44", "scanner": "scanner-primary", "fingerprint": "35cce6821b859b1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/integration-health-check/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c46fa74b4078e4ee", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/funnel-integrity-audit/SKILL.md"}, "properties": {"repobilityId": "13778612ab86c081", "scanner": "scanner-primary", "fingerprint": "c46fa74b4078e4ee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/funnel-integrity-audit/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51ffd2fda26b0e84", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/gravity-scanner/SKILL.md"}, "properties": {"repobilityId": "bc94fc23e6fb61a9", "scanner": "scanner-primary", "fingerprint": "51ffd2fda26b0e84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/gravity-scanner/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4db32af2a07f300d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/user-journey-scanner/SKILL.md"}, "properties": {"repobilityId": "cff92561dca9c816", "scanner": "scanner-primary", "fingerprint": "4db32af2a07f300d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/user-journey-scanner/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3bc6b0dd0b76054", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/prompt-authority-inspector/SKILL.md"}, "properties": {"repobilityId": "8882757742e8f46b", "scanner": "scanner-primary", "fingerprint": "d3bc6b0dd0b76054", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/prompt-authority-inspector/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-725b8f790e04db2b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/repo-cartographer/SKILL.md"}, "properties": {"repobilityId": "7e1ca6d4106d5ea1", "scanner": "scanner-primary", "fingerprint": "725b8f790e04db2b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/repo-cartographer/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de1865e628f4eb69", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/upgrade-readiness-check/SKILL.md"}, "properties": {"repobilityId": "0feb3b08a17a094f", "scanner": "scanner-primary", "fingerprint": "de1865e628f4eb69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/upgrade-readiness-check/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4706777f311efb3b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 send-broadcast.js:154"}, "properties": {"repobilityId": "1dc311ff8e2d594b", "scanner": "scanner-primary", "fingerprint": "4706777f311efb3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d974b8e17584d76e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-onboarding-segment-env.ts:30"}, "properties": {"repobilityId": "e804a29fffc5bd61", "scanner": "scanner-primary", "fingerprint": "d974b8e17584d76e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a8f2dfad79d7f32b", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/bridge-01-trial-backfill.ts:7"}, "properties": {"repobilityId": "a69c16b2a7f5830b", "scanner": "scanner-primary", "fingerprint": "a8f2dfad79d7f32b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8da1e5ea9c3de0b5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/set-vercel-onboarding-segments.ts:45"}, "properties": {"repobilityId": "ee1460cc5f1f0196", "scanner": "scanner-primary", "fingerprint": "8da1e5ea9c3de0b5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb18fe551a10850d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-verification.ts:20"}, "properties": {"repobilityId": "51d6f96757646d7d", "scanner": "scanner-primary", "fingerprint": "eb18fe551a10850d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce28163e75e316ff", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/provision-resend-segments.ts:86"}, "properties": {"repobilityId": "b7c66ce43293d2a4", "scanner": "scanner-primary", "fingerprint": "ce28163e75e316ff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0706ad878a864627", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-resend-pagination.ts:40"}, "properties": {"repobilityId": "83dffa9bbb463bde", "scanner": "scanner-primary", "fingerprint": "0706ad878a864627", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f8ccada994ca0c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/send-prompt-vault-launch.mjs:41"}, "properties": {"repobilityId": "cf31a8aec89c76bf", "scanner": "scanner-primary", "fingerprint": "7f8ccada994ca0c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82a7251c24784f79", "level": "note", "message": {"text": "Legacy-named symbol `feed_styles_v2` in scripts/seed-feed-planner-v2.ts:46"}, "properties": {"repobilityId": "1247eaf6966d74f4", "scanner": "scanner-primary", "fingerprint": "82a7251c24784f79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ef717bf25c3e00db", "level": "note", "message": {"text": "Legacy-named symbol `feed_styles_v2` in scripts/import-feed-style-variations-v2.ts:43"}, "properties": {"repobilityId": "c708cd8f56414a91", "scanner": "scanner-primary", "fingerprint": "ef717bf25c3e00db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-108fcf48a14cd16a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/upgrade-beta-customer.ts:178"}, "properties": {"repobilityId": "cd4b2a015ba58e09", "scanner": "scanner-primary", "fingerprint": "108fcf48a14cd16a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83c97384140600c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/create-resend-sequence-segments.ts:60"}, "properties": {"repobilityId": "11f93d0eeb39c5e6", "scanner": "scanner-primary", "fingerprint": "83c97384140600c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c584aabc96a26b6a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/extract-reel-references.ts:77"}, "properties": {"repobilityId": "0ad3b57aa3305908", "scanner": "scanner-primary", "fingerprint": "c584aabc96a26b6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01bbf5f157bf939f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-resend-setup.ts:42"}, "properties": {"repobilityId": "ace7c314878c6cfe", "scanner": "scanner-primary", "fingerprint": "01bbf5f157bf939f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6bcd015ec7dfc97e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/setup-content-reel-references.ts:1"}, "properties": {"repobilityId": "9991228bff1cdddd", "scanner": "scanner-primary", "fingerprint": "6bcd015ec7dfc97e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02d59367db5e136f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/setup-content-style-references.ts:1"}, "properties": {"repobilityId": "9487c01e2f76cdb7", "scanner": "scanner-primary", "fingerprint": "02d59367db5e136f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54c8a08d525dddf1", "level": "note", "message": {"text": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.ts:72"}, "properties": {"repobilityId": "af046c82e3188a47", "scanner": "scanner-primary", "fingerprint": "54c8a08d525dddf1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5b3071e16f0a0fa8", "level": "note", "message": {"text": "Legacy-named symbol `user_feed_generations_v2` in scripts/db-inventory.mjs:71"}, "properties": {"repobilityId": "5ca46cf9e9b74ce8", "scanner": "scanner-primary", "fingerprint": "5b3071e16f0a0fa8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-71dd4ede0d7b7749", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/test-maya-pro-mode-restoration.ts:145"}, "properties": {"repobilityId": "8a45b4d1b43a4a39", "scanner": "scanner-primary", "fingerprint": "71dd4ede0d7b7749", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13adce62735b5e9e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/list-resend-segments.ts:20"}, "properties": {"repobilityId": "40f598e970314f1b", "scanner": "scanner-primary", "fingerprint": "13adce62735b5e9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-162bed7c943b5ffe", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/verify-shipped-slides.ts:1"}, "properties": {"repobilityId": "b0b2d829ce14af94", "scanner": "scanner-primary", "fingerprint": "162bed7c943b5ffe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c31ad55613b21f7b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-shipped-slides.ts:59"}, "properties": {"repobilityId": "99fdd37d7ddf67df", "scanner": "scanner-primary", "fingerprint": "c31ad55613b21f7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-00c09c8410068e03", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/reconcile-subscriber-counts.ts:27"}, "properties": {"repobilityId": "f58ae6185f72f4f6", "scanner": "scanner-primary", "fingerprint": "00c09c8410068e03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d54a653b111492bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/prototype-cover-slide.ts:36"}, "properties": {"repobilityId": "a0076f26ae1c4d4f", "scanner": "scanner-primary", "fingerprint": "d54a653b111492bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-71efbfe94f49bbfc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-paid-blueprint-api.ts:27"}, "properties": {"repobilityId": "c0456f8dd45b46a9", "scanner": "scanner-primary", "fingerprint": "71efbfe94f49bbfc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0d7af43029c4cab7", "level": "note", "message": {"text": "Legacy-named symbol `use_feed_planner_v2` in scripts/migrations/run-enable-feed-planner-v2-for-all.ts:32"}, "properties": {"repobilityId": "d80ab1cdfafa72fd", "scanner": "scanner-primary", "fingerprint": "0d7af43029c4cab7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac94932d97187576", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/freebie/selfie-guide-experience.tsx:1356"}, "properties": {"repobilityId": "f0642b2f30a920f2", "scanner": "scanner-primary", "fingerprint": "ac94932d97187576", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ecbca847caed35a5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/content-calendar-screen.tsx:10"}, "properties": {"repobilityId": "7627e1a70b721298", "scanner": "scanner-primary", "fingerprint": "ecbca847caed35a5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e6ee7213fa66b0ae", "level": "none", "message": {"text": "Commented-code block (6 lines) in components/sselfie/concept-card.tsx:706"}, "properties": {"repobilityId": "9cbe8a8c182dfe80", "scanner": "scanner-primary", "fingerprint": "e6ee7213fa66b0ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e608266d50c3c080", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/concept-card.tsx:615"}, "properties": {"repobilityId": "607659b97be4c043", "scanner": "scanner-primary", "fingerprint": "e608266d50c3c080", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-da2104598471b4e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/feed-publishing-hub.tsx:116"}, "properties": {"repobilityId": "009d9fc2a5631ef5", "scanner": "scanner-primary", "fingerprint": "da2104598471b4e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e188b6abee4603b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-history.tsx:33"}, "properties": {"repobilityId": "54c4597ed992cd95", "scanner": "scanner-primary", "fingerprint": "e188b6abee4603b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2378817395ce62a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/sselfie/maya-chat-screen.tsx:435"}, "properties": {"repobilityId": "0bd03f2eb0f86b21", "scanner": "scanner-primary", "fingerprint": "2378817395ce62a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3da5935e03c5e000", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya-chat-screen.tsx:106"}, "properties": {"repobilityId": "73134f1b08a4d7d8", "scanner": "scanner-primary", "fingerprint": "3da5935e03c5e000", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86e8586f5b1f178a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/onboarding-wizard.tsx:23"}, "properties": {"repobilityId": "8385bb2cf9a6d2f3", "scanner": "scanner-primary", "fingerprint": "86e8586f5b1f178a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2f1c0310fd4c1058", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/profile-screen.tsx:71"}, "properties": {"repobilityId": "5bb3312b695bbd28", "scanner": "scanner-primary", "fingerprint": "2f1c0310fd4c1058", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25dff43b580b144f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/story-highlight-card.tsx:196"}, "properties": {"repobilityId": "22f106b1fde65bfa", "scanner": "scanner-primary", "fingerprint": "25dff43b580b144f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-455414b688717e6a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery-screen.tsx:52"}, "properties": {"repobilityId": "e38952245bfedfe7", "scanner": "scanner-primary", "fingerprint": "455414b688717e6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ced364454263f2f", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/sselfie/sselfie-app.tsx:774"}, "properties": {"repobilityId": "28c283337d8c883e", "scanner": "scanner-primary", "fingerprint": "7ced364454263f2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac2168ee77871bc5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/sselfie-app.tsx:179"}, "properties": {"repobilityId": "7385e1c98a42ad9e", "scanner": "scanner-primary", "fingerprint": "ac2168ee77871bc5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82ec432e652ac0d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/b-roll-screen.tsx:49"}, "properties": {"repobilityId": "7a0aeb8789c1ce62", "scanner": "scanner-primary", "fingerprint": "82ec432e652ac0d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e827cb079e9b8231", "level": "none", "message": {"text": "Commented-code block (6 lines) in components/sselfie/blueprint-screen.tsx:575"}, "properties": {"repobilityId": "e44edcf5830e2be3", "scanner": "scanner-primary", "fingerprint": "e827cb079e9b8231", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0267cf0b74ca5623", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/blueprint-screen.tsx:18"}, "properties": {"repobilityId": "3a40a621e664d2dc", "scanner": "scanner-primary", "fingerprint": "0267cf0b74ca5623", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d9e9bc45ca8dc38a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/academy-screen.tsx:424"}, "properties": {"repobilityId": "399a2afac94c281e", "scanner": "scanner-primary", "fingerprint": "d9e9bc45ca8dc38a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8598abce21f6c051", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/studio-pro-image-upload-module.tsx:216"}, "properties": {"repobilityId": "5a2ce1c8d283ea76", "scanner": "scanner-primary", "fingerprint": "8598abce21f6c051", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e89b2e10d1a3da9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/account-screen.tsx:131"}, "properties": {"repobilityId": "845c058002791dd9", "scanner": "scanner-primary", "fingerprint": "8e89b2e10d1a3da9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d34fa49c9e98ffb1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/retrain-model-modal.tsx:20"}, "properties": {"repobilityId": "7466f18cc1568df7", "scanner": "scanner-primary", "fingerprint": "d34fa49c9e98ffb1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-59498ee3629cdd02", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/utils/bulk-download.ts:26"}, "properties": {"repobilityId": "acfc466022102c43", "scanner": "scanner-primary", "fingerprint": "59498ee3629cdd02", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-03edde6a8ae5879b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-feed-images.ts:7"}, "properties": {"repobilityId": "ef866dbab95f0c3a", "scanner": "scanner-primary", "fingerprint": "03edde6a8ae5879b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dbf8955c6ccdf140", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/gallery/hooks/use-gallery-images.ts:7"}, "properties": {"repobilityId": "89fe8760644f057d", "scanner": "scanner-primary", "fingerprint": "dbf8955c6ccdf140", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1215add65bf6b5aa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ConceptCardPro.tsx:482"}, "properties": {"repobilityId": "e9c21dfed9c5afe3", "scanner": "scanner-primary", "fingerprint": "1215add65bf6b5aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ecf9060c76cc815e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/ProModeChatHistory.tsx:46"}, "properties": {"repobilityId": "aa0efc9dbff32b76", "scanner": "scanner-primary", "fingerprint": "ecf9060c76cc815e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b5de16b7c37d7c36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useConceptGeneration.ts:81"}, "properties": {"repobilityId": "c5902f5957677627", "scanner": "scanner-primary", "fingerprint": "b5de16b7c37d7c36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a22143a2f82b0465", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useImageLibrary.ts:142"}, "properties": {"repobilityId": "dfbd69b37733a9a0", "scanner": "scanner-primary", "fingerprint": "a22143a2f82b0465", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6152fdb7ad570283", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/pro-mode/hooks/useProModeChat.ts:144"}, "properties": {"repobilityId": "13c8a8e5fcdc1796", "scanner": "scanner-primary", "fingerprint": "6152fdb7ad570283", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-966981c32d9a4191", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-training-tab.tsx:19"}, "properties": {"repobilityId": "3e6dbe99be611c44", "scanner": "scanner-primary", "fingerprint": "966981c32d9a4191", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f4c0046120667fa4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-prompts-tab.tsx:147"}, "properties": {"repobilityId": "6412561e5ba6bfca", "scanner": "scanner-primary", "fingerprint": "f4c0046120667fa4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d3de75e3bdd2e8f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-welcome-panel.tsx:41"}, "properties": {"repobilityId": "b908906dbe377038", "scanner": "scanner-primary", "fingerprint": "5d3de75e3bdd2e8f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-638b4bf9bf56d2ef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-videos-tab.tsx:53"}, "properties": {"repobilityId": "4bf87b319bf7fe2f", "scanner": "scanner-primary", "fingerprint": "638b4bf9bf56d2ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87c2a020d4443058", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/welcome-first-generation-flow.tsx:115"}, "properties": {"repobilityId": "570b2aad106760e3", "scanner": "scanner-primary", "fingerprint": "87c2a020d4443058", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f77b7f3f563f73a1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/maya-studio-copilot-home.tsx:16"}, "properties": {"repobilityId": "c6216a627f5daca9", "scanner": "scanner-primary", "fingerprint": "f77b7f3f563f73a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-75e9931572d40cd6", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/sselfie/maya/hooks/use-maya-chat.ts:303"}, "properties": {"repobilityId": "feafaef046f84207", "scanner": "scanner-primary", "fingerprint": "75e9931572d40cd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c34de48419d240b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/sselfie/maya/hooks/use-maya-chat.ts:321"}, "properties": {"repobilityId": "c337246b28417661", "scanner": "scanner-primary", "fingerprint": "c34de48419d240b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06586b88b4c153a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/academy/in-app-lesson-viewer.tsx:86"}, "properties": {"repobilityId": "a551b77bb550f0aa", "scanner": "scanner-primary", "fingerprint": "06586b88b4c153a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b13a0d857c82754", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/academy/video-player.tsx:24"}, "properties": {"repobilityId": "85692009fef9660e", "scanner": "scanner-primary", "fingerprint": "5b13a0d857c82754", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47376852ec94334b", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/app-v3/generate-image-client.ts:1"}, "properties": {"repobilityId": "d5a87ac4053c12c4", "scanner": "scanner-primary", "fingerprint": "47376852ec94334b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28c8a598e9b5f113", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/concierge-context.tsx:82"}, "properties": {"repobilityId": "6b0f634378809ca0", "scanner": "scanner-primary", "fingerprint": "28c8a598e9b5f113", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af1c3978042d1ca9", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/app-v3/concept-card.tsx:3"}, "properties": {"repobilityId": "aff5fbda02870232", "scanner": "scanner-primary", "fingerprint": "af1c3978042d1ca9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0f61a1610872f44", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/app-v3/account-view.tsx:3"}, "properties": {"repobilityId": "993493c2b5385925", "scanner": "scanner-primary", "fingerprint": "a0f61a1610872f44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30e202b70e0fc234", "level": "none", "message": {"text": "Commented-code block (8 lines) in components/app-v3/app-v3-shell.tsx:3"}, "properties": {"repobilityId": "b51ae274e000b546", "scanner": "scanner-primary", "fingerprint": "30e202b70e0fc234", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59845bb15789c98e", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/app-v3/content-view.tsx:3"}, "properties": {"repobilityId": "9e571b04cb2137a0", "scanner": "scanner-primary", "fingerprint": "59845bb15789c98e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a73f199f16524fa4", "level": "none", "message": {"text": "Commented-code block (6 lines) in components/app-v3/library-view.tsx:3"}, "properties": {"repobilityId": "6a9e6889e8618f05", "scanner": "scanner-primary", "fingerprint": "a73f199f16524fa4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5669c3ae982c557d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/app-v3/maya-concierge.tsx:459"}, "properties": {"repobilityId": "7e11362ce677926f", "scanner": "scanner-primary", "fingerprint": "5669c3ae982c557d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2e6c7d36c3ab3b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/app-v3/visual-front-door.tsx:3"}, "properties": {"repobilityId": "5568a918814edbf6", "scanner": "scanner-primary", "fingerprint": "f2e6c7d36c3ab3b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-104cae71c5458ea3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/social-share-button.tsx:8"}, "properties": {"repobilityId": "ebeab8212343b9d0", "scanner": "scanner-primary", "fingerprint": "104cae71c5458ea3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-612a0f6f471c66dd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/referrals/referral-dashboard.tsx:8"}, "properties": {"repobilityId": "b27dc0a614c18e76", "scanner": "scanner-primary", "fingerprint": "612a0f6f471c66dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a651a3bc86a8dee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/ig-agent/ig-inbox-client.tsx:72"}, "properties": {"repobilityId": "4e9ddcf2afc1b7bf", "scanner": "scanner-primary", "fingerprint": "4a651a3bc86a8dee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-728a9114a8f6240c", "level": "none", "message": {"text": "Commented-code block (6 lines) in components/marketing/suite-door.tsx:3"}, "properties": {"repobilityId": "62bcf808003ca653", "scanner": "scanner-primary", "fingerprint": "728a9114a8f6240c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-619453b9d458135e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/shoot-studio-client.tsx:560"}, "properties": {"repobilityId": "046c4052532c7c37", "scanner": "scanner-primary", "fingerprint": "619453b9d458135e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19bd2dcb0f89cadb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-brief-client.tsx:123"}, "properties": {"repobilityId": "c2f4f2b87741f22f", "scanner": "scanner-primary", "fingerprint": "19bd2dcb0f89cadb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-421cbe2d78c6a474", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-demo-client.tsx:70"}, "properties": {"repobilityId": "b314e2a2f0b59a1d", "scanner": "scanner-primary", "fingerprint": "421cbe2d78c6a474", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73b65d1fa4a9beec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-story-client.tsx:192"}, "properties": {"repobilityId": "850bccaebd23c3d5", "scanner": "scanner-primary", "fingerprint": "73b65d1fa4a9beec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-990dbebf781fb5a0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/admin/content-kit-client.tsx:229"}, "properties": {"repobilityId": "6cba141e10ccc71a", "scanner": "scanner-primary", "fingerprint": "990dbebf781fb5a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86b52938f70ee641", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/blueprint-onboarding-wizard.tsx:161"}, "properties": {"repobilityId": "03f924fadbbf4cb3", "scanner": "scanner-primary", "fingerprint": "86b52938f70ee641", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8131414fca640472", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/onboarding/unified-onboarding-wizard.tsx:255"}, "properties": {"repobilityId": "e43de01a1f896669", "scanner": "scanner-primary", "fingerprint": "8131414fca640472", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-417ed0e2e71ecdfb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/blueprint/blueprint-selfie-upload.tsx:169"}, "properties": {"repobilityId": "6f238bb83a7fc1c0", "scanner": "scanner-primary", "fingerprint": "417ed0e2e71ecdfb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-57d5288a00c7e4ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in components/feed-planner/feed-view-screen.tsx:174"}, "properties": {"repobilityId": "94ac6720880c947f", "scanner": "scanner-primary", "fingerprint": "57d5288a00c7e4ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e31a97a4e507ed0e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-view-screen.tsx:12"}, "properties": {"repobilityId": "1b1a5c95ed764d5b", "scanner": "scanner-primary", "fingerprint": "e31a97a4e507ed0e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2a56c845d03a99c8", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/feed-planner/instagram-feed-view.tsx:476"}, "properties": {"repobilityId": "40a47dc752c92049", "scanner": "scanner-primary", "fingerprint": "2a56c845d03a99c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c26ea664341d14a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/instagram-feed-view.tsx:33"}, "properties": {"repobilityId": "966ea4f085f1afb3", "scanner": "scanner-primary", "fingerprint": "4c26ea664341d14a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f8621d8d2262bd4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-style-modal.tsx:36"}, "properties": {"repobilityId": "a0ceb0c7f70ee9ad", "scanner": "scanner-primary", "fingerprint": "7f8621d8d2262bd4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-390d907e926b1f17", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/welcome-wizard.tsx:13"}, "properties": {"repobilityId": "74ee663ffaf67f6e", "scanner": "scanner-primary", "fingerprint": "390d907e926b1f17", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad1bf3f87b953826", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/feed-planner/feed-single-placeholder.tsx:328"}, "properties": {"repobilityId": "15ac6a62097f80b0", "scanner": "scanner-primary", "fingerprint": "ad1bf3f87b953826", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5b31d1cf7864fa8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-single-placeholder.tsx:363"}, "properties": {"repobilityId": "035062f2001d31d8", "scanner": "scanner-primary", "fingerprint": "f5b31d1cf7864fa8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-45af92834b4aa84b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-brand-pillars.tsx:29"}, "properties": {"repobilityId": "956ff2f24b2b313c", "scanner": "scanner-primary", "fingerprint": "45af92834b4aa84b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c45b481589b6d90a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/feed-header.tsx:25"}, "properties": {"repobilityId": "445bea70d57d2f36", "scanner": "scanner-primary", "fingerprint": "c45b481589b6d90a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9ff013435e7f360", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/use-feed-polling.ts:7"}, "properties": {"repobilityId": "cc7fa647d1224f6b", "scanner": "scanner-primary", "fingerprint": "a9ff013435e7f360", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a95323d19f71f17f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-polling.ts:6"}, "properties": {"repobilityId": "b90342755dac69a5", "scanner": "scanner-primary", "fingerprint": "a95323d19f71f17f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4110631fd656a18e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/feed-planner/hooks/feed/use-feed-actions.ts:141"}, "properties": {"repobilityId": "2889171256bdaac6", "scanner": "scanner-primary", "fingerprint": "4110631fd656a18e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2bdb4985df1105bd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-renewal-banner.tsx:9"}, "properties": {"repobilityId": "5719e50b44bfe0f7", "scanner": "scanner-primary", "fingerprint": "2bdb4985df1105bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e52cf53590837b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/low-credit-modal.tsx:12"}, "properties": {"repobilityId": "5689ae9a524f788b", "scanner": "scanner-primary", "fingerprint": "9e52cf53590837b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aac44fc8a73518f6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/zero-credits-upgrade-modal.tsx:15"}, "properties": {"repobilityId": "b6fac839ffa4006c", "scanner": "scanner-primary", "fingerprint": "aac44fc8a73518f6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88c5d62bb26b501f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 components/credits/credit-balance.tsx:7"}, "properties": {"repobilityId": "cf6ddec1ecaa5842", "scanner": "scanner-primary", "fingerprint": "88c5d62bb26b501f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fec99d906b76d227", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.tsx:42"}, "properties": {"repobilityId": "f29d1eeaca547241", "scanner": "scanner-primary", "fingerprint": "fec99d906b76d227", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3f038739ec9a6b19", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/academy/courses/[courseId]/lessons/[lessonId]/lesson-viewer-client.tsx:172"}, "properties": {"repobilityId": "cde806b48f4eeb0f", "scanner": "scanner-primary", "fingerprint": "3f038739ec9a6b19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ceed543c3c1f44a", "level": "none", "message": {"text": "Commented-code block (10 lines) in app/api/vault/email-drop/route.ts:6"}, "properties": {"repobilityId": "277bca238a669eae", "scanner": "scanner-primary", "fingerprint": "7ceed543c3c1f44a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0f8372f6c73a164", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/api/vault/email-drop/process/route.ts:6"}, "properties": {"repobilityId": "8360d1dc926b01cd", "scanner": "scanner-primary", "fingerprint": "b0f8372f6c73a164", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b8a6cc4a9d58fa8", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/manychat/email-capture/route.ts:3"}, "properties": {"repobilityId": "e67df1c265feb145", "scanner": "scanner-primary", "fingerprint": "6b8a6cc4a9d58fa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03a54272a7571462", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/auth/auto-confirm/route.ts:183"}, "properties": {"repobilityId": "2cb58eb2ad31e671", "scanner": "scanner-primary", "fingerprint": "03a54272a7571462", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dadccdafdf269832", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/app-v3/library/route.ts:1"}, "properties": {"repobilityId": "8faceb0f300d666a", "scanner": "scanner-primary", "fingerprint": "dadccdafdf269832", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c8ff16534e715c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/generate/route.ts:3"}, "properties": {"repobilityId": "1dc4cd8d80f76afc", "scanner": "scanner-primary", "fingerprint": "4c8ff16534e715c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-153db80c3f6c81c5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/generate/route.ts:108"}, "properties": {"repobilityId": "587861bf5558a24c", "scanner": "scanner-primary", "fingerprint": "153db80c3f6c81c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ba879aa88166ec4", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/app-v3/maya/chat/route.ts:3"}, "properties": {"repobilityId": "7800bc142742ec35", "scanner": "scanner-primary", "fingerprint": "1ba879aa88166ec4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94e2462782edac69", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/debug-context/route.ts:1"}, "properties": {"repobilityId": "b841c1796ab3c259", "scanner": "scanner-primary", "fingerprint": "94e2462782edac69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a32b3e54df17fe7a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/app-v3/maya/edit/route.ts:1"}, "properties": {"repobilityId": "24e315e0be81b1c4", "scanner": "scanner-primary", "fingerprint": "a32b3e54df17fe7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90fec8fba153c19f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/app-v3/maya/edit/route.ts:54"}, "properties": {"repobilityId": "08833d3a5f56ce6d", "scanner": "scanner-primary", "fingerprint": "90fec8fba153c19f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a7940a1f192929be", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/app-v3/upload-selfie/route.ts:67"}, "properties": {"repobilityId": "47b1417f0241efb6", "scanner": "scanner-primary", "fingerprint": "a7940a1f192929be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ee64a5fe0475a42", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/feed/[feedId]/generate-single/route.ts:248"}, "properties": {"repobilityId": "9cb82f1b86637d5b", "scanner": "scanner-primary", "fingerprint": "5ee64a5fe0475a42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad50d244826dadc5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/feed/[feedId]/add-highlight-overlay/route.ts:86"}, "properties": {"repobilityId": "e16be9390de0afc0", "scanner": "scanner-primary", "fingerprint": "ad50d244826dadc5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e18e896f59d5fb41", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/feed/list/route.ts:23"}, "properties": {"repobilityId": "deadae2e908a8b47", "scanner": "scanner-primary", "fingerprint": "e18e896f59d5fb41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ace5bf81bf9cfe91", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/admin/vault-drop-email/route.ts:76"}, "properties": {"repobilityId": "6365cf181e49ea93", "scanner": "scanner-primary", "fingerprint": "ace5bf81bf9cfe91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9249bfe52ebce5b8", "level": "note", "message": {"text": "Legacy-named symbol `formDataForLegacy` in app/api/onboarding/unified-onboarding-complete/route.ts:212"}, "properties": {"repobilityId": "abd749487c075d46", "scanner": "scanner-primary", "fingerprint": "9249bfe52ebce5b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df37ceea41522992", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/cron/onboarding-sequence/route.ts:261"}, "properties": {"repobilityId": "cf157ac973497124", "scanner": "scanner-primary", "fingerprint": "df37ceea41522992", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbc4821dcfad83dd", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/api/cron/suite-habit-emails/route.ts:1"}, "properties": {"repobilityId": "9a000a6b95d41519", "scanner": "scanner-primary", "fingerprint": "bbc4821dcfad83dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbfc45553cfeb11f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/reconcile-generations/route.ts:232"}, "properties": {"repobilityId": "47940d45b95be50e", "scanner": "scanner-primary", "fingerprint": "cbfc45553cfeb11f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-58c47719992d5ac6", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/cron/sync-audience-segments/route.ts:60"}, "properties": {"repobilityId": "1519e479860283b0", "scanner": "scanner-primary", "fingerprint": "58c47719992d5ac6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a83d38cf1c29d16", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/cron/membership-checkout-recovery/route.ts:3"}, "properties": {"repobilityId": "84059ab70815c5d4", "scanner": "scanner-primary", "fingerprint": "7a83d38cf1c29d16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42f54805db9d36e3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/cron/ig-insights-sync/route.ts:41"}, "properties": {"repobilityId": "d3bf6cc9825ade47", "scanner": "scanner-primary", "fingerprint": "42f54805db9d36e3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-62b1b4a110fb5b66", "level": "note", "message": {"text": "Legacy-named symbol `use_feed_planner_v2` in app/api/user/info/route.ts:62"}, "properties": {"repobilityId": "aa910de199bd1061", "scanner": "scanner-primary", "fingerprint": "62b1b4a110fb5b66", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a469d2ffa2a4bfce", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/feed-planner/create-from-strategy/route.ts:604"}, "properties": {"repobilityId": "3386347631549101", "scanner": "scanner-primary", "fingerprint": "a469d2ffa2a4bfce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08f330fe95fbcefd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/sync/route.ts:28"}, "properties": {"repobilityId": "452be03a28cae628", "scanner": "scanner-primary", "fingerprint": "08f330fe95fbcefd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51eea8cde2ec37e1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/instagram/callback/route.ts:37"}, "properties": {"repobilityId": "67edddc5b43ae101", "scanner": "scanner-primary", "fingerprint": "51eea8cde2ec37e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ca5b2415fe739618", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/api/webhooks/manychat-inbound/route.ts:3"}, "properties": {"repobilityId": "a1f8b74af94f17d5", "scanner": "scanner-primary", "fingerprint": "ca5b2415fe739618", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3103c7ea45b7fac2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/check-generation/route.ts:33"}, "properties": {"repobilityId": "8328cf7db0f1c48e", "scanner": "scanner-primary", "fingerprint": "3103c7ea45b7fac2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aec387d72eb01ed8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/photoshoot/check-grid/route.ts:80"}, "properties": {"repobilityId": "a1a5fdeccdc8cc35", "scanner": "scanner-primary", "fingerprint": "aec387d72eb01ed8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a70049ec2c5b0db5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/check-generation/route.ts:154"}, "properties": {"repobilityId": "fbb5efd66ebcbafa", "scanner": "scanner-primary", "fingerprint": "a70049ec2c5b0db5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc802b86922559dd", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/api/maya/pro/generate-concepts/route.ts:75"}, "properties": {"repobilityId": "6b2d2c218e0e69a1", "scanner": "scanner-primary", "fingerprint": "dc802b86922559dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb2d021553b54ab2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/pro/generate-image/route.ts:200"}, "properties": {"repobilityId": "1ce3f244c70e1001", "scanner": "scanner-primary", "fingerprint": "bb2d021553b54ab2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d271d96e67b9ac69", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/generate-image-openai/route.ts:89"}, "properties": {"repobilityId": "c46dfa891ef2f4d6", "scanner": "scanner-primary", "fingerprint": "d271d96e67b9ac69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3389f9a7ddb91d5f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/maya/research/route.ts:26"}, "properties": {"repobilityId": "34221854a10d445b", "scanner": "scanner-primary", "fingerprint": "3389f9a7ddb91d5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-580c39983c04dbde", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/maya/chat/route.ts:2503"}, "properties": {"repobilityId": "b223b09edfc0fca5", "scanner": "scanner-primary", "fingerprint": "580c39983c04dbde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ab4906bb32e51df", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/api/maya/load-chat/route.ts:257"}, "properties": {"repobilityId": "c3a5196ac151d29b", "scanner": "scanner-primary", "fingerprint": "1ab4906bb32e51df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6388bbd89cbd9556", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/create-zip-from-blobs/route.ts:52"}, "properties": {"repobilityId": "3df94f8ef5d1c40b", "scanner": "scanner-primary", "fingerprint": "6388bbd89cbd9556", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42dca92d56b6ec23", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/start-training/route.ts:88"}, "properties": {"repobilityId": "501268ddc74bd325", "scanner": "scanner-primary", "fingerprint": "42dca92d56b6ec23", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b2b055ab40a2cf79", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/api/training/upload-zip/route.ts:307"}, "properties": {"repobilityId": "a6f12c67bcaeca33", "scanner": "scanner-primary", "fingerprint": "b2b055ab40a2cf79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fd8e3766d0e08ed7", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/app/page.tsx:3"}, "properties": {"repobilityId": "fb744fce850f3e1c", "scanner": "scanner-primary", "fingerprint": "fd8e3766d0e08ed7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1e3c926ee6f27eb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/academy/page.tsx:419"}, "properties": {"repobilityId": "e448cff66dc2534e", "scanner": "scanner-primary", "fingerprint": "f1e3c926ee6f27eb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44c9c6f7f0cea3a2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/admin/testimonials/page.tsx:150"}, "properties": {"repobilityId": "ca760404ac88ae40", "scanner": "scanner-primary", "fingerprint": "44c9c6f7f0cea3a2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a721053d685207d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/claim/[token]/page.tsx:1"}, "properties": {"repobilityId": "9f0439b20e19e7c5", "scanner": "scanner-primary", "fingerprint": "a721053d685207d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5e0f7cc7bb52bc6", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/studio/page.tsx:106"}, "properties": {"repobilityId": "e957af56fe86f4a5", "scanner": "scanner-primary", "fingerprint": "a5e0f7cc7bb52bc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-901310dc05c69cd3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/sw.js/route.ts:156"}, "properties": {"repobilityId": "b262cecc970e7026", "scanner": "scanner-primary", "fingerprint": "901310dc05c69cd3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f8f65834e363e86", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/feed-planner/feed-planner-client.tsx:314"}, "properties": {"repobilityId": "f3202ec269d0f3b0", "scanner": "scanner-primary", "fingerprint": "7f8f65834e363e86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cf0d58dc091dbea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/feed-planner/feed-planner-client.tsx:14"}, "properties": {"repobilityId": "b910c962fd526194", "scanner": "scanner-primary", "fingerprint": "8cf0d58dc091dbea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f699dab7d839b22b", "level": "note", "message": {"text": "Legacy-named symbol `ai_prompts_demo_after_copy` in app/ai-prompts/access/demo/page.tsx:188"}, "properties": {"repobilityId": "d1d892fc26b01a9c", "scanner": "scanner-primary", "fingerprint": "f699dab7d839b22b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eade7bdd73287bcf", "level": "note", "message": {"text": "Legacy-named symbol `after_copy` in app/ai-prompts/access/[token]/page.tsx:193"}, "properties": {"repobilityId": "d8274a1550d8cf08", "scanner": "scanner-primary", "fingerprint": "eade7bdd73287bcf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f277ac93dd6d76fa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/start-embedded-checkout.ts:52"}, "properties": {"repobilityId": "ac63745706d6536f", "scanner": "scanner-primary", "fingerprint": "f277ac93dd6d76fa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6c96f4ba7012daf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/north-notifier.ts:34"}, "properties": {"repobilityId": "1ad4f32ba6b7152b", "scanner": "scanner-primary", "fingerprint": "f6c96f4ba7012daf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d11c403e4fd79b3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/replicate-sync.ts:57"}, "properties": {"repobilityId": "5cccc6ead8cb5b70", "scanner": "scanner-primary", "fingerprint": "d11c403e4fd79b3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0bfdf61548643a5a", "level": "none", "message": {"text": "Commented-code block (10 lines) in lib/vault/drop-log.ts:3"}, "properties": {"repobilityId": "b55a968a3f87a8df", "scanner": "scanner-primary", "fingerprint": "0bfdf61548643a5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4c460b03e17c26a", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/email/editorial-email.ts:8"}, "properties": {"repobilityId": "25eee1d90d19fb15", "scanner": "scanner-primary", "fingerprint": "c4c460b03e17c26a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53cdb7e449470ab4", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/email/templates/stone-email.ts:3"}, "properties": {"repobilityId": "66cdcf684667531e", "scanner": "scanner-primary", "fingerprint": "53cdb7e449470ab4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-144ef4f202397c34", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/email/templates/subscriber-winback.ts:1"}, "properties": {"repobilityId": "d4ab6a228b034342", "scanner": "scanner-primary", "fingerprint": "144ef4f202397c34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cc3b758e2e36791", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/persona.ts:1"}, "properties": {"repobilityId": "fa53c4e4b26b45f6", "scanner": "scanner-primary", "fingerprint": "9cc3b758e2e36791", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f0857046103866c", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/memory-store.ts:1"}, "properties": {"repobilityId": "e0a8c6b741b3acb9", "scanner": "scanner-primary", "fingerprint": "0f0857046103866c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44ea0d1507cea251", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/app-v3/maya/carousel-design-systems.ts:3"}, "properties": {"repobilityId": "c3246697cbe4e24b", "scanner": "scanner-primary", "fingerprint": "44ea0d1507cea251", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6863dd729c67ad85", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/vault-styles.ts:3"}, "properties": {"repobilityId": "3264fae84de3aaa1", "scanner": "scanner-primary", "fingerprint": "6863dd729c67ad85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1bbae674d896bb29", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients.ts:1"}, "properties": {"repobilityId": "9442f8195deb062b", "scanner": "scanner-primary", "fingerprint": "1bbae674d896bb29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-151234f1dbbeb1e8", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/app-v3/maya/ingredients/aesthetic-recipes.ts:3"}, "properties": {"repobilityId": "eaa675c99290638f", "scanner": "scanner-primary", "fingerprint": "151234f1dbbeb1e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20664ca3f8af7d1e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/analytics/client.ts:28"}, "properties": {"repobilityId": "ee16df22d66303d9", "scanner": "scanner-primary", "fingerprint": "20664ca3f8af7d1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6127decf70c7a0bf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/resend/manage-contact.ts:189"}, "properties": {"repobilityId": "dfc5a0ffc64272e9", "scanner": "scanner-primary", "fingerprint": "6127decf70c7a0bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2627e8e1276f4b91", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/demo-generator.ts:31"}, "properties": {"repobilityId": "97f9222886699b44", "scanner": "scanner-primary", "fingerprint": "2627e8e1276f4b91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b179deff4d6cb801", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/content-kit/shoot-generator.ts:27"}, "properties": {"repobilityId": "7df6f014891e0abf", "scanner": "scanner-primary", "fingerprint": "b179deff4d6cb801", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ff325ab939b896d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/shoot-generator.ts:73"}, "properties": {"repobilityId": "5f7ae873a61c1784", "scanner": "scanner-primary", "fingerprint": "0ff325ab939b896d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-64368faf35fe18fe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-kit/slide-redesign-generator.ts:21"}, "properties": {"repobilityId": "4491eb379b3d35da", "scanner": "scanner-primary", "fingerprint": "64368faf35fe18fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d714004945b0d412", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/feed/finalize-replicate-image.ts:80"}, "properties": {"repobilityId": "ad4f50fd737013fa", "scanner": "scanner-primary", "fingerprint": "d714004945b0d412", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1b48ebb8bc0c96e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/ig-agent/send-manychat.ts:5"}, "properties": {"repobilityId": "5521949a250d7276", "scanner": "scanner-primary", "fingerprint": "1b48ebb8bc0c96e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d37d33eadc14eb8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/generation/reconcile-pro-photoshoot-grids.ts:129"}, "properties": {"repobilityId": "0868eedd00b4b182", "scanner": "scanner-primary", "fingerprint": "1d37d33eadc14eb8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c143c5c2e6bedf0d", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/payments/lifecycle/subscription-events.ts:110"}, "properties": {"repobilityId": "7fe4df576303d770", "scanner": "scanner-primary", "fingerprint": "c143c5c2e6bedf0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f257cd9a883fa9ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/payments/lifecycle/invoice-paid.ts:1"}, "properties": {"repobilityId": "0ccad39d5dff1bc4", "scanner": "scanner-primary", "fingerprint": "f257cd9a883fa9ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-656569ee5b37edd8", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/hooks/use-feed-post-polling.ts:264"}, "properties": {"repobilityId": "6f767c0aa16b75e7", "scanner": "scanner-primary", "fingerprint": "656569ee5b37edd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-471d2c52762a7bee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/content-engine/instagram-performance.ts:102"}, "properties": {"repobilityId": "52e29c02c390fa31", "scanner": "scanner-primary", "fingerprint": "471d2c52762a7bee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-98a1dc832467edaf", "level": "note", "message": {"text": "Legacy-named symbol `feed_styles_v2` in lib/feed-planner/feed-style-prompt-loader.ts:66"}, "properties": {"repobilityId": "67651a0db8c8bd9e", "scanner": "scanner-primary", "fingerprint": "98a1dc832467edaf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a7d63afeb92f05f", "level": "note", "message": {"text": "Legacy-named symbol `use_feed_planner_v2` in lib/feed-planner/feature-flag.ts:7"}, "properties": {"repobilityId": "49083e97db19c003", "scanner": "scanner-primary", "fingerprint": "1a7d63afeb92f05f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d94078771dd9b833", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/feed-planner/feature-flag.ts:4"}, "properties": {"repobilityId": "15a8e468beb4d486", "scanner": "scanner-primary", "fingerprint": "d94078771dd9b833", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e944acbe8583f2df", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/ai-prompts/prompt-data.ts:9"}, "properties": {"repobilityId": "0440a0a084bc738f", "scanner": "scanner-primary", "fingerprint": "e944acbe8583f2df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a21736dade3d8438", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 lib/maya/feed-generation-handler.ts:810"}, "properties": {"repobilityId": "1eb75a95ffb9fdd9", "scanner": "scanner-primary", "fingerprint": "a21736dade3d8438", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-65d008ed499257e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/maya/openrouter.ts:155"}, "properties": {"repobilityId": "760cb10421404338", "scanner": "scanner-primary", "fingerprint": "65d008ed499257e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34c384ffa9be8805", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/maya/nano-banana-prompt-builder.ts:336"}, "properties": {"repobilityId": "ac64b00ae48a47fe", "scanner": "scanner-primary", "fingerprint": "34c384ffa9be8805", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02b7703dd558acd6", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/maya/feed-strategy-handler.ts:1"}, "properties": {"repobilityId": "bc345a0bf0214f4c", "scanner": "scanner-primary", "fingerprint": "02b7703dd558acd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96513dfafbd1fa21", "level": "none", "message": {"text": "Commented-code block (10 lines) in lib/maya/pro/photography-styles.ts:284"}, "properties": {"repobilityId": "b3607bdc458bee54", "scanner": "scanner-primary", "fingerprint": "96513dfafbd1fa21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e0ca4350c1b6f69", "level": "none", "message": {"text": "Commented-code block (11 lines) in lib/maya/pro/seasonal-luxury-content.ts:468"}, "properties": {"repobilityId": "e415f5a2740aba6a", "scanner": "scanner-primary", "fingerprint": "3e0ca4350c1b6f69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-821b118d746e0436", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/maya/universal-prompts/index.ts:506"}, "properties": {"repobilityId": "5c43f61070f2038f", "scanner": "scanner-primary", "fingerprint": "821b118d746e0436", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}