{"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-3f0298501f0ba91f", "name": "Stray `console.log` in TS/JS \u2014 validator.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 validator.js:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72c2411ae8ba250b", "name": "Stray `console.log` in TS/JS \u2014 local_cache_idb.js:178", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 local_cache_idb.js:178"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9dfaa37629857fd9", "name": "Stray `console.log` in TS/JS \u2014 scheduler_core_main.js:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_main.js: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-e2f49b468076350f", "name": "Stray `console.log` in TS/JS \u2014 post_edit_system.js:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 post_edit_system.js:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d517dd2cecb83466", "name": "Icon-only button without accessible name \u2014 rules.js:736", "shortDescription": {"text": "Icon-only button without accessible name \u2014 rules.js:736"}, "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-84c6cf9aca09dfd7", "name": "Stray `console.log` in TS/JS \u2014 rules.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rules.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b04d2b0312aff8a", "name": "Stray `console.log` in TS/JS \u2014 scheduler_core_utils.js:241", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_utils.js: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-371e0085747eaaf2", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_ors_optimizer.js:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_ors_optimizer.js: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-b286874e43ee85c0", "name": "Icon-only button without accessible name \u2014 campistry_me.js:1906", "shortDescription": {"text": "Icon-only button without accessible name \u2014 campistry_me.js:1906"}, "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-0aab75be05c349a1", "name": "Stray `console.log` in TS/JS \u2014 campistry_me.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_me.js: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-01fa3c0b5e326bb7", "name": "Stray `console.log` in TS/JS \u2014 playoff_mode.js:1015", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playoff_mode.js:1015"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26a331b765dee29a", "name": "Stray `console.log` in TS/JS \u2014 campistry_diagnostics.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_diagnostics.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-f2f108614f36487f", "name": "Stray `console.log` in TS/JS \u2014 integration_hooks.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 integration_hooks.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcc271c2bfedb483", "name": "Stray `console.log` in TS/JS \u2014 playoff_hub.js:1059", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playoff_hub.js:1059"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86fa0546ec5bb9c7", "name": "Stray `console.log` in TS/JS \u2014 rbac_visual_restrictions.js:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rbac_visual_restrictions.js:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a43ba074a98151e9", "name": "Stray `console.log` in TS/JS \u2014 period_tiler.js:385", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 period_tiler.js:385"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fff423b84e953b38", "name": "Stray `console.log` in TS/JS \u2014 division_times_system.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 division_times_system.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-948c78b841fc7892", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_cloud.js:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_cloud.js:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6761c953a684a428", "name": "Stray `console.log` in TS/JS \u2014 specialty_leagues.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 specialty_leagues.js:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1869f105989ab9c9", "name": "Stray `console.log` in TS/JS \u2014 feasibility_oracle.js:573", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 feasibility_oracle.js:573"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31ad45bf8ca552c8", "name": "Stray `console.log` in TS/JS \u2014 rbac_diagnostics.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rbac_diagnostics.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61cb3fe1c37a2b9f", "name": "Stray `console.log` in TS/JS \u2014 campistry_security.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_security.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b428b04e4c92400", "name": "Stray `console.log` in TS/JS \u2014 supabase_schedules.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase_schedules.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ccc156b7a78ab34", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_stop_master.js:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_stop_master.js: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-5a3dd1991b9770e4", "name": "Stray `console.log` in TS/JS \u2014 landing.js:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 landing.js: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-ec3648495e00901d", "name": "Stray `console.log` in TS/JS \u2014 print_center.js:2036", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 print_center.js:2036"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73c1e9cfe67ddf12", "name": "Stray `console.log` in TS/JS \u2014 smart_logic_adapter.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 smart_logic_adapter.js:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2135da3e1aa46bfc", "name": "Stray `console.log` in TS/JS \u2014 auto_validator.js:506", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auto_validator.js:506"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c4db2e7fa5e6ab7", "name": "Stray `console.log` in TS/JS \u2014 supabase_sync.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase_sync.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-159c82c2b61bff8e", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_neighborhoods.js:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_neighborhoods.js: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-6b06d15019bbac68", "name": "Stray `console.log` in TS/JS \u2014 supabase_client.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase_client.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-ff9dcbc1d8647a1a", "name": "Stray `console.log` in TS/JS \u2014 scheduler_core_specialty_leagues.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_specialty_leagues.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96cee0060d07c4a6", "name": "Stray `console.log` in TS/JS \u2014 total_solver_engine.js:215", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 total_solver_engine.js: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-f50423c20c6b9539", "name": "Stray `console.log` in TS/JS \u2014 rbac_init.js:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rbac_init.js:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f229e76d229ef83", "name": "Stray `console.log` in TS/JS \u2014 schedule_orchestrator.js:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 schedule_orchestrator.js: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-b02af12f7650a51d", "name": "Icon-only button without accessible name \u2014 campistry_go.js:1866", "shortDescription": {"text": "Icon-only button without accessible name \u2014 campistry_go.js:1866"}, "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-1879094abf914bff", "name": "Stray `console.log` in TS/JS \u2014 campistry_go.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go.js: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-03c5cbb1c97f067b", "name": "Stray `console.log` in TS/JS \u2014 division_times_integration.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 division_times_integration.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9f5c9966fba413f", "name": "Stray `console.log` in TS/JS \u2014 access_control.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 access_control.js:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a990a9179b07ae5", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_map_editor.js:384", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_map_editor.js:384"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41005f73521f627c", "name": "Stray `console.log` in TS/JS \u2014 cloud_sync_helpers.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 cloud_sync_helpers.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a0eeebd783ab385", "name": "Icon-only button without accessible name \u2014 analytics.js:808", "shortDescription": {"text": "Icon-only button without accessible name \u2014 analytics.js:808"}, "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-5de3f0e3b71bab7a", "name": "Stray `console.log` in TS/JS \u2014 scheduler_core_loader.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_loader.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-d9dd3809923c9c21", "name": "Stray `console.log` in TS/JS \u2014 plan_limits.js:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 plan_limits.js:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53afa32a75c4618a", "name": "Stray `console.log` in TS/JS \u2014 trial_guard.js:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 trial_guard.js:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef392366e2332340", "name": "Stray `console.log` in TS/JS \u2014 dashboard.js:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 dashboard.js:132"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18df079004ad76e2", "name": "Stray `console.log` in TS/JS \u2014 division_selector.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 division_selector.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd2ef891bdb658ee", "name": "Stray `console.log` in TS/JS \u2014 camper_locator.js:269", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 camper_locator.js: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-18fb931609b4a9b7", "name": "Stray `console.log` in TS/JS \u2014 pinned_activity_preservation.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 pinned_activity_preservation.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-310929b45cb391b2", "name": "Stray `console.log` in TS/JS \u2014 subdivision_schedule_manager.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 subdivision_schedule_manager.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e23fb44e9364aeb", "name": "Stray `console.log` in TS/JS \u2014 period_packer.js:155", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 period_packer.js:155"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20174df70422bf30", "name": "Stray `console.log` in TS/JS \u2014 auto_field_locks.js:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auto_field_locks.js:49"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d0b652c25dfd011", "name": "Stray `console.log` in TS/JS \u2014 rbac_integration.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rbac_integration.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b210b77294e38ab0", "name": "Stray `console.log` in TS/JS \u2014 welcome.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 welcome.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbfe46d7d77ea283", "name": "Stray `console.log` in TS/JS \u2014 swim_debug.js:279", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 swim_debug.js:279"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56d0108672ca0e5e", "name": "Stray `console.log` in TS/JS \u2014 auto_segment_model.js:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auto_segment_model.js:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05bf34b8792a2a7e", "name": "Stray `console.log` in TS/JS \u2014 leagues.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 leagues.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4954366589cf552", "name": "Icon-only button without accessible name \u2014 view_historical_routes.js:106", "shortDescription": {"text": "Icon-only button without accessible name \u2014 view_historical_routes.js:106"}, "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-d76e6f22bf3e34f5", "name": "Stray `console.log` in TS/JS \u2014 view_historical_routes.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 view_historical_routes.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d6f17b29a3deac1", "name": "Stray `console.log` in TS/JS \u2014 supabase-js@2.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase-js@2.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-2bb8067f50115706", "name": "Icon-only button without accessible name \u2014 daily_adjustments.js:1495", "shortDescription": {"text": "Icon-only button without accessible name \u2014 daily_adjustments.js:1495"}, "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-982efe4234763a42", "name": "Stray `console.log` in TS/JS \u2014 daily_adjustments.js:280", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 daily_adjustments.js:280"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f09cea62da3d2c09", "name": "Stray `console.log` in TS/JS \u2014 permissions_guard.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 permissions_guard.js:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f87c961bcef379e", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_google.js:367", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_google.js:367"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7767357aae8aafe", "name": "Stray `console.log` in TS/JS \u2014 rainy_day_manager.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rainy_day_manager.js:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a7864a75a07b154", "name": "Icon-only button without accessible name \u2014 master_schedule_builder.js:2535", "shortDescription": {"text": "Icon-only button without accessible name \u2014 master_schedule_builder.js:2535"}, "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-3988d2208bd01813", "name": "Stray `console.log` in TS/JS \u2014 master_schedule_builder.js:247", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 master_schedule_builder.js: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-8cfa4f0e238876ab", "name": "Stray `console.log` in TS/JS \u2014 auto_solver_engine.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auto_solver_engine.js:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f228e419cab94883", "name": "Icon-only button without accessible name \u2014 skeleton_sandbox.js:285", "shortDescription": {"text": "Icon-only button without accessible name \u2014 skeleton_sandbox.js:285"}, "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-a7fffbc75e1485b3", "name": "Stray `console.log` in TS/JS \u2014 rotation_events.js:1437", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rotation_events.js:1437"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c46caa39e746712b", "name": "Stray `console.log` in TS/JS \u2014 calendar.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 calendar.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-bf4d24ae98f3242f", "name": "Stray `console.log` in TS/JS \u2014 scheduler_logic_fillers.js:184", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_logic_fillers.js:184"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40c8c3054dcca569", "name": "Stray `console.log` in TS/JS \u2014 demo_mode.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 demo_mode.js:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61a22b35328fa19a", "name": "Stray `console.log` in TS/JS \u2014 app1.js:934", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app1.js:934"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9b9cf8a33e72cd4", "name": "Stray `console.log` in TS/JS \u2014 edit_restrictions.js:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 edit_restrictions.js:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73d7e6220e83f77b", "name": "Stray `console.log` in TS/JS \u2014 global_authority.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 global_authority.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-1e5e75a0b66a3b50", "name": "Stray `console.log` in TS/JS \u2014 zones.js:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 zones.js:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66c5301c806ce53e", "name": "Stray `console.log` in TS/JS \u2014 auto_schedule_grid.js:1668", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auto_schedule_grid.js:1668"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8f8728bc344a0e2", "name": "Stray `console.log` in TS/JS \u2014 global_field_locks.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 global_field_locks.js: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-9b7a0148cd1f58b7", "name": "Stray `console.log` in TS/JS \u2014 schedule_calendar_views.js:366", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 schedule_calendar_views.js:366"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a29672b602588ffa", "name": "Icon-only button without accessible name \u2014 facilities.js:86", "shortDescription": {"text": "Icon-only button without accessible name \u2014 facilities.js:86"}, "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-286c341da0e65035", "name": "Stray `console.log` in TS/JS \u2014 facilities.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 facilities.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-446ed1238434fdde", "name": "Stray `console.log` in TS/JS \u2014 rotation_engine.js:314", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rotation_engine.js: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-7cfc7cae5bff69c6", "name": "Stray `console.log` in TS/JS \u2014 supabase_permissions.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase_permissions.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-919d0026bec509a1", "name": "Stray `console.log` in TS/JS \u2014 campistry_go_geoapify.js:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_geoapify.js:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf1eeb8906b06cce", "name": "Stray `console.log` in TS/JS \u2014 unified_schedule_system.js:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 unified_schedule_system.js:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a8a0538afe1335b", "name": "Stray `console.log` in TS/JS \u2014 scheduler_core_leagues.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_leagues.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b614869787a86089", "name": "Icon-only button without accessible name \u2014 midday_rain_stacker.js:1805", "shortDescription": {"text": "Icon-only button without accessible name \u2014 midday_rain_stacker.js:1805"}, "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-55e6e361c9dd0ff3", "name": "Stray `console.log` in TS/JS \u2014 midday_rain_stacker.js:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 midday_rain_stacker.js:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6eb021095b78cbdf", "name": "Stray `console.log` in TS/JS \u2014 team_subdivisions_ui.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 team_subdivisions_ui.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31e508868156a1af", "name": "Stray `console.log` in TS/JS \u2014 special_activities.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 special_activities.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-825b2d1bf4b46056", "name": "Stray `console.log` in TS/JS \u2014 rotation_cloud.js:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 rotation_cloud.js: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-576e3a55c8595564", "name": "Stray `console.log` in TS/JS \u2014 schedule_versions_db.js:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 schedule_versions_db.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-0f8350973157497d", "name": "Icon-only button without accessible name \u2014 mobile_touch_drag.js:226", "shortDescription": {"text": "Icon-only button without accessible name \u2014 mobile_touch_drag.js:226"}, "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-f8efa0e1ce752116", "name": "Insecure pattern 'direct_innerhtml_assignment' in validator.js:887", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in validator.js:887"}, "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-9372f68f2086a83e", "name": "Insecure pattern 'direct_innerhtml_assignment' in post_edit_system.js:740", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in post_edit_system.js:740"}, "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-cf2be7b7bd8f4ebd", "name": "Insecure pattern 'direct_innerhtml_assignment' in rules.js:500", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rules.js:500"}, "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-8a172ea51af27aa0", "name": "Insecure pattern 'document_write' in campistry_me.js:2328", "shortDescription": {"text": "Insecure pattern 'document_write' in campistry_me.js:2328"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8b6af5e9d901e356", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_me.js:278", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_me.js:278"}, "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-dc260d5e0d28410e", "name": "Insecure pattern 'direct_innerhtml_assignment' in playoff_mode.js:368", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in playoff_mode.js:368"}, "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-26ac18fb0949aa6c", "name": "Insecure pattern 'direct_innerhtml_assignment' in coverage_warning.js:129", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in coverage_warning.js:129"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a6a387c9561dbb84", "name": "Insecure pattern 'direct_innerhtml_assignment' in integration_hooks.js:3299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integration_hooks.js:3299"}, "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-d08c8e7dc278fc31", "name": "Insecure pattern 'direct_innerhtml_assignment' in playoff_hub.js:125", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in playoff_hub.js:125"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cf6d385d01dd1f9", "name": "Insecure pattern 'direct_innerhtml_assignment' in rbac_visual_restrictions.js:222", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rbac_visual_restrictions.js:222"}, "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-9ff90a2169564933", "name": "Insecure pattern 'direct_innerhtml_assignment' in invite.html:593", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in invite.html:593"}, "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-6c5037fc95421d88", "name": "Insecure pattern 'document_write' in dashboard.html:314", "shortDescription": {"text": "Insecure pattern 'document_write' in dashboard.html:314"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3cc4c9d94b64c4e", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:336", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:336"}, "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-946ba0725d2b1d97", "name": "Insecure pattern 'direct_innerhtml_assignment' in specialty_leagues.js:684", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in specialty_leagues.js:684"}, "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-736bc3ce574fe4d6", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_security.js:160", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_security.js:160"}, "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-52b8bcf55be65b8a", "name": "Insecure pattern 'local_storage_auth_token' in campistry_security.js:275", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in campistry_security.js:275"}, "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-a8c4cbab0c129019", "name": "Insecure pattern 'local_storage_auth_token' in landing.js:442", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in landing.js:442"}, "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-886ffdb76f45590f", "name": "Insecure pattern 'direct_innerhtml_assignment' in print_center.js:1770", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in print_center.js:1770"}, "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-1c5c96723f637be0", "name": "Insecure pattern 'direct_innerhtml_assignment' in auto_validator.js:694", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_validator.js:694"}, "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-80839908ca96863f", "name": "Insecure pattern 'direct_innerhtml_assignment' in schedule_orchestrator.js:164", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule_orchestrator.js:164"}, "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-a0643625fe819b07", "name": "Insecure pattern 'document_write' in campistry_go.js:7623", "shortDescription": {"text": "Insecure pattern 'document_write' in campistry_go.js:7623"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21510c1e16590a2c", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go.js:1313", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go.js:1313"}, "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-9b08c5179bcab472", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_register.html:246", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_register.html:246"}, "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-55f8315b0dc21eaa", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_neighborhoods_test.html:72", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_neighborhoods_test.html:72"}, "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-bb1ca90f0f83d5ca", "name": "Insecure pattern 'direct_innerhtml_assignment' in updates.js:16", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in updates.js:16"}, "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-ec185f02379845c3", "name": "Insecure pattern 'local_storage_auth_token' in access_control.js:151", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in access_control.js:151"}, "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-869df30dfa68b4a1", "name": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_map_editor.js:33", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_map_editor.js:33"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0db68bca91e500", "name": "Insecure pattern 'direct_innerhtml_assignment' in analytics.js:308", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in analytics.js:308"}, "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-ddd7194788ac21c8", "name": "Insecure pattern 'direct_innerhtml_assignment' in trial_guard.js:66", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in trial_guard.js:66"}, "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-e6f9c5e0da26b1b2", "name": "Insecure pattern 'direct_innerhtml_assignment' in helper.js:15", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in helper.js:15"}, "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-ce2454b6ada73b80", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.js:390", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.js:390"}, "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-dbfc764e37332ce2", "name": "Insecure pattern 'local_storage_auth_token' in dashboard.js:363", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in dashboard.js:363"}, "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-4df1ce6cbc9183a5", "name": "Insecure pattern 'direct_innerhtml_assignment' in division_selector.js:72", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in division_selector.js:72"}, "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-1ee646937c30e5de", "name": "Insecure pattern 'direct_innerhtml_assignment' in camper_locator.js:271", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in camper_locator.js:271"}, "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-6968ea63b1251586", "name": "Insecure pattern 'direct_innerhtml_assignment' in period_editor.js:161", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in period_editor.js:161"}, "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-d4cef621742b828d", "name": "Insecure pattern 'direct_innerhtml_assignment' in leagues.js:679", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in leagues.js:679"}, "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-23ec6ef232168bac", "name": "Insecure pattern 'direct_innerhtml_assignment' in auto_fill_slot.js:464", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_fill_slot.js:464"}, "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-bad25e10a69a5844", "name": "Insecure pattern 'direct_innerhtml_assignment' in view_historical_routes.js:104", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in view_historical_routes.js:104"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e9b2a499244a344", "name": "Insecure pattern 'direct_innerhtml_assignment' in daily_adjustments.js:136", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in daily_adjustments.js:136"}, "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-eb8768552c485bcc", "name": "Insecure pattern 'direct_innerhtml_assignment' in rainy_day_manager.js:1186", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rainy_day_manager.js:1186"}, "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-438035268f164833", "name": "Insecure pattern 'direct_innerhtml_assignment' in master_schedule_builder.js:303", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in master_schedule_builder.js:303"}, "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-a4f4bee05cbb5f4d", "name": "Insecure pattern 'insert_adjacent_html' in master_schedule_builder.js:3488", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in master_schedule_builder.js:3488"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dea4e9952082e211", "name": "Insecure pattern 'direct_innerhtml_assignment' in skeleton_sandbox.js:279", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skeleton_sandbox.js:279"}, "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-38571854a5dd6a62", "name": "Insecure pattern 'direct_innerhtml_assignment' in rotation_events.js:633", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rotation_events.js:633"}, "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-4e93497878392663", "name": "Possible secret in demo_mode.js", "shortDescription": {"text": "Possible secret in demo_mode.js"}, "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-1938415b85ff312c", "name": "Insecure pattern 'direct_innerhtml_assignment' in demo_mode.js:649", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in demo_mode.js:649"}, "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-be018e83065f4577", "name": "Insecure pattern 'local_storage_auth_token' in demo_mode.js:132", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in demo_mode.js:132"}, "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-078861dd608f6d50", "name": "Insecure pattern 'direct_innerhtml_assignment' in app1.js:545", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app1.js:545"}, "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-d6053b063f508c97", "name": "Insecure pattern 'direct_innerhtml_assignment' in edit_restrictions.js:226", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in edit_restrictions.js:226"}, "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-2c3316bc48405a55", "name": "Insecure pattern 'direct_innerhtml_assignment' in zones.js:32", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zones.js:32"}, "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-adcec349993cd593", "name": "Insecure pattern 'document_write' in index.html:655", "shortDescription": {"text": "Insecure pattern 'document_write' in index.html:655"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1742e2809f4bb3d7", "name": "Insecure pattern 'direct_innerhtml_assignment' in auto_schedule_grid.js:795", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_schedule_grid.js:795"}, "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-fe8394f21c50b282", "name": "Insecure pattern 'direct_innerhtml_assignment' in global_field_locks.js:829", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in global_field_locks.js:829"}, "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-da46f9fcc19e4df5", "name": "Insecure pattern 'direct_innerhtml_assignment' in schedule_calendar_views.js:447", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule_calendar_views.js:447"}, "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-c9144c9c062adf30", "name": "Insecure pattern 'direct_innerhtml_assignment' in facilities.js:59", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in facilities.js:59"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ade1ffc0b4ba15a0", "name": "Insecure pattern 'direct_innerhtml_assignment' in unified_schedule_system.js:2839", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in unified_schedule_system.js:2839"}, "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-69388c589ea6e2fb", "name": "Insecure pattern 'document_write' in campistry_me.html:176", "shortDescription": {"text": "Insecure pattern 'document_write' in campistry_me.html:176"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ad517b2d6555527", "name": "Insecure pattern 'direct_innerhtml_assignment' in midday_rain_stacker.js:1800", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in midday_rain_stacker.js:1800"}, "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-27249bd369bcdb10", "name": "Insecure pattern 'direct_innerhtml_assignment' in team_subdivisions_ui.js:122", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in team_subdivisions_ui.js:122"}, "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-0be2f69617cbfb84", "name": "Insecure pattern 'direct_innerhtml_assignment' in special_activities.js:277", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in special_activities.js:277"}, "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-bb42a8169583bf3f", "name": "Insecure pattern 'insert_adjacent_html' in special_activities.js:2564", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in special_activities.js:2564"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2628da67341b2c8f", "name": "Insecure pattern 'direct_innerhtml_assignment' in mobile_touch_drag.js:226", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in mobile_touch_drag.js:226"}, "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-ea3d8c31812c516e", "name": "Very large file: scheduler_core_main.js (4287 lines)", "shortDescription": {"text": "Very large file: scheduler_core_main.js (4287 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-28c55383ea63b401", "name": "Very large file: post_edit_system.js (2554 lines)", "shortDescription": {"text": "Very large file: post_edit_system.js (2554 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-296d84d4462bb931", "name": "Very large file: rules.js (1337 lines)", "shortDescription": {"text": "Very large file: rules.js (1337 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-127a13de2b57b903", "name": "Very large file: scheduler_core_utils.js (3135 lines)", "shortDescription": {"text": "Very large file: scheduler_core_utils.js (3135 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-12b4694bc8bd26b3", "name": "Very large file: campistry_me.js (4688 lines)", "shortDescription": {"text": "Very large file: campistry_me.js (4688 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-a03e1fa3d4fc315a", "name": "Very large file: campistry_diagnostics.js (2321 lines)", "shortDescription": {"text": "Very large file: campistry_diagnostics.js (2321 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-c4c1ad871c43b18e", "name": "Very large file: integration_hooks.js (3338 lines)", "shortDescription": {"text": "Very large file: integration_hooks.js (3338 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-3f87e37b92c482ca", "name": "Very large file: playoff_hub.js (1060 lines)", "shortDescription": {"text": "Very large file: playoff_hub.js (1060 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-74cb8b2f50940a88", "name": "Very large file: specialty_leagues.js (2492 lines)", "shortDescription": {"text": "Very large file: specialty_leagues.js (2492 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-79b6b1fa2e354ec4", "name": "Very large file: supabase_schedules.js (1671 lines)", "shortDescription": {"text": "Very large file: supabase_schedules.js (1671 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-a67548762cd05520", "name": "Very large file: print_center.js (5265 lines)", "shortDescription": {"text": "Very large file: print_center.js (5265 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-3fe4158fccddd51c", "name": "Very large file: smart_logic_adapter.js (1094 lines)", "shortDescription": {"text": "Very large file: smart_logic_adapter.js (1094 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-18c521b269a01279", "name": "Very large file: supabase_sync.js (1437 lines)", "shortDescription": {"text": "Very large file: supabase_sync.js (1437 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-367fc75bbc2a6221", "name": "Very large file: campistry_go_neighborhoods.js (1507 lines)", "shortDescription": {"text": "Very large file: campistry_go_neighborhoods.js (1507 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-9f2a428bb92185d5", "name": "Very large file: scheduler_core_specialty_leagues.js (1421 lines)", "shortDescription": {"text": "Very large file: scheduler_core_specialty_leagues.js (1421 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-d2f999b0a73eccc8", "name": "Very large file: total_solver_engine.js (3071 lines)", "shortDescription": {"text": "Very large file: total_solver_engine.js (3071 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-453c608d11c515a4", "name": "Very large file: schedule_orchestrator.js (2033 lines)", "shortDescription": {"text": "Very large file: schedule_orchestrator.js (2033 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-2ea0a0ad28bb60fb", "name": "Very large file: campistry_go.js (8525 lines)", "shortDescription": {"text": "Very large file: campistry_go.js (8525 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-678da34df0a4f767", "name": "Very large file: access_control.js (2475 lines)", "shortDescription": {"text": "Very large file: access_control.js (2475 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-b7e9f43d25e45e8e", "name": "Very large file: analytics.js (1747 lines)", "shortDescription": {"text": "Very large file: analytics.js (1747 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-2a4023333c2af329", "name": "Very large file: dashboard.js (1312 lines)", "shortDescription": {"text": "Very large file: dashboard.js (1312 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-c9832341a7bf5174", "name": "Very large file: leagues.js (2866 lines)", "shortDescription": {"text": "Very large file: leagues.js (2866 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-70861cefa831ed5d", "name": "Very large file: daily_adjustments.js (8496 lines)", "shortDescription": {"text": "Very large file: daily_adjustments.js (8496 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-9c881461a99605e4", "name": "Very large file: rainy_day_manager.js (1689 lines)", "shortDescription": {"text": "Very large file: rainy_day_manager.js (1689 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-731f94fc0f1a3c12", "name": "Very large file: master_schedule_builder.js (5058 lines)", "shortDescription": {"text": "Very large file: master_schedule_builder.js (5058 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-b199eee593dc7414", "name": "Very large file: auto_solver_engine.js (2798 lines)", "shortDescription": {"text": "Very large file: auto_solver_engine.js (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-0660e15b1e2362a6", "name": "Very large file: rotation_events.js (1439 lines)", "shortDescription": {"text": "Very large file: rotation_events.js (1439 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-5c08d6ca259a7d64", "name": "Very large file: calendar.js (2075 lines)", "shortDescription": {"text": "Very large file: calendar.js (2075 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-f659c261515307ac", "name": "Very large file: app1.js (1392 lines)", "shortDescription": {"text": "Very large file: app1.js (1392 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-073227a2f8419d8b", "name": "Very large file: auto_schedule_grid.js (1670 lines)", "shortDescription": {"text": "Very large file: auto_schedule_grid.js (1670 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-f0bccb97d9637486", "name": "Very large file: schedule_calendar_views.js (1181 lines)", "shortDescription": {"text": "Very large file: schedule_calendar_views.js (1181 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-2610f644068c23d1", "name": "Very large file: facilities.js (4997 lines)", "shortDescription": {"text": "Very large file: facilities.js (4997 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-156d43d4c6c377c1", "name": "Very large file: rotation_engine.js (1533 lines)", "shortDescription": {"text": "Very large file: rotation_engine.js (1533 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-e249279087a16512", "name": "Very large file: unified_schedule_system.js (7516 lines)", "shortDescription": {"text": "Very large file: unified_schedule_system.js (7516 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-34e8a13276c30864", "name": "Very large file: scheduler_core_leagues.js (2335 lines)", "shortDescription": {"text": "Very large file: scheduler_core_leagues.js (2335 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-d706efdeadccbbca", "name": "Very large file: midday_rain_stacker.js (2062 lines)", "shortDescription": {"text": "Very large file: midday_rain_stacker.js (2062 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-7d6d1ddeb4513497", "name": "Very large file: special_activities.js (3170 lines)", "shortDescription": {"text": "Very large file: special_activities.js (3170 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 97 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01f96f71d9907a8c", "name": "README lacks setup or run instructions", "shortDescription": {"text": "README lacks setup or run instructions"}, "fullDescription": {"text": "A README exists, but it does not contain common install/setup/run markers. This matches a frequent generated-code pattern: UI is present, operational handoff is thin."}, "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 2340 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 240 placeholder/mock markers across 26 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests, operator-readme. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests, operator-readme. 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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a7c5e8f44682a4d", "name": "Commented-code block (13 lines) in validator.js:5", "shortDescription": {"text": "Commented-code block (13 lines) in validator.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22fdba233b5b5f01", "name": "Legacy-named symbol `campGlobalRegistry_v1` in local_cache_idb.js:43", "shortDescription": {"text": "Legacy-named symbol `campGlobalRegistry_v1` in local_cache_idb.js: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-8ddaaf2e1621633c", "name": "Commented-code block (7 lines) in local_cache_idb.js:74", "shortDescription": {"text": "Commented-code block (7 lines) in local_cache_idb.js:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-950b6006b8a31218", "name": "Legacy-named symbol `campDailyData_v1` in scheduler_core_main.js:1506", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in scheduler_core_main.js:1506"}, "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-1a96dcdd4f8ca4a9", "name": "Commented-code block (13 lines) in scheduler_core_main.js:1", "shortDescription": {"text": "Commented-code block (13 lines) in scheduler_core_main.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06938f38b2510710", "name": "Legacy-named symbol `_peiUndoStack_v2` in post_edit_system.js:92", "shortDescription": {"text": "Legacy-named symbol `_peiUndoStack_v2` in post_edit_system.js:92"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d18bc8f1655b040", "name": "Commented-code block (9 lines) in post_edit_system.js:5", "shortDescription": {"text": "Commented-code block (9 lines) in post_edit_system.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4906cb378d70eb16", "name": "Commented-code block (8 lines) in rules.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in rules.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-318271057072be95", "name": "Legacy-named symbol `campDailyData_v1` in scheduler_core_utils.js:2440", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in scheduler_core_utils.js:2440"}, "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-5d4abb7d4159d026", "name": "Commented-code block (9 lines) in scheduler_core_utils.js:6", "shortDescription": {"text": "Commented-code block (9 lines) in scheduler_core_utils.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31d0309391072a4f", "name": "Commented-code block (5 lines) in campistry_go_ors_optimizer.js:24", "shortDescription": {"text": "Commented-code block (5 lines) in campistry_go_ors_optimizer.js: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-3578678eb8b67bdf", "name": "Legacy-named symbol `campGlobalSettings_v1` in campistry_me.js:78", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in campistry_me.js:78"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b54a88f025bf510b", "name": "Commented-code block (7 lines) in campistry_me.js:16", "shortDescription": {"text": "Commented-code block (7 lines) in campistry_me.js:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db53c69a2ba28ea4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_me.js:2252", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_me.js:2252"}, "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-ec442f81242f2dbe", "name": "Commented-code block (22 lines) in playoff_mode.js:1", "shortDescription": {"text": "Commented-code block (22 lines) in playoff_mode.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c8f202a57613604b", "name": "Commented-code block (11 lines) in coverage_warning.js:169", "shortDescription": {"text": "Commented-code block (11 lines) in coverage_warning.js:169"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9faa3d7126351f34", "name": "Legacy-named symbol `campDailyData_v1` in campistry_diagnostics.js:38", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in campistry_diagnostics.js:38"}, "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-12b97f43c773ac97", "name": "Commented-code block (7 lines) in campistry_diagnostics.js:23", "shortDescription": {"text": "Commented-code block (7 lines) in campistry_diagnostics.js: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-2a8105af23edc66e", "name": "Legacy-named symbol `campGlobalSettings_v1` in integration_hooks.js:59", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in integration_hooks.js:59"}, "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-0ddae5a6374ca418", "name": "Commented-code block (5 lines) in integration_hooks.js:12", "shortDescription": {"text": "Commented-code block (5 lines) in integration_hooks.js:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a01ef76837e3aa18", "name": "`fetch()` without try/.catch or AbortSignal \u2014 integration_hooks.js:2989", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 integration_hooks.js:2989"}, "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-4faf7644936ed198", "name": "Commented-code block (6 lines) in playoff_hub.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in playoff_hub.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-737455ac2819571b", "name": "Commented-code block (8 lines) in day_packer.js:235", "shortDescription": {"text": "Commented-code block (8 lines) in day_packer.js:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80831b1decbacf5d", "name": "Commented-code block (5 lines) in rbac_visual_restrictions.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in rbac_visual_restrictions.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f4c4183d2626932", "name": "Commented-code block (6 lines) in period_tiler.js:318", "shortDescription": {"text": "Commented-code block (6 lines) in period_tiler.js:318"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3addb0f4a48a6a6b", "name": "Commented-code block (7 lines) in division_times_system.js:7", "shortDescription": {"text": "Commented-code block (7 lines) in division_times_system.js: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-98905391dbbb3472", "name": "Commented-code block (6 lines) in campistry_go_cloud.js:13", "shortDescription": {"text": "Commented-code block (6 lines) in campistry_go_cloud.js:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ddebcd8065caef4f", "name": "Commented-code block (7 lines) in specialty_leagues.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in specialty_leagues.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9773c32b1f985bab", "name": "Commented-code block (6 lines) in feasibility_oracle.js:22", "shortDescription": {"text": "Commented-code block (6 lines) in feasibility_oracle.js:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0e5f3e9dc4872da", "name": "Commented-code block (5 lines) in rbac_diagnostics.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in rbac_diagnostics.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44fb7ab390bf813b", "name": "Commented-code block (15 lines) in campistry_security.js:8", "shortDescription": {"text": "Commented-code block (15 lines) in campistry_security.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-573f7302ba981a8d", "name": "Legacy-named symbol `campDailyData_v1` in supabase_schedules.js:47", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in supabase_schedules.js:47"}, "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-036d624bea494aee", "name": "Commented-code block (6 lines) in supabase_schedules.js:19", "shortDescription": {"text": "Commented-code block (6 lines) in supabase_schedules.js:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60c5b8f121550966", "name": "Legacy-named symbol `campistry_go_stop_master_v1` in campistry_go_stop_master.js:56", "shortDescription": {"text": "Legacy-named symbol `campistry_go_stop_master_v1` in campistry_go_stop_master.js:56"}, "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-08afd32e647ef8c5", "name": "Commented-code block (8 lines) in campistry_go_stop_master.js:4", "shortDescription": {"text": "Commented-code block (8 lines) in campistry_go_stop_master.js: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-b1b1b8ad6f9cefad", "name": "Legacy-named symbol `campGlobalSettings_v1` in landing.js:115", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in landing.js:115"}, "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-736af1794236c8b8", "name": "Commented-code block (7 lines) in landing.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in landing.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7fd8c0cf788e753d", "name": "Commented-code block (17 lines) in print_center.js:1", "shortDescription": {"text": "Commented-code block (17 lines) in print_center.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf6cb6d452aa0e62", "name": "Commented-code block (10 lines) in smart_logic_adapter.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in smart_logic_adapter.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20e4d061604dbd6e", "name": "Commented-code block (6 lines) in auto_validator.js:9", "shortDescription": {"text": "Commented-code block (6 lines) in auto_validator.js:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1eb3d3d4f9844222", "name": "Legacy-named symbol `campistry_offline_queue_v1` in supabase_sync.js:64", "shortDescription": {"text": "Legacy-named symbol `campistry_offline_queue_v1` in supabase_sync.js:64"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6333b5eba70bee14", "name": "Commented-code block (6 lines) in supabase_sync.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase_sync.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0907d30c4ba20b20", "name": "Legacy-named symbol `campistry_go_roadgraph_v1` in campistry_go_neighborhoods.js:113", "shortDescription": {"text": "Legacy-named symbol `campistry_go_roadgraph_v1` in campistry_go_neighborhoods.js:113"}, "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-a9da191f99452a07", "name": "Commented-code block (8 lines) in campistry_go_neighborhoods.js:8", "shortDescription": {"text": "Commented-code block (8 lines) in campistry_go_neighborhoods.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d19b4b4e09135c50", "name": "Commented-code block (6 lines) in campistry_utils.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in campistry_utils.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b1b79b3018ac8e8", "name": "Legacy-named symbol `campGlobalSettings_v1` in supabase_client.js:353", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in supabase_client.js:353"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74f61b897d3d0df0", "name": "Commented-code block (6 lines) in supabase_client.js:20", "shortDescription": {"text": "Commented-code block (6 lines) in supabase_client.js:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f97a5d120e3ef88e", "name": "Legacy-named symbol `campSpecialtyLeagueHistory_v1` in scheduler_core_specialty_leagues.js:22", "shortDescription": {"text": "Legacy-named symbol `campSpecialtyLeagueHistory_v1` in scheduler_core_specialty_leagues.js:22"}, "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-7ee11717c8f4d662", "name": "Commented-code block (7 lines) in scheduler_core_specialty_leagues.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in scheduler_core_specialty_leagues.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-041869cec2e614b0", "name": "Legacy-named symbol `campGlobalSettings_v1` in total_solver_engine.js:228", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in total_solver_engine.js:228"}, "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-6605065dc0d12001", "name": "Commented-code block (7 lines) in total_solver_engine.js:3", "shortDescription": {"text": "Commented-code block (7 lines) in total_solver_engine.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f4b5c5212b06e47", "name": "Commented-code block (6 lines) in rbac_init.js:6", "shortDescription": {"text": "Commented-code block (6 lines) in rbac_init.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e8d3df49ac39f30", "name": "Legacy-named symbol `campDailyData_v1` in schedule_orchestrator.js:61", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in schedule_orchestrator.js:61"}, "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-117eb18442c07d6c", "name": "Commented-code block (6 lines) in schedule_orchestrator.js:32", "shortDescription": {"text": "Commented-code block (6 lines) in schedule_orchestrator.js:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-336e7aed7ecf0494", "name": "Legacy-named symbol `campGlobalSettings_v1` in campistry_go.js:921", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in campistry_go.js:921"}, "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-e0112d72ff0c984c", "name": "Commented-code block (5 lines) in campistry_go.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in campistry_go.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1032d401376a0a19", "name": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_go.js:1016", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_go.js:1016"}, "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-d416d7244c1e4b83", "name": "Commented-code block (5 lines) in division_times_integration.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in division_times_integration.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25dc2181ebcafe9d", "name": "Legacy-named symbol `campGlobalSettings_v1` in access_control.js:338", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in access_control.js:338"}, "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-4e387d15f7132659", "name": "Commented-code block (6 lines) in access_control.js:6", "shortDescription": {"text": "Commented-code block (6 lines) in access_control.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f4e08391eadb0a6", "name": "Commented-code block (5 lines) in campistry_go_map_editor.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in campistry_go_map_editor.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c197a97b81e3181b", "name": "Commented-code block (6 lines) in cloud_sync_helpers.js:246", "shortDescription": {"text": "Commented-code block (6 lines) in cloud_sync_helpers.js:246"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a755d3b995ab23f7", "name": "Commented-code block (7 lines) in analytics.js:43", "shortDescription": {"text": "Commented-code block (7 lines) in analytics.js:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f08a2fa3db756ed9", "name": "Commented-code block (7 lines) in scheduler_core_loader.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in scheduler_core_loader.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06294e9b0e696ed0", "name": "Commented-code block (5 lines) in config.js:8", "shortDescription": {"text": "Commented-code block (5 lines) in config.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb692f369e490163", "name": "Commented-code block (5 lines) in plan_limits.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in plan_limits.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-618e2f444470e214", "name": "Legacy-named symbol `campGlobalSettings_v1` in trial_guard.js:370", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in trial_guard.js:370"}, "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-9f5824378890ab88", "name": "Commented-code block (5 lines) in trial_guard.js:7", "shortDescription": {"text": "Commented-code block (5 lines) in trial_guard.js: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-d266a23a500d8c5b", "name": "Legacy-named symbol `campGlobalSettings_v1` in dashboard.js:1080", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in dashboard.js:1080"}, "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-58f4b38e828f5a76", "name": "Commented-code block (12 lines) in dashboard.js:14", "shortDescription": {"text": "Commented-code block (12 lines) in dashboard.js:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-266985ac124a0198", "name": "Commented-code block (16 lines) in division_selector.js:1", "shortDescription": {"text": "Commented-code block (16 lines) in division_selector.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f71a1d2c752a531c", "name": "Commented-code block (7 lines) in camper_locator.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in camper_locator.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c096263216ee11c", "name": "Commented-code block (6 lines) in pinned_activity_preservation.js:67", "shortDescription": {"text": "Commented-code block (6 lines) in pinned_activity_preservation.js:67"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-020f1989a79e69e7", "name": "Legacy-named symbol `campDailyData_v1` in subdivision_schedule_manager.js:89", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in subdivision_schedule_manager.js:89"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9253cddae19626f", "name": "Commented-code block (5 lines) in subdivision_schedule_manager.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in subdivision_schedule_manager.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ded1230d5617b507", "name": "Commented-code block (7 lines) in period_packer.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in period_packer.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7aa33f0d8ec73c56", "name": "Commented-code block (5 lines) in auto_field_locks.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in auto_field_locks.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5020eb1aa2719537", "name": "Commented-code block (8 lines) in rbac_integration.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in rbac_integration.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b91c262ba7717e68", "name": "Commented-code block (5 lines) in welcome.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in welcome.js: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-925009ad6e6c687e", "name": "Commented-code block (8 lines) in auto_segment_model.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in auto_segment_model.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68655644573f44ea", "name": "Commented-code block (12 lines) in leagues.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in leagues.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24e8990672b01f63", "name": "Commented-code block (8 lines) in auto_fill_slot.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in auto_fill_slot.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84104853f2236010", "name": "Commented-code block (6 lines) in view_historical_routes.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in view_historical_routes.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-95a4b43dcaf03be1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase-js@2.js:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase-js@2.js: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-868b88f87917df24", "name": "Legacy-named symbol `smartTileHistory_v1` in daily_adjustments.js:100", "shortDescription": {"text": "Legacy-named symbol `smartTileHistory_v1` in daily_adjustments.js:100"}, "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-a7010ea4beafe387", "name": "Commented-code block (23 lines) in daily_adjustments.js:1", "shortDescription": {"text": "Commented-code block (23 lines) in daily_adjustments.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47750af0e11c6909", "name": "Commented-code block (6 lines) in campistry_go_google.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in campistry_go_google.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3796f88a292091e6", "name": "Legacy-named symbol `campDailyData_v1` in rainy_day_manager.js:176", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in rainy_day_manager.js:176"}, "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-303848187e4ec855", "name": "Commented-code block (12 lines) in rainy_day_manager.js:1", "shortDescription": {"text": "Commented-code block (12 lines) in rainy_day_manager.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d6e2d48deba29460", "name": "Commented-code block (14 lines) in master_schedule_builder.js:2", "shortDescription": {"text": "Commented-code block (14 lines) in master_schedule_builder.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86eaa5ef74375b2c", "name": "Commented-code block (9 lines) in auto_solver_engine.js:5", "shortDescription": {"text": "Commented-code block (9 lines) in auto_solver_engine.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ebc584b265d15d24", "name": "Commented-code block (5 lines) in skeleton_sandbox.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in skeleton_sandbox.js: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-577e5b4e5d637a4a", "name": "Commented-code block (6 lines) in rotation_events.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in rotation_events.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5bf5724763bb62a", "name": "Legacy-named symbol `campDailyData_v1` in calendar.js:21", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in calendar.js:21"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ee557770eb0156f", "name": "Commented-code block (5 lines) in calendar.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in calendar.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9ff0a35d6c06577", "name": "Commented-code block (6 lines) in scheduler_logic_fillers.js:6", "shortDescription": {"text": "Commented-code block (6 lines) in scheduler_logic_fillers.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84c71e4f985da199", "name": "Legacy-named symbol `campGlobalSettings_v1` in demo_mode.js:78", "shortDescription": {"text": "Legacy-named symbol `campGlobalSettings_v1` in demo_mode.js:78"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-293a381ee2780fd8", "name": "Commented-code block (7 lines) in demo_mode.js:282", "shortDescription": {"text": "Commented-code block (7 lines) in demo_mode.js:282"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa0fb4475187205e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 demo_mode.js:577", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 demo_mode.js:577"}, "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-2edf0ae8f6f5d01c", "name": "Legacy-named symbol `youngToOld` in app1.js:203", "shortDescription": {"text": "Legacy-named symbol `youngToOld` in app1.js:203"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e61bee7a7ecc5568", "name": "Commented-code block (9 lines) in app1.js:13", "shortDescription": {"text": "Commented-code block (9 lines) in app1.js:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59121039c9d4312b", "name": "Commented-code block (5 lines) in edit_restrictions.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in edit_restrictions.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91127f7d56a77d28", "name": "Commented-code block (5 lines) in global_authority.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in global_authority.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abfe2f3481b44e55", "name": "Commented-code block (5 lines) in zones.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in zones.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28455083131018d5", "name": "Legacy-named symbol `renderLegacy` in auto_schedule_grid.js:1661", "shortDescription": {"text": "Legacy-named symbol `renderLegacy` in auto_schedule_grid.js:1661"}, "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-f43d468e1bb4375a", "name": "Commented-code block (10 lines) in auto_schedule_grid.js:1", "shortDescription": {"text": "Commented-code block (10 lines) in auto_schedule_grid.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-744476cc8d83d2a6", "name": "Commented-code block (6 lines) in global_field_locks.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in global_field_locks.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-029d567ece5147a7", "name": "Legacy-named symbol `campDailyData_v1` in schedule_calendar_views.js:87", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in schedule_calendar_views.js:87"}, "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-0a26ce1acdb2972f", "name": "Commented-code block (6 lines) in schedule_calendar_views.js:2", "shortDescription": {"text": "Commented-code block (6 lines) in schedule_calendar_views.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a91fef3ddcd5913", "name": "Legacy-named symbol `syncAllToLegacy` in facilities.js:313", "shortDescription": {"text": "Legacy-named symbol `syncAllToLegacy` in facilities.js:313"}, "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-51a485c1f687fdef", "name": "Commented-code block (5 lines) in facilities.js:2", "shortDescription": {"text": "Commented-code block (5 lines) in facilities.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9a065f7dbb3491b", "name": "Commented-code block (7 lines) in rotation_engine.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in rotation_engine.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-03b5cc4d7917f054", "name": "Commented-code block (7 lines) in campistry_go_geoapify.js:50", "shortDescription": {"text": "Commented-code block (7 lines) in campistry_go_geoapify.js:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6848b0809ae7c7f", "name": "Legacy-named symbol `campistry_go_neighborhoods_v1` in campistry_go_persistence.js:38", "shortDescription": {"text": "Legacy-named symbol `campistry_go_neighborhoods_v1` in campistry_go_persistence.js:38"}, "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-eb712d19ea7370c0", "name": "Commented-code block (9 lines) in campistry_go_persistence.js:11", "shortDescription": {"text": "Commented-code block (9 lines) in campistry_go_persistence.js:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ccb3e443c43fac9", "name": "Legacy-named symbol `campDailyData_v1` in unified_schedule_system.js:570", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in unified_schedule_system.js:570"}, "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-3ea5c9b905277b3c", "name": "Commented-code block (8 lines) in unified_schedule_system.js:5", "shortDescription": {"text": "Commented-code block (8 lines) in unified_schedule_system.js:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-046bf2dbaf13c38a", "name": "Legacy-named symbol `campLeagueHistory_v2` in scheduler_core_leagues.js:25", "shortDescription": {"text": "Legacy-named symbol `campLeagueHistory_v2` in scheduler_core_leagues.js:25"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12bdb7eeed8349a7", "name": "Commented-code block (11 lines) in scheduler_core_leagues.js:4", "shortDescription": {"text": "Commented-code block (11 lines) in scheduler_core_leagues.js: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-87188a7a9fb2e287", "name": "Commented-code block (7 lines) in config.example.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in config.example.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb957f26f3c77ed7", "name": "Legacy-named symbol `campDailyData_v1` in midday_rain_stacker.js:681", "shortDescription": {"text": "Legacy-named symbol `campDailyData_v1` in midday_rain_stacker.js:681"}, "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-9da69b080b5925b6", "name": "Commented-code block (5 lines) in midday_rain_stacker.js:9", "shortDescription": {"text": "Commented-code block (5 lines) in midday_rain_stacker.js:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c67ac3ec034c492", "name": "Commented-code block (7 lines) in team_subdivisions_ui.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in team_subdivisions_ui.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-23154bbff1797109", "name": "`fetch()` without try/.catch or AbortSignal \u2014 team_subdivisions_ui.js:587", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 team_subdivisions_ui.js:587"}, "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-1c578005a6e47dc3", "name": "Legacy-named symbol `specialSubcategoryRegistry_v1` in special_activities.js:728", "shortDescription": {"text": "Legacy-named symbol `specialSubcategoryRegistry_v1` in special_activities.js:728"}, "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-5648861a30a2987c", "name": "Commented-code block (16 lines) in special_activities.js:1", "shortDescription": {"text": "Commented-code block (16 lines) in special_activities.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2303aefb247b6920", "name": "Commented-code block (9 lines) in rotation_cloud.js:63", "shortDescription": {"text": "Commented-code block (9 lines) in rotation_cloud.js:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-933e436cf5d3a320", "name": "Commented-code block (5 lines) in mobile_touch_drag.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in mobile_touch_drag.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/30568"}, "properties": {"repository": "yisrose35/daily-camp-schedular", "repoUrl": "https://github.com/yisrose35/daily-camp-schedular", "branch": "main"}, "results": [{"ruleId": "scanner-3f0298501f0ba91f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 validator.js:53"}, "properties": {"repobilityId": "63716631acaa2477", "scanner": "scanner-primary", "fingerprint": "3f0298501f0ba91f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72c2411ae8ba250b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 local_cache_idb.js:178"}, "properties": {"repobilityId": "41ffeed4a69eaf38", "scanner": "scanner-primary", "fingerprint": "72c2411ae8ba250b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9dfaa37629857fd9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_main.js:141"}, "properties": {"repobilityId": "384324f89b8a7ad7", "scanner": "scanner-primary", "fingerprint": "9dfaa37629857fd9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2f49b468076350f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 post_edit_system.js:38"}, "properties": {"repobilityId": "e8326a28c4be7735", "scanner": "scanner-primary", "fingerprint": "e2f49b468076350f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d517dd2cecb83466", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 rules.js:736"}, "properties": {"repobilityId": "3e8c7c666736ff61", "scanner": "scanner-primary", "fingerprint": "d517dd2cecb83466", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-84c6cf9aca09dfd7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rules.js:28"}, "properties": {"repobilityId": "3d3b293c03242f12", "scanner": "scanner-primary", "fingerprint": "84c6cf9aca09dfd7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b04d2b0312aff8a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_utils.js:241"}, "properties": {"repobilityId": "f951a930af317fea", "scanner": "scanner-primary", "fingerprint": "1b04d2b0312aff8a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-371e0085747eaaf2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_ors_optimizer.js:140"}, "properties": {"repobilityId": "496b7aaf6f492506", "scanner": "scanner-primary", "fingerprint": "371e0085747eaaf2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b286874e43ee85c0", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 campistry_me.js:1906"}, "properties": {"repobilityId": "7996aa0987be8f1f", "scanner": "scanner-primary", "fingerprint": "b286874e43ee85c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-0aab75be05c349a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_me.js:4"}, "properties": {"repobilityId": "be111a268278c2e5", "scanner": "scanner-primary", "fingerprint": "0aab75be05c349a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01fa3c0b5e326bb7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playoff_mode.js:1015"}, "properties": {"repobilityId": "4c25f57ceaabc126", "scanner": "scanner-primary", "fingerprint": "01fa3c0b5e326bb7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26a331b765dee29a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_diagnostics.js:36"}, "properties": {"repobilityId": "2034418f8f6b2a7a", "scanner": "scanner-primary", "fingerprint": "26a331b765dee29a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2f108614f36487f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 integration_hooks.js:51"}, "properties": {"repobilityId": "5222a1a171fe2b2f", "scanner": "scanner-primary", "fingerprint": "f2f108614f36487f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcc271c2bfedb483", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playoff_hub.js:1059"}, "properties": {"repobilityId": "ab6ff2381030b584", "scanner": "scanner-primary", "fingerprint": "dcc271c2bfedb483", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86fa0546ec5bb9c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rbac_visual_restrictions.js:26"}, "properties": {"repobilityId": "3853de67085d2c1f", "scanner": "scanner-primary", "fingerprint": "86fa0546ec5bb9c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a43ba074a98151e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 period_tiler.js:385"}, "properties": {"repobilityId": "11be14b42a288f4b", "scanner": "scanner-primary", "fingerprint": "a43ba074a98151e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fff423b84e953b38", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 division_times_system.js:34"}, "properties": {"repobilityId": "9688cd7207d63001", "scanner": "scanner-primary", "fingerprint": "fff423b84e953b38", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-948c78b841fc7892", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_cloud.js:97"}, "properties": {"repobilityId": "1ab249702e886b2b", "scanner": "scanner-primary", "fingerprint": "948c78b841fc7892", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6761c953a684a428", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 specialty_leagues.js:73"}, "properties": {"repobilityId": "aa5bf709627cdb0b", "scanner": "scanner-primary", "fingerprint": "6761c953a684a428", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1869f105989ab9c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 feasibility_oracle.js:573"}, "properties": {"repobilityId": "5dccfb3795c22c04", "scanner": "scanner-primary", "fingerprint": "1869f105989ab9c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31ad45bf8ca552c8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rbac_diagnostics.js:22"}, "properties": {"repobilityId": "03b57f5eed87f173", "scanner": "scanner-primary", "fingerprint": "31ad45bf8ca552c8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-61cb3fe1c37a2b9f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_security.js:29"}, "properties": {"repobilityId": "51d7a4c1839facf2", "scanner": "scanner-primary", "fingerprint": "61cb3fe1c37a2b9f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b428b04e4c92400", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase_schedules.js:41"}, "properties": {"repobilityId": "0067dafca724b4f4", "scanner": "scanner-primary", "fingerprint": "1b428b04e4c92400", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ccc156b7a78ab34", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_stop_master.js:140"}, "properties": {"repobilityId": "290bf48c9040861f", "scanner": "scanner-primary", "fingerprint": "6ccc156b7a78ab34", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a3dd1991b9770e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 landing.js:174"}, "properties": {"repobilityId": "8faf424833cf5949", "scanner": "scanner-primary", "fingerprint": "5a3dd1991b9770e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec3648495e00901d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 print_center.js:2036"}, "properties": {"repobilityId": "876ad3b25fc0d6c8", "scanner": "scanner-primary", "fingerprint": "ec3648495e00901d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73c1e9cfe67ddf12", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 smart_logic_adapter.js:70"}, "properties": {"repobilityId": "258261866a539bf6", "scanner": "scanner-primary", "fingerprint": "73c1e9cfe67ddf12", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2135da3e1aa46bfc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auto_validator.js:506"}, "properties": {"repobilityId": "9683b7620124f421", "scanner": "scanner-primary", "fingerprint": "2135da3e1aa46bfc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c4db2e7fa5e6ab7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase_sync.js:32"}, "properties": {"repobilityId": "96443827fa0dc017", "scanner": "scanner-primary", "fingerprint": "3c4db2e7fa5e6ab7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-159c82c2b61bff8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_neighborhoods.js:194"}, "properties": {"repobilityId": "1185874bcdd5f417", "scanner": "scanner-primary", "fingerprint": "159c82c2b61bff8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b06d15019bbac68", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase_client.js:32"}, "properties": {"repobilityId": "23e4bad538a4867a", "scanner": "scanner-primary", "fingerprint": "6b06d15019bbac68", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff9dcbc1d8647a1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_specialty_leagues.js:41"}, "properties": {"repobilityId": "8e4415a37684a34d", "scanner": "scanner-primary", "fingerprint": "ff9dcbc1d8647a1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-96cee0060d07c4a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 total_solver_engine.js:215"}, "properties": {"repobilityId": "009ba774a0358de4", "scanner": "scanner-primary", "fingerprint": "96cee0060d07c4a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f50423c20c6b9539", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rbac_init.js:27"}, "properties": {"repobilityId": "fe354264a49dc7b4", "scanner": "scanner-primary", "fingerprint": "f50423c20c6b9539", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f229e76d229ef83", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 schedule_orchestrator.js:52"}, "properties": {"repobilityId": "f676a802c9fa16bf", "scanner": "scanner-primary", "fingerprint": "2f229e76d229ef83", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b02af12f7650a51d", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 campistry_go.js:1866"}, "properties": {"repobilityId": "9dc4392b24cbda73", "scanner": "scanner-primary", "fingerprint": "b02af12f7650a51d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-1879094abf914bff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go.js:54"}, "properties": {"repobilityId": "3054586ee14d66fa", "scanner": "scanner-primary", "fingerprint": "1879094abf914bff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03c5cbb1c97f067b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 division_times_integration.js:31"}, "properties": {"repobilityId": "9dd3d84de6d76428", "scanner": "scanner-primary", "fingerprint": "03c5cbb1c97f067b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9f5c9966fba413f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 access_control.js:51"}, "properties": {"repobilityId": "7be854203414e9b2", "scanner": "scanner-primary", "fingerprint": "e9f5c9966fba413f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a990a9179b07ae5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_map_editor.js:384"}, "properties": {"repobilityId": "94969296ea1bd847", "scanner": "scanner-primary", "fingerprint": "3a990a9179b07ae5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-41005f73521f627c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 cloud_sync_helpers.js:17"}, "properties": {"repobilityId": "4365c7691d329880", "scanner": "scanner-primary", "fingerprint": "41005f73521f627c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a0eeebd783ab385", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 analytics.js:808"}, "properties": {"repobilityId": "5474d63f90fb9c3f", "scanner": "scanner-primary", "fingerprint": "3a0eeebd783ab385", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-5de3f0e3b71bab7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_loader.js:25"}, "properties": {"repobilityId": "37b4500804bef336", "scanner": "scanner-primary", "fingerprint": "5de3f0e3b71bab7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9dd3809923c9c21", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 plan_limits.js:59"}, "properties": {"repobilityId": "01d3a0979ac39ce0", "scanner": "scanner-primary", "fingerprint": "d9dd3809923c9c21", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53afa32a75c4618a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 trial_guard.js:31"}, "properties": {"repobilityId": "714b8021c91a7a46", "scanner": "scanner-primary", "fingerprint": "53afa32a75c4618a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef392366e2332340", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 dashboard.js:132"}, "properties": {"repobilityId": "9999ac4c432e415d", "scanner": "scanner-primary", "fingerprint": "ef392366e2332340", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18df079004ad76e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 division_selector.js:21"}, "properties": {"repobilityId": "e99ef7e833ae8b21", "scanner": "scanner-primary", "fingerprint": "18df079004ad76e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd2ef891bdb658ee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 camper_locator.js:269"}, "properties": {"repobilityId": "d4f1254875977ad9", "scanner": "scanner-primary", "fingerprint": "fd2ef891bdb658ee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-18fb931609b4a9b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 pinned_activity_preservation.js:20"}, "properties": {"repobilityId": "c0153211df05e720", "scanner": "scanner-primary", "fingerprint": "18fb931609b4a9b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-310929b45cb391b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 subdivision_schedule_manager.js:41"}, "properties": {"repobilityId": "0efc614297319f79", "scanner": "scanner-primary", "fingerprint": "310929b45cb391b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e23fb44e9364aeb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 period_packer.js:155"}, "properties": {"repobilityId": "dbd6004ad7d4ab94", "scanner": "scanner-primary", "fingerprint": "2e23fb44e9364aeb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20174df70422bf30", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auto_field_locks.js:49"}, "properties": {"repobilityId": "af32ef3e0be69af9", "scanner": "scanner-primary", "fingerprint": "20174df70422bf30", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d0b652c25dfd011", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rbac_integration.js:17"}, "properties": {"repobilityId": "cd4525840d0290c0", "scanner": "scanner-primary", "fingerprint": "7d0b652c25dfd011", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b210b77294e38ab0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 welcome.js:16"}, "properties": {"repobilityId": "cabec3aa1ff932b3", "scanner": "scanner-primary", "fingerprint": "b210b77294e38ab0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbfe46d7d77ea283", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 swim_debug.js:279"}, "properties": {"repobilityId": "36ddefa344cfdd44", "scanner": "scanner-primary", "fingerprint": "bbfe46d7d77ea283", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56d0108672ca0e5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auto_segment_model.js:124"}, "properties": {"repobilityId": "637ece8f9e6ac625", "scanner": "scanner-primary", "fingerprint": "56d0108672ca0e5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05bf34b8792a2a7e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 leagues.js:15"}, "properties": {"repobilityId": "1c8db68e791898ad", "scanner": "scanner-primary", "fingerprint": "05bf34b8792a2a7e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e4954366589cf552", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 view_historical_routes.js:106"}, "properties": {"repobilityId": "9a7a3f014682a18a", "scanner": "scanner-primary", "fingerprint": "e4954366589cf552", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-d76e6f22bf3e34f5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 view_historical_routes.js:28"}, "properties": {"repobilityId": "bb4f2a1b96663c58", "scanner": "scanner-primary", "fingerprint": "d76e6f22bf3e34f5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d6f17b29a3deac1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase-js@2.js:7"}, "properties": {"repobilityId": "c467c8f97b75d0e0", "scanner": "scanner-primary", "fingerprint": "2d6f17b29a3deac1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bb8067f50115706", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 daily_adjustments.js:1495"}, "properties": {"repobilityId": "2f6aef16f164b5eb", "scanner": "scanner-primary", "fingerprint": "2bb8067f50115706", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-982efe4234763a42", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 daily_adjustments.js:280"}, "properties": {"repobilityId": "29d355dc4aea0ff0", "scanner": "scanner-primary", "fingerprint": "982efe4234763a42", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f09cea62da3d2c09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 permissions_guard.js:21"}, "properties": {"repobilityId": "3e85207cfd4176fa", "scanner": "scanner-primary", "fingerprint": "f09cea62da3d2c09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f87c961bcef379e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_google.js:367"}, "properties": {"repobilityId": "35a9dee093dcf9c0", "scanner": "scanner-primary", "fingerprint": "8f87c961bcef379e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d7767357aae8aafe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rainy_day_manager.js:45"}, "properties": {"repobilityId": "c10b9708b931120d", "scanner": "scanner-primary", "fingerprint": "d7767357aae8aafe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a7864a75a07b154", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 master_schedule_builder.js:2535"}, "properties": {"repobilityId": "eadd09c671343fd5", "scanner": "scanner-primary", "fingerprint": "7a7864a75a07b154", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-3988d2208bd01813", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 master_schedule_builder.js:247"}, "properties": {"repobilityId": "b1f97f81ba28740f", "scanner": "scanner-primary", "fingerprint": "3988d2208bd01813", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8cfa4f0e238876ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auto_solver_engine.js:47"}, "properties": {"repobilityId": "5c96eceafb88bd83", "scanner": "scanner-primary", "fingerprint": "8cfa4f0e238876ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f228e419cab94883", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 skeleton_sandbox.js:285"}, "properties": {"repobilityId": "240734cb0a670071", "scanner": "scanner-primary", "fingerprint": "f228e419cab94883", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-a7fffbc75e1485b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rotation_events.js:1437"}, "properties": {"repobilityId": "69811d6946528449", "scanner": "scanner-primary", "fingerprint": "a7fffbc75e1485b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c46caa39e746712b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 calendar.js:14"}, "properties": {"repobilityId": "b5c6337fccdd51ba", "scanner": "scanner-primary", "fingerprint": "c46caa39e746712b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf4d24ae98f3242f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_logic_fillers.js:184"}, "properties": {"repobilityId": "95b637fcc2cab850", "scanner": "scanner-primary", "fingerprint": "bf4d24ae98f3242f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-40c8c3054dcca569", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 demo_mode.js:56"}, "properties": {"repobilityId": "11ce5acbe4f209f7", "scanner": "scanner-primary", "fingerprint": "40c8c3054dcca569", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-61a22b35328fa19a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app1.js:934"}, "properties": {"repobilityId": "105a8a9d316623fd", "scanner": "scanner-primary", "fingerprint": "61a22b35328fa19a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9b9cf8a33e72cd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 edit_restrictions.js:29"}, "properties": {"repobilityId": "aa73c06c394cad1c", "scanner": "scanner-primary", "fingerprint": "e9b9cf8a33e72cd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73d7e6220e83f77b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 global_authority.js:14"}, "properties": {"repobilityId": "41ac6c94c26dac44", "scanner": "scanner-primary", "fingerprint": "73d7e6220e83f77b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e5e75a0b66a3b50", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 zones.js:13"}, "properties": {"repobilityId": "4337eb905c1fa868", "scanner": "scanner-primary", "fingerprint": "1e5e75a0b66a3b50", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66c5301c806ce53e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auto_schedule_grid.js:1668"}, "properties": {"repobilityId": "caaac0e4e5ed7dce", "scanner": "scanner-primary", "fingerprint": "66c5301c806ce53e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8f8728bc344a0e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 global_field_locks.js:54"}, "properties": {"repobilityId": "991dbbd34c0b8fe7", "scanner": "scanner-primary", "fingerprint": "e8f8728bc344a0e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b7a0148cd1f58b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 schedule_calendar_views.js:366"}, "properties": {"repobilityId": "09e380562e160031", "scanner": "scanner-primary", "fingerprint": "9b7a0148cd1f58b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a29672b602588ffa", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 facilities.js:86"}, "properties": {"repobilityId": "a8a6f9c0d61c3ad2", "scanner": "scanner-primary", "fingerprint": "a29672b602588ffa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-286c341da0e65035", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 facilities.js:20"}, "properties": {"repobilityId": "c8bb4dd20a222374", "scanner": "scanner-primary", "fingerprint": "286c341da0e65035", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-446ed1238434fdde", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rotation_engine.js:314"}, "properties": {"repobilityId": "e205fc74dbb9b85b", "scanner": "scanner-primary", "fingerprint": "446ed1238434fdde", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cfc7cae5bff69c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase_permissions.js:22"}, "properties": {"repobilityId": "7e9294775bf43d86", "scanner": "scanner-primary", "fingerprint": "7cfc7cae5bff69c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-919d0026bec509a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 campistry_go_geoapify.js:88"}, "properties": {"repobilityId": "cb7b3fce1c138b5c", "scanner": "scanner-primary", "fingerprint": "919d0026bec509a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf1eeb8906b06cce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 unified_schedule_system.js:33"}, "properties": {"repobilityId": "4c185ced0756b07f", "scanner": "scanner-primary", "fingerprint": "cf1eeb8906b06cce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a8a0538afe1335b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scheduler_core_leagues.js:39"}, "properties": {"repobilityId": "2b02302ee0b1872e", "scanner": "scanner-primary", "fingerprint": "6a8a0538afe1335b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b614869787a86089", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 midday_rain_stacker.js:1805"}, "properties": {"repobilityId": "d8650901ae7dea4f", "scanner": "scanner-primary", "fingerprint": "b614869787a86089", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-55e6e361c9dd0ff3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 midday_rain_stacker.js:39"}, "properties": {"repobilityId": "a480ec0eac439781", "scanner": "scanner-primary", "fingerprint": "55e6e361c9dd0ff3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6eb021095b78cbdf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 team_subdivisions_ui.js:23"}, "properties": {"repobilityId": "6d32dcfd76425a95", "scanner": "scanner-primary", "fingerprint": "6eb021095b78cbdf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31e508868156a1af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 special_activities.js:20"}, "properties": {"repobilityId": "f0501280d1642c76", "scanner": "scanner-primary", "fingerprint": "31e508868156a1af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-825b2d1bf4b46056", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 rotation_cloud.js:101"}, "properties": {"repobilityId": "63a0f45588726140", "scanner": "scanner-primary", "fingerprint": "825b2d1bf4b46056", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-576e3a55c8595564", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 schedule_versions_db.js:10"}, "properties": {"repobilityId": "228dd9d5e5ff32d3", "scanner": "scanner-primary", "fingerprint": "576e3a55c8595564", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f8350973157497d", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 mobile_touch_drag.js:226"}, "properties": {"repobilityId": "6978faa2a082b021", "scanner": "scanner-primary", "fingerprint": "0f8350973157497d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-f8efa0e1ce752116", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in validator.js:887"}, "properties": {"repobilityId": "ede3774fca32069a", "scanner": "scanner-primary", "fingerprint": "f8efa0e1ce752116", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "validator.js"}, "region": {"startLine": 887}}}]}, {"ruleId": "scanner-9372f68f2086a83e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in post_edit_system.js:740"}, "properties": {"repobilityId": "b78b3598ae017f2d", "scanner": "scanner-primary", "fingerprint": "9372f68f2086a83e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "post_edit_system.js"}, "region": {"startLine": 740}}}]}, {"ruleId": "scanner-cf2be7b7bd8f4ebd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rules.js:500"}, "properties": {"repobilityId": "e4e25ad1981266f4", "scanner": "scanner-primary", "fingerprint": "cf2be7b7bd8f4ebd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rules.js"}, "region": {"startLine": 500}}}]}, {"ruleId": "scanner-8a172ea51af27aa0", "level": "note", "message": {"text": "Insecure pattern 'document_write' in campistry_me.js:2328"}, "properties": {"repobilityId": "41596afb9b32eb76", "scanner": "scanner-primary", "fingerprint": "8a172ea51af27aa0", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_me.js"}, "region": {"startLine": 2328}}}]}, {"ruleId": "scanner-8b6af5e9d901e356", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_me.js:278"}, "properties": {"repobilityId": "464d20308337389e", "scanner": "scanner-primary", "fingerprint": "8b6af5e9d901e356", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_me.js"}, "region": {"startLine": 278}}}]}, {"ruleId": "scanner-dc260d5e0d28410e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in playoff_mode.js:368"}, "properties": {"repobilityId": "deed237ae04fbaac", "scanner": "scanner-primary", "fingerprint": "dc260d5e0d28410e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "playoff_mode.js"}, "region": {"startLine": 368}}}]}, {"ruleId": "scanner-26ac18fb0949aa6c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in coverage_warning.js:129"}, "properties": {"repobilityId": "66f890a2845ff1a0", "scanner": "scanner-primary", "fingerprint": "26ac18fb0949aa6c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "coverage_warning.js"}, "region": {"startLine": 129}}}]}, {"ruleId": "scanner-a6a387c9561dbb84", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integration_hooks.js:3299"}, "properties": {"repobilityId": "c349cbd862aae35e", "scanner": "scanner-primary", "fingerprint": "a6a387c9561dbb84", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "integration_hooks.js"}, "region": {"startLine": 3299}}}]}, {"ruleId": "scanner-d08c8e7dc278fc31", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in playoff_hub.js:125"}, "properties": {"repobilityId": "f4a3945315b6f2a2", "scanner": "scanner-primary", "fingerprint": "d08c8e7dc278fc31", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "playoff_hub.js"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-9cf6d385d01dd1f9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rbac_visual_restrictions.js:222"}, "properties": {"repobilityId": "192213f2a423b1b9", "scanner": "scanner-primary", "fingerprint": "9cf6d385d01dd1f9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rbac_visual_restrictions.js"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-9ff90a2169564933", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in invite.html:593"}, "properties": {"repobilityId": "5536f523b9a18cea", "scanner": "scanner-primary", "fingerprint": "9ff90a2169564933", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "invite.html"}, "region": {"startLine": 593}}}]}, {"ruleId": "scanner-6c5037fc95421d88", "level": "note", "message": {"text": "Insecure pattern 'document_write' in dashboard.html:314"}, "properties": {"repobilityId": "51a93e4703d4725a", "scanner": "scanner-primary", "fingerprint": "6c5037fc95421d88", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.html"}, "region": {"startLine": 314}}}]}, {"ruleId": "scanner-f3cc4c9d94b64c4e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:336"}, "properties": {"repobilityId": "3cddbad051d0bcc9", "scanner": "scanner-primary", "fingerprint": "f3cc4c9d94b64c4e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.html"}, "region": {"startLine": 336}}}]}, {"ruleId": "scanner-946ba0725d2b1d97", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in specialty_leagues.js:684"}, "properties": {"repobilityId": "58c324f480bf3f08", "scanner": "scanner-primary", "fingerprint": "946ba0725d2b1d97", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "specialty_leagues.js"}, "region": {"startLine": 684}}}]}, {"ruleId": "scanner-736bc3ce574fe4d6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_security.js:160"}, "properties": {"repobilityId": "6b160c1d3325e45f", "scanner": "scanner-primary", "fingerprint": "736bc3ce574fe4d6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_security.js"}, "region": {"startLine": 160}}}]}, {"ruleId": "scanner-52b8bcf55be65b8a", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in campistry_security.js:275"}, "properties": {"repobilityId": "32109e3e90cf6468", "scanner": "scanner-primary", "fingerprint": "52b8bcf55be65b8a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_security.js"}, "region": {"startLine": 275}}}]}, {"ruleId": "scanner-a8c4cbab0c129019", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in landing.js:442"}, "properties": {"repobilityId": "fe6aef74d979f493", "scanner": "scanner-primary", "fingerprint": "a8c4cbab0c129019", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing.js"}, "region": {"startLine": 442}}}]}, {"ruleId": "scanner-886ffdb76f45590f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in print_center.js:1770"}, "properties": {"repobilityId": "eceedaaa50acc43e", "scanner": "scanner-primary", "fingerprint": "886ffdb76f45590f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "print_center.js"}, "region": {"startLine": 1770}}}]}, {"ruleId": "scanner-1c5c96723f637be0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_validator.js:694"}, "properties": {"repobilityId": "852e20350284bb25", "scanner": "scanner-primary", "fingerprint": "1c5c96723f637be0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "auto_validator.js"}, "region": {"startLine": 694}}}]}, {"ruleId": "scanner-80839908ca96863f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule_orchestrator.js:164"}, "properties": {"repobilityId": "4aaf0867c7872653", "scanner": "scanner-primary", "fingerprint": "80839908ca96863f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "schedule_orchestrator.js"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-a0643625fe819b07", "level": "note", "message": {"text": "Insecure pattern 'document_write' in campistry_go.js:7623"}, "properties": {"repobilityId": "09fc491dd22cee1e", "scanner": "scanner-primary", "fingerprint": "a0643625fe819b07", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_go.js"}, "region": {"startLine": 7623}}}]}, {"ruleId": "scanner-21510c1e16590a2c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go.js:1313"}, "properties": {"repobilityId": "279c44b3b0cd12c1", "scanner": "scanner-primary", "fingerprint": "21510c1e16590a2c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_go.js"}, "region": {"startLine": 1313}}}]}, {"ruleId": "scanner-9b08c5179bcab472", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_register.html:246"}, "properties": {"repobilityId": "85c0363dab824e1d", "scanner": "scanner-primary", "fingerprint": "9b08c5179bcab472", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_register.html"}, "region": {"startLine": 246}}}]}, {"ruleId": "scanner-55f8315b0dc21eaa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_neighborhoods_test.html:72"}, "properties": {"repobilityId": "bac6cf16c311321a", "scanner": "scanner-primary", "fingerprint": "55f8315b0dc21eaa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_go_neighborhoods_test.html"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-bb1ca90f0f83d5ca", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in updates.js:16"}, "properties": {"repobilityId": "70d12cbfe02b9a2f", "scanner": "scanner-primary", "fingerprint": "bb1ca90f0f83d5ca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "updates.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-ec185f02379845c3", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in access_control.js:151"}, "properties": {"repobilityId": "01146461ecdcd158", "scanner": "scanner-primary", "fingerprint": "ec185f02379845c3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "access_control.js"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-869df30dfa68b4a1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in campistry_go_map_editor.js:33"}, "properties": {"repobilityId": "7b4770bd414fbbf0", "scanner": "scanner-primary", "fingerprint": "869df30dfa68b4a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_go_map_editor.js"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-2d0db68bca91e500", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in analytics.js:308"}, "properties": {"repobilityId": "fda5a7735ef99ae8", "scanner": "scanner-primary", "fingerprint": "2d0db68bca91e500", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "analytics.js"}, "region": {"startLine": 308}}}]}, {"ruleId": "scanner-ddd7194788ac21c8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in trial_guard.js:66"}, "properties": {"repobilityId": "d50b3d729267de84", "scanner": "scanner-primary", "fingerprint": "ddd7194788ac21c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trial_guard.js"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-e6f9c5e0da26b1b2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in helper.js:15"}, "properties": {"repobilityId": "709662d77c158def", "scanner": "scanner-primary", "fingerprint": "e6f9c5e0da26b1b2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "helper.js"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-ce2454b6ada73b80", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.js:390"}, "properties": {"repobilityId": "7ce9f76231a38cc5", "scanner": "scanner-primary", "fingerprint": "ce2454b6ada73b80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.js"}, "region": {"startLine": 390}}}]}, {"ruleId": "scanner-dbfc764e37332ce2", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in dashboard.js:363"}, "properties": {"repobilityId": "3dc18942413130b1", "scanner": "scanner-primary", "fingerprint": "dbfc764e37332ce2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.js"}, "region": {"startLine": 363}}}]}, {"ruleId": "scanner-4df1ce6cbc9183a5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in division_selector.js:72"}, "properties": {"repobilityId": "5c87fcbb1427ff1f", "scanner": "scanner-primary", "fingerprint": "4df1ce6cbc9183a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "division_selector.js"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-1ee646937c30e5de", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in camper_locator.js:271"}, "properties": {"repobilityId": "c602b7ac7f8d1a83", "scanner": "scanner-primary", "fingerprint": "1ee646937c30e5de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "camper_locator.js"}, "region": {"startLine": 271}}}]}, {"ruleId": "scanner-6968ea63b1251586", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in period_editor.js:161"}, "properties": {"repobilityId": "b63e8b753760963e", "scanner": "scanner-primary", "fingerprint": "6968ea63b1251586", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "period_editor.js"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-d4cef621742b828d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in leagues.js:679"}, "properties": {"repobilityId": "a378cdb3b50bd184", "scanner": "scanner-primary", "fingerprint": "d4cef621742b828d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "leagues.js"}, "region": {"startLine": 679}}}]}, {"ruleId": "scanner-23ec6ef232168bac", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_fill_slot.js:464"}, "properties": {"repobilityId": "e359fef78de2d7be", "scanner": "scanner-primary", "fingerprint": "23ec6ef232168bac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "auto_fill_slot.js"}, "region": {"startLine": 464}}}]}, {"ruleId": "scanner-bad25e10a69a5844", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in view_historical_routes.js:104"}, "properties": {"repobilityId": "c423623569702266", "scanner": "scanner-primary", "fingerprint": "bad25e10a69a5844", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "view_historical_routes.js"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-3e9b2a499244a344", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in daily_adjustments.js:136"}, "properties": {"repobilityId": "ee2d87e2cd77bd66", "scanner": "scanner-primary", "fingerprint": "3e9b2a499244a344", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "daily_adjustments.js"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-eb8768552c485bcc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rainy_day_manager.js:1186"}, "properties": {"repobilityId": "ab9c70f71d22ba58", "scanner": "scanner-primary", "fingerprint": "eb8768552c485bcc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rainy_day_manager.js"}, "region": {"startLine": 1186}}}]}, {"ruleId": "scanner-438035268f164833", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in master_schedule_builder.js:303"}, "properties": {"repobilityId": "4cc196cb37fb149f", "scanner": "scanner-primary", "fingerprint": "438035268f164833", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "master_schedule_builder.js"}, "region": {"startLine": 303}}}]}, {"ruleId": "scanner-a4f4bee05cbb5f4d", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in master_schedule_builder.js:3488"}, "properties": {"repobilityId": "d0d21bfdc76718b6", "scanner": "scanner-primary", "fingerprint": "a4f4bee05cbb5f4d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "master_schedule_builder.js"}, "region": {"startLine": 3488}}}]}, {"ruleId": "scanner-dea4e9952082e211", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skeleton_sandbox.js:279"}, "properties": {"repobilityId": "3e7f46aa91fa4251", "scanner": "scanner-primary", "fingerprint": "dea4e9952082e211", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skeleton_sandbox.js"}, "region": {"startLine": 279}}}]}, {"ruleId": "scanner-38571854a5dd6a62", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rotation_events.js:633"}, "properties": {"repobilityId": "5028589098156fa2", "scanner": "scanner-primary", "fingerprint": "38571854a5dd6a62", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rotation_events.js"}, "region": {"startLine": 633}}}]}, {"ruleId": "scanner-4e93497878392663", "level": "error", "message": {"text": "Possible secret in demo_mode.js"}, "properties": {"repobilityId": "6c4912ea0e55311e", "scanner": "scanner-primary", "fingerprint": "4e93497878392663", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "demo_mode.js"}, "region": {"startLine": 640}}}]}, {"ruleId": "scanner-1938415b85ff312c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in demo_mode.js:649"}, "properties": {"repobilityId": "451d3ab29b8ec515", "scanner": "scanner-primary", "fingerprint": "1938415b85ff312c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "demo_mode.js"}, "region": {"startLine": 649}}}]}, {"ruleId": "scanner-be018e83065f4577", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in demo_mode.js:132"}, "properties": {"repobilityId": "619d6a93ceec040e", "scanner": "scanner-primary", "fingerprint": "be018e83065f4577", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "demo_mode.js"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-078861dd608f6d50", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app1.js:545"}, "properties": {"repobilityId": "b9b94486ed680d8a", "scanner": "scanner-primary", "fingerprint": "078861dd608f6d50", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app1.js"}, "region": {"startLine": 545}}}]}, {"ruleId": "scanner-d6053b063f508c97", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in edit_restrictions.js:226"}, "properties": {"repobilityId": "f95d3711e9d1b9af", "scanner": "scanner-primary", "fingerprint": "d6053b063f508c97", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "edit_restrictions.js"}, "region": {"startLine": 226}}}]}, {"ruleId": "scanner-2c3316bc48405a55", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zones.js:32"}, "properties": {"repobilityId": "2e10423d0d44ecfd", "scanner": "scanner-primary", "fingerprint": "2c3316bc48405a55", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zones.js"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-adcec349993cd593", "level": "note", "message": {"text": "Insecure pattern 'document_write' in index.html:655"}, "properties": {"repobilityId": "2884396940812c43", "scanner": "scanner-primary", "fingerprint": "adcec349993cd593", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 655}}}]}, {"ruleId": "scanner-1742e2809f4bb3d7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in auto_schedule_grid.js:795"}, "properties": {"repobilityId": "e08878585ed8eb46", "scanner": "scanner-primary", "fingerprint": "1742e2809f4bb3d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "auto_schedule_grid.js"}, "region": {"startLine": 795}}}]}, {"ruleId": "scanner-fe8394f21c50b282", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in global_field_locks.js:829"}, "properties": {"repobilityId": "2525d585e376b429", "scanner": "scanner-primary", "fingerprint": "fe8394f21c50b282", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "global_field_locks.js"}, "region": {"startLine": 829}}}]}, {"ruleId": "scanner-da46f9fcc19e4df5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule_calendar_views.js:447"}, "properties": {"repobilityId": "60eead1e2803ece8", "scanner": "scanner-primary", "fingerprint": "da46f9fcc19e4df5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "schedule_calendar_views.js"}, "region": {"startLine": 447}}}]}, {"ruleId": "scanner-c9144c9c062adf30", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in facilities.js:59"}, "properties": {"repobilityId": "6286fb2dd5d52fd9", "scanner": "scanner-primary", "fingerprint": "c9144c9c062adf30", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "facilities.js"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-ade1ffc0b4ba15a0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in unified_schedule_system.js:2839"}, "properties": {"repobilityId": "abc44820082a2de7", "scanner": "scanner-primary", "fingerprint": "ade1ffc0b4ba15a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "unified_schedule_system.js"}, "region": {"startLine": 2839}}}]}, {"ruleId": "scanner-69388c589ea6e2fb", "level": "note", "message": {"text": "Insecure pattern 'document_write' in campistry_me.html:176"}, "properties": {"repobilityId": "821fb7c3d5b7c75a", "scanner": "scanner-primary", "fingerprint": "69388c589ea6e2fb", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "campistry_me.html"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-0ad517b2d6555527", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in midday_rain_stacker.js:1800"}, "properties": {"repobilityId": "fe25219d34d5d84c", "scanner": "scanner-primary", "fingerprint": "0ad517b2d6555527", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "midday_rain_stacker.js"}, "region": {"startLine": 1800}}}]}, {"ruleId": "scanner-27249bd369bcdb10", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in team_subdivisions_ui.js:122"}, "properties": {"repobilityId": "8e5d003c68a38f93", "scanner": "scanner-primary", "fingerprint": "27249bd369bcdb10", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "team_subdivisions_ui.js"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-0be2f69617cbfb84", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in special_activities.js:277"}, "properties": {"repobilityId": "60d2d0887cf53931", "scanner": "scanner-primary", "fingerprint": "0be2f69617cbfb84", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "special_activities.js"}, "region": {"startLine": 277}}}]}, {"ruleId": "scanner-bb42a8169583bf3f", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in special_activities.js:2564"}, "properties": {"repobilityId": "768247b1017f96e8", "scanner": "scanner-primary", "fingerprint": "bb42a8169583bf3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "special_activities.js"}, "region": {"startLine": 2564}}}]}, {"ruleId": "scanner-2628da67341b2c8f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in mobile_touch_drag.js:226"}, "properties": {"repobilityId": "1daab94c35d4a1c6", "scanner": "scanner-primary", "fingerprint": "2628da67341b2c8f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mobile_touch_drag.js"}, "region": {"startLine": 226}}}]}, {"ruleId": "scanner-ea3d8c31812c516e", "level": "note", "message": {"text": "Very large file: scheduler_core_main.js (4287 lines)"}, "properties": {"repobilityId": "0211b5a6d8d5feb5", "scanner": "scanner-primary", "fingerprint": "ea3d8c31812c516e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28c55383ea63b401", "level": "note", "message": {"text": "Very large file: post_edit_system.js (2554 lines)"}, "properties": {"repobilityId": "ecca8a61c6fa4e22", "scanner": "scanner-primary", "fingerprint": "28c55383ea63b401", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-296d84d4462bb931", "level": "note", "message": {"text": "Very large file: rules.js (1337 lines)"}, "properties": {"repobilityId": "4d24d52cbfffa1e5", "scanner": "scanner-primary", "fingerprint": "296d84d4462bb931", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-127a13de2b57b903", "level": "note", "message": {"text": "Very large file: scheduler_core_utils.js (3135 lines)"}, "properties": {"repobilityId": "db311849960b1eae", "scanner": "scanner-primary", "fingerprint": "127a13de2b57b903", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-12b4694bc8bd26b3", "level": "note", "message": {"text": "Very large file: campistry_me.js (4688 lines)"}, "properties": {"repobilityId": "b163c34a21b0ddb4", "scanner": "scanner-primary", "fingerprint": "12b4694bc8bd26b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a03e1fa3d4fc315a", "level": "note", "message": {"text": "Very large file: campistry_diagnostics.js (2321 lines)"}, "properties": {"repobilityId": "ff05cfd713ff991f", "scanner": "scanner-primary", "fingerprint": "a03e1fa3d4fc315a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4c1ad871c43b18e", "level": "note", "message": {"text": "Very large file: integration_hooks.js (3338 lines)"}, "properties": {"repobilityId": "ceb5a06efaa70240", "scanner": "scanner-primary", "fingerprint": "c4c1ad871c43b18e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3f87e37b92c482ca", "level": "note", "message": {"text": "Very large file: playoff_hub.js (1060 lines)"}, "properties": {"repobilityId": "fcb3af8c74a8a112", "scanner": "scanner-primary", "fingerprint": "3f87e37b92c482ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74cb8b2f50940a88", "level": "note", "message": {"text": "Very large file: specialty_leagues.js (2492 lines)"}, "properties": {"repobilityId": "217b11565b31bf79", "scanner": "scanner-primary", "fingerprint": "74cb8b2f50940a88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-79b6b1fa2e354ec4", "level": "note", "message": {"text": "Very large file: supabase_schedules.js (1671 lines)"}, "properties": {"repobilityId": "c5e8c67ae1c53523", "scanner": "scanner-primary", "fingerprint": "79b6b1fa2e354ec4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a67548762cd05520", "level": "note", "message": {"text": "Very large file: print_center.js (5265 lines)"}, "properties": {"repobilityId": "8746edf4c7231f04", "scanner": "scanner-primary", "fingerprint": "a67548762cd05520", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3fe4158fccddd51c", "level": "note", "message": {"text": "Very large file: smart_logic_adapter.js (1094 lines)"}, "properties": {"repobilityId": "e0736fc2a3f25122", "scanner": "scanner-primary", "fingerprint": "3fe4158fccddd51c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18c521b269a01279", "level": "note", "message": {"text": "Very large file: supabase_sync.js (1437 lines)"}, "properties": {"repobilityId": "c2e57719ab90bb19", "scanner": "scanner-primary", "fingerprint": "18c521b269a01279", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-367fc75bbc2a6221", "level": "note", "message": {"text": "Very large file: campistry_go_neighborhoods.js (1507 lines)"}, "properties": {"repobilityId": "79d2f82fe58bc058", "scanner": "scanner-primary", "fingerprint": "367fc75bbc2a6221", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9f2a428bb92185d5", "level": "note", "message": {"text": "Very large file: scheduler_core_specialty_leagues.js (1421 lines)"}, "properties": {"repobilityId": "26969e9c437b174a", "scanner": "scanner-primary", "fingerprint": "9f2a428bb92185d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d2f999b0a73eccc8", "level": "note", "message": {"text": "Very large file: total_solver_engine.js (3071 lines)"}, "properties": {"repobilityId": "19504c2eb228d774", "scanner": "scanner-primary", "fingerprint": "d2f999b0a73eccc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-453c608d11c515a4", "level": "note", "message": {"text": "Very large file: schedule_orchestrator.js (2033 lines)"}, "properties": {"repobilityId": "d8d8368642778677", "scanner": "scanner-primary", "fingerprint": "453c608d11c515a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ea0a0ad28bb60fb", "level": "note", "message": {"text": "Very large file: campistry_go.js (8525 lines)"}, "properties": {"repobilityId": "6fde1317ed691ee1", "scanner": "scanner-primary", "fingerprint": "2ea0a0ad28bb60fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-678da34df0a4f767", "level": "note", "message": {"text": "Very large file: access_control.js (2475 lines)"}, "properties": {"repobilityId": "7fb85db4ee89c5b6", "scanner": "scanner-primary", "fingerprint": "678da34df0a4f767", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b7e9f43d25e45e8e", "level": "note", "message": {"text": "Very large file: analytics.js (1747 lines)"}, "properties": {"repobilityId": "c590d791a7922ee6", "scanner": "scanner-primary", "fingerprint": "b7e9f43d25e45e8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a4023333c2af329", "level": "note", "message": {"text": "Very large file: dashboard.js (1312 lines)"}, "properties": {"repobilityId": "6a33daa80c5cdd15", "scanner": "scanner-primary", "fingerprint": "2a4023333c2af329", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c9832341a7bf5174", "level": "note", "message": {"text": "Very large file: leagues.js (2866 lines)"}, "properties": {"repobilityId": "1101d2ff29b559ed", "scanner": "scanner-primary", "fingerprint": "c9832341a7bf5174", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70861cefa831ed5d", "level": "note", "message": {"text": "Very large file: daily_adjustments.js (8496 lines)"}, "properties": {"repobilityId": "9214116536860cad", "scanner": "scanner-primary", "fingerprint": "70861cefa831ed5d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9c881461a99605e4", "level": "note", "message": {"text": "Very large file: rainy_day_manager.js (1689 lines)"}, "properties": {"repobilityId": "407df25212dc4255", "scanner": "scanner-primary", "fingerprint": "9c881461a99605e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-731f94fc0f1a3c12", "level": "note", "message": {"text": "Very large file: master_schedule_builder.js (5058 lines)"}, "properties": {"repobilityId": "d3794033995d41ba", "scanner": "scanner-primary", "fingerprint": "731f94fc0f1a3c12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b199eee593dc7414", "level": "note", "message": {"text": "Very large file: auto_solver_engine.js (2798 lines)"}, "properties": {"repobilityId": "51debda86f78ceef", "scanner": "scanner-primary", "fingerprint": "b199eee593dc7414", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0660e15b1e2362a6", "level": "note", "message": {"text": "Very large file: rotation_events.js (1439 lines)"}, "properties": {"repobilityId": "affd6da8b04a8065", "scanner": "scanner-primary", "fingerprint": "0660e15b1e2362a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c08d6ca259a7d64", "level": "note", "message": {"text": "Very large file: calendar.js (2075 lines)"}, "properties": {"repobilityId": "62eb9343f02e93d7", "scanner": "scanner-primary", "fingerprint": "5c08d6ca259a7d64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f659c261515307ac", "level": "note", "message": {"text": "Very large file: app1.js (1392 lines)"}, "properties": {"repobilityId": "212aecc29aba7ffb", "scanner": "scanner-primary", "fingerprint": "f659c261515307ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-073227a2f8419d8b", "level": "note", "message": {"text": "Very large file: auto_schedule_grid.js (1670 lines)"}, "properties": {"repobilityId": "071b547ad37a6e57", "scanner": "scanner-primary", "fingerprint": "073227a2f8419d8b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0bccb97d9637486", "level": "note", "message": {"text": "Very large file: schedule_calendar_views.js (1181 lines)"}, "properties": {"repobilityId": "4e631ecfb9d8d75c", "scanner": "scanner-primary", "fingerprint": "f0bccb97d9637486", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2610f644068c23d1", "level": "note", "message": {"text": "Very large file: facilities.js (4997 lines)"}, "properties": {"repobilityId": "b737341926c5d348", "scanner": "scanner-primary", "fingerprint": "2610f644068c23d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-156d43d4c6c377c1", "level": "note", "message": {"text": "Very large file: rotation_engine.js (1533 lines)"}, "properties": {"repobilityId": "1495c3f899cb0dc4", "scanner": "scanner-primary", "fingerprint": "156d43d4c6c377c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e249279087a16512", "level": "note", "message": {"text": "Very large file: unified_schedule_system.js (7516 lines)"}, "properties": {"repobilityId": "0acca4e3f196172c", "scanner": "scanner-primary", "fingerprint": "e249279087a16512", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34e8a13276c30864", "level": "note", "message": {"text": "Very large file: scheduler_core_leagues.js (2335 lines)"}, "properties": {"repobilityId": "f15528019a844cbc", "scanner": "scanner-primary", "fingerprint": "34e8a13276c30864", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d706efdeadccbbca", "level": "note", "message": {"text": "Very large file: midday_rain_stacker.js (2062 lines)"}, "properties": {"repobilityId": "9e28fd70ce5ad8cb", "scanner": "scanner-primary", "fingerprint": "d706efdeadccbbca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7d6d1ddeb4513497", "level": "note", "message": {"text": "Very large file: special_activities.js (3170 lines)"}, "properties": {"repobilityId": "bb4b41dd1da85018", "scanner": "scanner-primary", "fingerprint": "7d6d1ddeb4513497", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "bc92ab735dc3e29f", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-01f96f71d9907a8c", "level": "note", "message": {"text": "README lacks setup or run instructions"}, "properties": {"repobilityId": "382e2d56d782c8a7", "scanner": "scanner-primary", "fingerprint": "01f96f71d9907a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "08151cf91887904a", "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": "7af7f2dbea060acc", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "78359980d1e3a7b6", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "1d3d505db4192e41", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "290bade40ef20485", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a7c5e8f44682a4d", "level": "none", "message": {"text": "Commented-code block (13 lines) in validator.js:5"}, "properties": {"repobilityId": "13b4eee258fb69d3", "scanner": "scanner-primary", "fingerprint": "1a7c5e8f44682a4d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22fdba233b5b5f01", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalRegistry_v1` in local_cache_idb.js:43"}, "properties": {"repobilityId": "0fc1fa4344aedf75", "scanner": "scanner-primary", "fingerprint": "22fdba233b5b5f01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ddaaf2e1621633c", "level": "none", "message": {"text": "Commented-code block (7 lines) in local_cache_idb.js:74"}, "properties": {"repobilityId": "5b2b3dfe56b6d795", "scanner": "scanner-primary", "fingerprint": "8ddaaf2e1621633c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-950b6006b8a31218", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in scheduler_core_main.js:1506"}, "properties": {"repobilityId": "c27ea97a90a10ed5", "scanner": "scanner-primary", "fingerprint": "950b6006b8a31218", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a96dcdd4f8ca4a9", "level": "none", "message": {"text": "Commented-code block (13 lines) in scheduler_core_main.js:1"}, "properties": {"repobilityId": "aaca696a0da218b0", "scanner": "scanner-primary", "fingerprint": "1a96dcdd4f8ca4a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06938f38b2510710", "level": "note", "message": {"text": "Legacy-named symbol `_peiUndoStack_v2` in post_edit_system.js:92"}, "properties": {"repobilityId": "bedf5723bb3ba7e5", "scanner": "scanner-primary", "fingerprint": "06938f38b2510710", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4d18bc8f1655b040", "level": "none", "message": {"text": "Commented-code block (9 lines) in post_edit_system.js:5"}, "properties": {"repobilityId": "32b51526f4619aaa", "scanner": "scanner-primary", "fingerprint": "4d18bc8f1655b040", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4906cb378d70eb16", "level": "none", "message": {"text": "Commented-code block (8 lines) in rules.js:1"}, "properties": {"repobilityId": "b18ae35e99f7a768", "scanner": "scanner-primary", "fingerprint": "4906cb378d70eb16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-318271057072be95", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in scheduler_core_utils.js:2440"}, "properties": {"repobilityId": "d9712ffa19023d4e", "scanner": "scanner-primary", "fingerprint": "318271057072be95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5d4abb7d4159d026", "level": "none", "message": {"text": "Commented-code block (9 lines) in scheduler_core_utils.js:6"}, "properties": {"repobilityId": "28531517daee1ecf", "scanner": "scanner-primary", "fingerprint": "5d4abb7d4159d026", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31d0309391072a4f", "level": "none", "message": {"text": "Commented-code block (5 lines) in campistry_go_ors_optimizer.js:24"}, "properties": {"repobilityId": "20509784c7ed0a8d", "scanner": "scanner-primary", "fingerprint": "31d0309391072a4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3578678eb8b67bdf", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in campistry_me.js:78"}, "properties": {"repobilityId": "7509e8edb46fe565", "scanner": "scanner-primary", "fingerprint": "3578678eb8b67bdf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b54a88f025bf510b", "level": "none", "message": {"text": "Commented-code block (7 lines) in campistry_me.js:16"}, "properties": {"repobilityId": "5393c37db5582f24", "scanner": "scanner-primary", "fingerprint": "b54a88f025bf510b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db53c69a2ba28ea4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_me.js:2252"}, "properties": {"repobilityId": "f80deff83597e4c9", "scanner": "scanner-primary", "fingerprint": "db53c69a2ba28ea4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ec442f81242f2dbe", "level": "none", "message": {"text": "Commented-code block (22 lines) in playoff_mode.js:1"}, "properties": {"repobilityId": "5ce48ff7fa1ac6d0", "scanner": "scanner-primary", "fingerprint": "ec442f81242f2dbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8f202a57613604b", "level": "none", "message": {"text": "Commented-code block (11 lines) in coverage_warning.js:169"}, "properties": {"repobilityId": "0458530aa7de776a", "scanner": "scanner-primary", "fingerprint": "c8f202a57613604b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9faa3d7126351f34", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in campistry_diagnostics.js:38"}, "properties": {"repobilityId": "5d6403310218e873", "scanner": "scanner-primary", "fingerprint": "9faa3d7126351f34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12b97f43c773ac97", "level": "none", "message": {"text": "Commented-code block (7 lines) in campistry_diagnostics.js:23"}, "properties": {"repobilityId": "b14a3b73f3b3ee4d", "scanner": "scanner-primary", "fingerprint": "12b97f43c773ac97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a8105af23edc66e", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in integration_hooks.js:59"}, "properties": {"repobilityId": "9783574c818d6d02", "scanner": "scanner-primary", "fingerprint": "2a8105af23edc66e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0ddae5a6374ca418", "level": "none", "message": {"text": "Commented-code block (5 lines) in integration_hooks.js:12"}, "properties": {"repobilityId": "66d61f4a5bf74ca4", "scanner": "scanner-primary", "fingerprint": "0ddae5a6374ca418", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a01ef76837e3aa18", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 integration_hooks.js:2989"}, "properties": {"repobilityId": "cbfccb891e5ac43d", "scanner": "scanner-primary", "fingerprint": "a01ef76837e3aa18", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4faf7644936ed198", "level": "none", "message": {"text": "Commented-code block (6 lines) in playoff_hub.js:1"}, "properties": {"repobilityId": "90d07b26742a1948", "scanner": "scanner-primary", "fingerprint": "4faf7644936ed198", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-737455ac2819571b", "level": "none", "message": {"text": "Commented-code block (8 lines) in day_packer.js:235"}, "properties": {"repobilityId": "a7cdc5d1ad0f77df", "scanner": "scanner-primary", "fingerprint": "737455ac2819571b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80831b1decbacf5d", "level": "none", "message": {"text": "Commented-code block (5 lines) in rbac_visual_restrictions.js:6"}, "properties": {"repobilityId": "f250a7ddb48cd63d", "scanner": "scanner-primary", "fingerprint": "80831b1decbacf5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f4c4183d2626932", "level": "none", "message": {"text": "Commented-code block (6 lines) in period_tiler.js:318"}, "properties": {"repobilityId": "296b9977f85495ab", "scanner": "scanner-primary", "fingerprint": "5f4c4183d2626932", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3addb0f4a48a6a6b", "level": "none", "message": {"text": "Commented-code block (7 lines) in division_times_system.js:7"}, "properties": {"repobilityId": "2aa5f9c722d4bf2e", "scanner": "scanner-primary", "fingerprint": "3addb0f4a48a6a6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98905391dbbb3472", "level": "none", "message": {"text": "Commented-code block (6 lines) in campistry_go_cloud.js:13"}, "properties": {"repobilityId": "9f6610f4cadbb77d", "scanner": "scanner-primary", "fingerprint": "98905391dbbb3472", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ddebcd8065caef4f", "level": "none", "message": {"text": "Commented-code block (7 lines) in specialty_leagues.js:1"}, "properties": {"repobilityId": "ee873c0e58784b21", "scanner": "scanner-primary", "fingerprint": "ddebcd8065caef4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9773c32b1f985bab", "level": "none", "message": {"text": "Commented-code block (6 lines) in feasibility_oracle.js:22"}, "properties": {"repobilityId": "740ed0afea5d02e6", "scanner": "scanner-primary", "fingerprint": "9773c32b1f985bab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0e5f3e9dc4872da", "level": "none", "message": {"text": "Commented-code block (5 lines) in rbac_diagnostics.js:1"}, "properties": {"repobilityId": "9451dd181dd32d54", "scanner": "scanner-primary", "fingerprint": "b0e5f3e9dc4872da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44fb7ab390bf813b", "level": "none", "message": {"text": "Commented-code block (15 lines) in campistry_security.js:8"}, "properties": {"repobilityId": "22ed17e0e50f9c2c", "scanner": "scanner-primary", "fingerprint": "44fb7ab390bf813b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-573f7302ba981a8d", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in supabase_schedules.js:47"}, "properties": {"repobilityId": "8bf1adcfc81d33f9", "scanner": "scanner-primary", "fingerprint": "573f7302ba981a8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-036d624bea494aee", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase_schedules.js:19"}, "properties": {"repobilityId": "b2a96f76eee1a7ef", "scanner": "scanner-primary", "fingerprint": "036d624bea494aee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60c5b8f121550966", "level": "note", "message": {"text": "Legacy-named symbol `campistry_go_stop_master_v1` in campistry_go_stop_master.js:56"}, "properties": {"repobilityId": "8f5c0dc5b48c48db", "scanner": "scanner-primary", "fingerprint": "60c5b8f121550966", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-08afd32e647ef8c5", "level": "none", "message": {"text": "Commented-code block (8 lines) in campistry_go_stop_master.js:4"}, "properties": {"repobilityId": "87daae8fd0e6a56f", "scanner": "scanner-primary", "fingerprint": "08afd32e647ef8c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1b1b8ad6f9cefad", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in landing.js:115"}, "properties": {"repobilityId": "9283092e2a28379c", "scanner": "scanner-primary", "fingerprint": "b1b1b8ad6f9cefad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-736af1794236c8b8", "level": "none", "message": {"text": "Commented-code block (7 lines) in landing.js:1"}, "properties": {"repobilityId": "477f6423a089b565", "scanner": "scanner-primary", "fingerprint": "736af1794236c8b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fd8c0cf788e753d", "level": "none", "message": {"text": "Commented-code block (17 lines) in print_center.js:1"}, "properties": {"repobilityId": "84b56335ed1023f6", "scanner": "scanner-primary", "fingerprint": "7fd8c0cf788e753d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf6cb6d452aa0e62", "level": "none", "message": {"text": "Commented-code block (10 lines) in smart_logic_adapter.js:1"}, "properties": {"repobilityId": "010ef21dabf6b9ab", "scanner": "scanner-primary", "fingerprint": "bf6cb6d452aa0e62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20e4d061604dbd6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in auto_validator.js:9"}, "properties": {"repobilityId": "610ebd6fcab7e9b1", "scanner": "scanner-primary", "fingerprint": "20e4d061604dbd6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1eb3d3d4f9844222", "level": "note", "message": {"text": "Legacy-named symbol `campistry_offline_queue_v1` in supabase_sync.js:64"}, "properties": {"repobilityId": "aeb8bfd9c84ef506", "scanner": "scanner-primary", "fingerprint": "1eb3d3d4f9844222", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6333b5eba70bee14", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase_sync.js:5"}, "properties": {"repobilityId": "ba7e75ca73e2e989", "scanner": "scanner-primary", "fingerprint": "6333b5eba70bee14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0907d30c4ba20b20", "level": "note", "message": {"text": "Legacy-named symbol `campistry_go_roadgraph_v1` in campistry_go_neighborhoods.js:113"}, "properties": {"repobilityId": "0d4c59e6acd5207d", "scanner": "scanner-primary", "fingerprint": "0907d30c4ba20b20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a9da191f99452a07", "level": "none", "message": {"text": "Commented-code block (8 lines) in campistry_go_neighborhoods.js:8"}, "properties": {"repobilityId": "35e4adac2d5781de", "scanner": "scanner-primary", "fingerprint": "a9da191f99452a07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d19b4b4e09135c50", "level": "none", "message": {"text": "Commented-code block (6 lines) in campistry_utils.js:1"}, "properties": {"repobilityId": "427da0c7b213418b", "scanner": "scanner-primary", "fingerprint": "d19b4b4e09135c50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5b1b79b3018ac8e8", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in supabase_client.js:353"}, "properties": {"repobilityId": "6acb9e19ad8159a7", "scanner": "scanner-primary", "fingerprint": "5b1b79b3018ac8e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-74f61b897d3d0df0", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase_client.js:20"}, "properties": {"repobilityId": "4577e5fb3b70cdc4", "scanner": "scanner-primary", "fingerprint": "74f61b897d3d0df0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f97a5d120e3ef88e", "level": "note", "message": {"text": "Legacy-named symbol `campSpecialtyLeagueHistory_v1` in scheduler_core_specialty_leagues.js:22"}, "properties": {"repobilityId": "e21277a7935ad6fb", "scanner": "scanner-primary", "fingerprint": "f97a5d120e3ef88e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7ee11717c8f4d662", "level": "none", "message": {"text": "Commented-code block (7 lines) in scheduler_core_specialty_leagues.js:6"}, "properties": {"repobilityId": "190438afe7191b83", "scanner": "scanner-primary", "fingerprint": "7ee11717c8f4d662", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-041869cec2e614b0", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in total_solver_engine.js:228"}, "properties": {"repobilityId": "fb583b1add70edec", "scanner": "scanner-primary", "fingerprint": "041869cec2e614b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6605065dc0d12001", "level": "none", "message": {"text": "Commented-code block (7 lines) in total_solver_engine.js:3"}, "properties": {"repobilityId": "ee56096677d03df5", "scanner": "scanner-primary", "fingerprint": "6605065dc0d12001", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f4b5c5212b06e47", "level": "none", "message": {"text": "Commented-code block (6 lines) in rbac_init.js:6"}, "properties": {"repobilityId": "d0364ddff55f7acc", "scanner": "scanner-primary", "fingerprint": "3f4b5c5212b06e47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e8d3df49ac39f30", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in schedule_orchestrator.js:61"}, "properties": {"repobilityId": "4f298f43e8fafc08", "scanner": "scanner-primary", "fingerprint": "9e8d3df49ac39f30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-117eb18442c07d6c", "level": "none", "message": {"text": "Commented-code block (6 lines) in schedule_orchestrator.js:32"}, "properties": {"repobilityId": "1d44965536f5eccf", "scanner": "scanner-primary", "fingerprint": "117eb18442c07d6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-336e7aed7ecf0494", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in campistry_go.js:921"}, "properties": {"repobilityId": "632d615ec414325d", "scanner": "scanner-primary", "fingerprint": "336e7aed7ecf0494", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e0112d72ff0c984c", "level": "none", "message": {"text": "Commented-code block (5 lines) in campistry_go.js:6"}, "properties": {"repobilityId": "d021db696511a159", "scanner": "scanner-primary", "fingerprint": "e0112d72ff0c984c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1032d401376a0a19", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 campistry_go.js:1016"}, "properties": {"repobilityId": "508417d459a771cc", "scanner": "scanner-primary", "fingerprint": "1032d401376a0a19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d416d7244c1e4b83", "level": "none", "message": {"text": "Commented-code block (5 lines) in division_times_integration.js:5"}, "properties": {"repobilityId": "ad0838c5ddd96e32", "scanner": "scanner-primary", "fingerprint": "d416d7244c1e4b83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25dc2181ebcafe9d", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in access_control.js:338"}, "properties": {"repobilityId": "917749d79982f8ee", "scanner": "scanner-primary", "fingerprint": "25dc2181ebcafe9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e387d15f7132659", "level": "none", "message": {"text": "Commented-code block (6 lines) in access_control.js:6"}, "properties": {"repobilityId": "4dd1e387f9ae7f3c", "scanner": "scanner-primary", "fingerprint": "4e387d15f7132659", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f4e08391eadb0a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in campistry_go_map_editor.js:1"}, "properties": {"repobilityId": "5402957f42b6e4f5", "scanner": "scanner-primary", "fingerprint": "1f4e08391eadb0a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c197a97b81e3181b", "level": "none", "message": {"text": "Commented-code block (6 lines) in cloud_sync_helpers.js:246"}, "properties": {"repobilityId": "257cf905ea877fb8", "scanner": "scanner-primary", "fingerprint": "c197a97b81e3181b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a755d3b995ab23f7", "level": "none", "message": {"text": "Commented-code block (7 lines) in analytics.js:43"}, "properties": {"repobilityId": "207002eb799f70c7", "scanner": "scanner-primary", "fingerprint": "a755d3b995ab23f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f08a2fa3db756ed9", "level": "none", "message": {"text": "Commented-code block (7 lines) in scheduler_core_loader.js:1"}, "properties": {"repobilityId": "91030848bf2598a1", "scanner": "scanner-primary", "fingerprint": "f08a2fa3db756ed9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06294e9b0e696ed0", "level": "none", "message": {"text": "Commented-code block (5 lines) in config.js:8"}, "properties": {"repobilityId": "b2d8fb68c6635206", "scanner": "scanner-primary", "fingerprint": "06294e9b0e696ed0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb692f369e490163", "level": "none", "message": {"text": "Commented-code block (5 lines) in plan_limits.js:1"}, "properties": {"repobilityId": "209ed8626538924a", "scanner": "scanner-primary", "fingerprint": "bb692f369e490163", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-618e2f444470e214", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in trial_guard.js:370"}, "properties": {"repobilityId": "57aa9c96870f8fe3", "scanner": "scanner-primary", "fingerprint": "618e2f444470e214", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f5824378890ab88", "level": "none", "message": {"text": "Commented-code block (5 lines) in trial_guard.js:7"}, "properties": {"repobilityId": "0594426d34709d96", "scanner": "scanner-primary", "fingerprint": "9f5824378890ab88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d266a23a500d8c5b", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in dashboard.js:1080"}, "properties": {"repobilityId": "abdb222742929738", "scanner": "scanner-primary", "fingerprint": "d266a23a500d8c5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-58f4b38e828f5a76", "level": "none", "message": {"text": "Commented-code block (12 lines) in dashboard.js:14"}, "properties": {"repobilityId": "68bce9453c41f720", "scanner": "scanner-primary", "fingerprint": "58f4b38e828f5a76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-266985ac124a0198", "level": "none", "message": {"text": "Commented-code block (16 lines) in division_selector.js:1"}, "properties": {"repobilityId": "bfb675253559e25a", "scanner": "scanner-primary", "fingerprint": "266985ac124a0198", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f71a1d2c752a531c", "level": "none", "message": {"text": "Commented-code block (7 lines) in camper_locator.js:5"}, "properties": {"repobilityId": "e736cf08a45f7e87", "scanner": "scanner-primary", "fingerprint": "f71a1d2c752a531c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c096263216ee11c", "level": "none", "message": {"text": "Commented-code block (6 lines) in pinned_activity_preservation.js:67"}, "properties": {"repobilityId": "f600e68a2ca5bc50", "scanner": "scanner-primary", "fingerprint": "4c096263216ee11c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-020f1989a79e69e7", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in subdivision_schedule_manager.js:89"}, "properties": {"repobilityId": "96020e84301f2837", "scanner": "scanner-primary", "fingerprint": "020f1989a79e69e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f9253cddae19626f", "level": "none", "message": {"text": "Commented-code block (5 lines) in subdivision_schedule_manager.js:1"}, "properties": {"repobilityId": "5db428db9d0fcc5c", "scanner": "scanner-primary", "fingerprint": "f9253cddae19626f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ded1230d5617b507", "level": "none", "message": {"text": "Commented-code block (7 lines) in period_packer.js:1"}, "properties": {"repobilityId": "ad62a944e77d3079", "scanner": "scanner-primary", "fingerprint": "ded1230d5617b507", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aa33f0d8ec73c56", "level": "none", "message": {"text": "Commented-code block (5 lines) in auto_field_locks.js:1"}, "properties": {"repobilityId": "a56d92be3f0085be", "scanner": "scanner-primary", "fingerprint": "7aa33f0d8ec73c56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5020eb1aa2719537", "level": "none", "message": {"text": "Commented-code block (8 lines) in rbac_integration.js:1"}, "properties": {"repobilityId": "2c8c8e800d68dac7", "scanner": "scanner-primary", "fingerprint": "5020eb1aa2719537", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b91c262ba7717e68", "level": "none", "message": {"text": "Commented-code block (5 lines) in welcome.js:4"}, "properties": {"repobilityId": "b7c41a578cd099b5", "scanner": "scanner-primary", "fingerprint": "b91c262ba7717e68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-925009ad6e6c687e", "level": "none", "message": {"text": "Commented-code block (8 lines) in auto_segment_model.js:1"}, "properties": {"repobilityId": "dca2aa1f7b8f13d9", "scanner": "scanner-primary", "fingerprint": "925009ad6e6c687e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68655644573f44ea", "level": "none", "message": {"text": "Commented-code block (12 lines) in leagues.js:1"}, "properties": {"repobilityId": "1d9ab87be2d5b6a1", "scanner": "scanner-primary", "fingerprint": "68655644573f44ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24e8990672b01f63", "level": "none", "message": {"text": "Commented-code block (8 lines) in auto_fill_slot.js:1"}, "properties": {"repobilityId": "0d7c2ac20f43209b", "scanner": "scanner-primary", "fingerprint": "24e8990672b01f63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84104853f2236010", "level": "none", "message": {"text": "Commented-code block (6 lines) in view_historical_routes.js:1"}, "properties": {"repobilityId": "971da80e37c54180", "scanner": "scanner-primary", "fingerprint": "84104853f2236010", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95a4b43dcaf03be1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase-js@2.js:7"}, "properties": {"repobilityId": "235412e6c63ada15", "scanner": "scanner-primary", "fingerprint": "95a4b43dcaf03be1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-868b88f87917df24", "level": "note", "message": {"text": "Legacy-named symbol `smartTileHistory_v1` in daily_adjustments.js:100"}, "properties": {"repobilityId": "5a1cd7b34315a2ad", "scanner": "scanner-primary", "fingerprint": "868b88f87917df24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a7010ea4beafe387", "level": "none", "message": {"text": "Commented-code block (23 lines) in daily_adjustments.js:1"}, "properties": {"repobilityId": "b7217e5972c840a1", "scanner": "scanner-primary", "fingerprint": "a7010ea4beafe387", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47750af0e11c6909", "level": "none", "message": {"text": "Commented-code block (6 lines) in campistry_go_google.js:5"}, "properties": {"repobilityId": "653913e4cf76b498", "scanner": "scanner-primary", "fingerprint": "47750af0e11c6909", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3796f88a292091e6", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in rainy_day_manager.js:176"}, "properties": {"repobilityId": "11767807ce7cb18f", "scanner": "scanner-primary", "fingerprint": "3796f88a292091e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-303848187e4ec855", "level": "none", "message": {"text": "Commented-code block (12 lines) in rainy_day_manager.js:1"}, "properties": {"repobilityId": "c84be39f92e4662b", "scanner": "scanner-primary", "fingerprint": "303848187e4ec855", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6e2d48deba29460", "level": "none", "message": {"text": "Commented-code block (14 lines) in master_schedule_builder.js:2"}, "properties": {"repobilityId": "ddd64d27cccc200a", "scanner": "scanner-primary", "fingerprint": "d6e2d48deba29460", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86eaa5ef74375b2c", "level": "none", "message": {"text": "Commented-code block (9 lines) in auto_solver_engine.js:5"}, "properties": {"repobilityId": "6a21a2c91216cf39", "scanner": "scanner-primary", "fingerprint": "86eaa5ef74375b2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebc584b265d15d24", "level": "none", "message": {"text": "Commented-code block (5 lines) in skeleton_sandbox.js:4"}, "properties": {"repobilityId": "edbf9d6538d1c859", "scanner": "scanner-primary", "fingerprint": "ebc584b265d15d24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-577e5b4e5d637a4a", "level": "none", "message": {"text": "Commented-code block (6 lines) in rotation_events.js:1"}, "properties": {"repobilityId": "f74957c1980a1cfa", "scanner": "scanner-primary", "fingerprint": "577e5b4e5d637a4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5bf5724763bb62a", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in calendar.js:21"}, "properties": {"repobilityId": "8cef1471456cf7f0", "scanner": "scanner-primary", "fingerprint": "b5bf5724763bb62a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4ee557770eb0156f", "level": "none", "message": {"text": "Commented-code block (5 lines) in calendar.js:5"}, "properties": {"repobilityId": "906ce3de6bfc59b4", "scanner": "scanner-primary", "fingerprint": "4ee557770eb0156f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9ff0a35d6c06577", "level": "none", "message": {"text": "Commented-code block (6 lines) in scheduler_logic_fillers.js:6"}, "properties": {"repobilityId": "5f373b55ad20a6ca", "scanner": "scanner-primary", "fingerprint": "b9ff0a35d6c06577", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84c71e4f985da199", "level": "note", "message": {"text": "Legacy-named symbol `campGlobalSettings_v1` in demo_mode.js:78"}, "properties": {"repobilityId": "ff2dc8a8111192e6", "scanner": "scanner-primary", "fingerprint": "84c71e4f985da199", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-293a381ee2780fd8", "level": "none", "message": {"text": "Commented-code block (7 lines) in demo_mode.js:282"}, "properties": {"repobilityId": "02666e2304e8da4b", "scanner": "scanner-primary", "fingerprint": "293a381ee2780fd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa0fb4475187205e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 demo_mode.js:577"}, "properties": {"repobilityId": "f296494559c6a0dd", "scanner": "scanner-primary", "fingerprint": "fa0fb4475187205e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2edf0ae8f6f5d01c", "level": "note", "message": {"text": "Legacy-named symbol `youngToOld` in app1.js:203"}, "properties": {"repobilityId": "d57f57d0d9438c3e", "scanner": "scanner-primary", "fingerprint": "2edf0ae8f6f5d01c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e61bee7a7ecc5568", "level": "none", "message": {"text": "Commented-code block (9 lines) in app1.js:13"}, "properties": {"repobilityId": "bed410e8b164efbf", "scanner": "scanner-primary", "fingerprint": "e61bee7a7ecc5568", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59121039c9d4312b", "level": "none", "message": {"text": "Commented-code block (5 lines) in edit_restrictions.js:1"}, "properties": {"repobilityId": "758bf5055fa3ff91", "scanner": "scanner-primary", "fingerprint": "59121039c9d4312b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91127f7d56a77d28", "level": "none", "message": {"text": "Commented-code block (5 lines) in global_authority.js:6"}, "properties": {"repobilityId": "86f9990307f3dc2d", "scanner": "scanner-primary", "fingerprint": "91127f7d56a77d28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abfe2f3481b44e55", "level": "none", "message": {"text": "Commented-code block (5 lines) in zones.js:1"}, "properties": {"repobilityId": "d1f05c72a79d3d91", "scanner": "scanner-primary", "fingerprint": "abfe2f3481b44e55", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28455083131018d5", "level": "note", "message": {"text": "Legacy-named symbol `renderLegacy` in auto_schedule_grid.js:1661"}, "properties": {"repobilityId": "8a13b64ef8f86a9b", "scanner": "scanner-primary", "fingerprint": "28455083131018d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f43d468e1bb4375a", "level": "none", "message": {"text": "Commented-code block (10 lines) in auto_schedule_grid.js:1"}, "properties": {"repobilityId": "2a2860306e7798a8", "scanner": "scanner-primary", "fingerprint": "f43d468e1bb4375a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-744476cc8d83d2a6", "level": "none", "message": {"text": "Commented-code block (6 lines) in global_field_locks.js:1"}, "properties": {"repobilityId": "24819290b9270a6c", "scanner": "scanner-primary", "fingerprint": "744476cc8d83d2a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-029d567ece5147a7", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in schedule_calendar_views.js:87"}, "properties": {"repobilityId": "eaf292f47aba56ed", "scanner": "scanner-primary", "fingerprint": "029d567ece5147a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0a26ce1acdb2972f", "level": "none", "message": {"text": "Commented-code block (6 lines) in schedule_calendar_views.js:2"}, "properties": {"repobilityId": "818c8d326aee9ecb", "scanner": "scanner-primary", "fingerprint": "0a26ce1acdb2972f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a91fef3ddcd5913", "level": "note", "message": {"text": "Legacy-named symbol `syncAllToLegacy` in facilities.js:313"}, "properties": {"repobilityId": "2d9ff193611fb74e", "scanner": "scanner-primary", "fingerprint": "6a91fef3ddcd5913", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-51a485c1f687fdef", "level": "none", "message": {"text": "Commented-code block (5 lines) in facilities.js:2"}, "properties": {"repobilityId": "98954b5d7be2e58c", "scanner": "scanner-primary", "fingerprint": "51a485c1f687fdef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9a065f7dbb3491b", "level": "none", "message": {"text": "Commented-code block (7 lines) in rotation_engine.js:6"}, "properties": {"repobilityId": "aec44baf3e874e10", "scanner": "scanner-primary", "fingerprint": "b9a065f7dbb3491b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03b5cc4d7917f054", "level": "none", "message": {"text": "Commented-code block (7 lines) in campistry_go_geoapify.js:50"}, "properties": {"repobilityId": "abee28e44558c5bf", "scanner": "scanner-primary", "fingerprint": "03b5cc4d7917f054", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6848b0809ae7c7f", "level": "note", "message": {"text": "Legacy-named symbol `campistry_go_neighborhoods_v1` in campistry_go_persistence.js:38"}, "properties": {"repobilityId": "2f24d795daabef90", "scanner": "scanner-primary", "fingerprint": "b6848b0809ae7c7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eb712d19ea7370c0", "level": "none", "message": {"text": "Commented-code block (9 lines) in campistry_go_persistence.js:11"}, "properties": {"repobilityId": "ebeedad48d9d6d8d", "scanner": "scanner-primary", "fingerprint": "eb712d19ea7370c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ccb3e443c43fac9", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in unified_schedule_system.js:570"}, "properties": {"repobilityId": "e295518c34c6520b", "scanner": "scanner-primary", "fingerprint": "9ccb3e443c43fac9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3ea5c9b905277b3c", "level": "none", "message": {"text": "Commented-code block (8 lines) in unified_schedule_system.js:5"}, "properties": {"repobilityId": "15550a76dbbac061", "scanner": "scanner-primary", "fingerprint": "3ea5c9b905277b3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-046bf2dbaf13c38a", "level": "note", "message": {"text": "Legacy-named symbol `campLeagueHistory_v2` in scheduler_core_leagues.js:25"}, "properties": {"repobilityId": "d2c02da0ba469b1d", "scanner": "scanner-primary", "fingerprint": "046bf2dbaf13c38a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12bdb7eeed8349a7", "level": "none", "message": {"text": "Commented-code block (11 lines) in scheduler_core_leagues.js:4"}, "properties": {"repobilityId": "b372fbc4e29d8111", "scanner": "scanner-primary", "fingerprint": "12bdb7eeed8349a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87188a7a9fb2e287", "level": "none", "message": {"text": "Commented-code block (7 lines) in config.example.js:1"}, "properties": {"repobilityId": "c081181991ac34f5", "scanner": "scanner-primary", "fingerprint": "87188a7a9fb2e287", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb957f26f3c77ed7", "level": "note", "message": {"text": "Legacy-named symbol `campDailyData_v1` in midday_rain_stacker.js:681"}, "properties": {"repobilityId": "0c5db3382ec2d66a", "scanner": "scanner-primary", "fingerprint": "bb957f26f3c77ed7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9da69b080b5925b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in midday_rain_stacker.js:9"}, "properties": {"repobilityId": "04ca9dba68c887b5", "scanner": "scanner-primary", "fingerprint": "9da69b080b5925b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c67ac3ec034c492", "level": "none", "message": {"text": "Commented-code block (7 lines) in team_subdivisions_ui.js:1"}, "properties": {"repobilityId": "67d7f95ce59f80a4", "scanner": "scanner-primary", "fingerprint": "5c67ac3ec034c492", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23154bbff1797109", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 team_subdivisions_ui.js:587"}, "properties": {"repobilityId": "39eefa31e0f60b9a", "scanner": "scanner-primary", "fingerprint": "23154bbff1797109", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1c578005a6e47dc3", "level": "note", "message": {"text": "Legacy-named symbol `specialSubcategoryRegistry_v1` in special_activities.js:728"}, "properties": {"repobilityId": "f2bbb2b7484fb3e9", "scanner": "scanner-primary", "fingerprint": "1c578005a6e47dc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5648861a30a2987c", "level": "none", "message": {"text": "Commented-code block (16 lines) in special_activities.js:1"}, "properties": {"repobilityId": "ad68faec5d921a2e", "scanner": "scanner-primary", "fingerprint": "5648861a30a2987c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2303aefb247b6920", "level": "none", "message": {"text": "Commented-code block (9 lines) in rotation_cloud.js:63"}, "properties": {"repobilityId": "8598c61c6ccda48d", "scanner": "scanner-primary", "fingerprint": "2303aefb247b6920", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-933e436cf5d3a320", "level": "none", "message": {"text": "Commented-code block (5 lines) in mobile_touch_drag.js:6"}, "properties": {"repobilityId": "8ce9acfc7a0c870d", "scanner": "scanner-primary", "fingerprint": "933e436cf5d3a320", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}