{"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-8c932d69e2595dfb", "name": "Stray `console.log` in TS/JS \u2014 style-studio-public.js:539", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 style-studio-public.js:539"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-638757d2487e5833", "name": "TODO/FIXME marker in shipping code \u2014 notifications.js:495", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 notifications.js:495"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92653057f69e6aa9", "name": "Stray `console.log` in TS/JS \u2014 notifications.js:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 notifications.js:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d214f3e08741921d", "name": "Stray `console.log` in TS/JS \u2014 ride-avail.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 ride-avail.js:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91a8cf37ec358066", "name": "Stray `console.log` in TS/JS \u2014 aiOrchestrator.js:666", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 aiOrchestrator.js:666"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c3af723487fd190", "name": "Stray `console.log` in TS/JS \u2014 script.js:1622", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 script.js:1622"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01e4ca3dfe04f9c8", "name": "Stray `console.log` in TS/JS \u2014 calendar.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 calendar.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-f7ac05c9dbcb2ad0", "name": "Possible secret in salon-admin.html", "shortDescription": {"text": "Possible secret in salon-admin.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-379d0d4c3063d217", "name": "Insecure pattern 'document_write' in salon-admin.html:6005", "shortDescription": {"text": "Insecure pattern 'document_write' in salon-admin.html:6005"}, "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-bc99078831350193", "name": "Insecure pattern 'direct_innerhtml_assignment' in salon-admin.html:3419", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salon-admin.html:3419"}, "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-ef67cd926ed0e1b9", "name": "Possible secret in style-studio-public.js", "shortDescription": {"text": "Possible secret in style-studio-public.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-2354f2a2228ce286", "name": "Insecure pattern 'direct_innerhtml_assignment' in style-studio-public.js:646", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in style-studio-public.js:646"}, "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-49d8ca8f790afc16", "name": "Insecure pattern 'direct_innerhtml_assignment' in CLAUDE.md:263", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in CLAUDE.md:263"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ae7ca1fe66c31db", "name": "Insecure pattern 'direct_innerhtml_assignment' in ride-intake.js:397", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in ride-intake.js:397"}, "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-951fef9f0db7f4a1", "name": "Insecure pattern 'insert_adjacent_html' in ride-intake.js:406", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in ride-intake.js:406"}, "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-51143a310469a6fc", "name": "Possible secret in vendor-login.html", "shortDescription": {"text": "Possible secret in vendor-login.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-dbb8264a9844cf96", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-login.html:485", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-login.html:485"}, "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-e8e245816499267c", "name": "Possible secret in style-studio.html", "shortDescription": {"text": "Possible secret in style-studio.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-1fd3e08fc2424906", "name": "Possible secret in travel.html", "shortDescription": {"text": "Possible secret in travel.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-94e36dfaf2352660", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-pricing-page.js:466", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-pricing-page.js:466"}, "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-b6fa936b25510ca5", "name": "Possible secret in airport.html", "shortDescription": {"text": "Possible secret in airport.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-28a076a64dcb1219", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-subscription.js:300", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-subscription.js:300"}, "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-206d2adbc55dadc4", "name": "Possible secret in vendor-detail.html", "shortDescription": {"text": "Possible secret in vendor-detail.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-eabc06e9b5808c4e", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-detail.html:68", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-detail.html:68"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bea08b6da6deb61f", "name": "Possible secret in tracking.html", "shortDescription": {"text": "Possible secret in tracking.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-66282f78f99e70a2", "name": "Insecure pattern 'direct_innerhtml_assignment' in travel-booking.js:350", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in travel-booking.js:350"}, "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-843554eaf6ef8f20", "name": "Possible secret in testfirebase.html", "shortDescription": {"text": "Possible secret in testfirebase.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-56d0acbb53a813f0", "name": "Insecure pattern 'direct_innerhtml_assignment' in chat.js:1947", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chat.js:1947"}, "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-94d85b059f33542f", "name": "Possible secret in script.js", "shortDescription": {"text": "Possible secret in script.js"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0588b1cc2e844e50", "name": "Insecure pattern 'direct_innerhtml_assignment' in script.js:452", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in script.js:452"}, "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-1547f5ce8e62b648", "name": "Insecure pattern 'direct_innerhtml_assignment' in testmapapi.html:113", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in testmapapi.html:113"}, "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-1f8f216f6bf9d543", "name": "Possible secret in qr.html", "shortDescription": {"text": "Possible secret in qr.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-1cf995450fc722a7", "name": "Insecure pattern 'direct_innerhtml_assignment' in qr.html:654", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in qr.html:654"}, "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-095c94c1e1ca36a5", "name": "Insecure pattern 'direct_innerhtml_assignment' in driver-calendar.js:91", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in driver-calendar.js:91"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c32aa01972b9e8e3", "name": "Possible secret in vendor-admin.html", "shortDescription": {"text": "Possible secret in vendor-admin.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0a6ce167553d9b16", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-admin.html:2259", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-admin.html:2259"}, "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-91b2db260272e400", "name": "Possible secret in vendor-signup.html", "shortDescription": {"text": "Possible secret in vendor-signup.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-2e4adb6af10e67d3", "name": "Insecure pattern 'direct_innerhtml_assignment' in vendor-signup.html:481", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-signup.html:481"}, "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-7d1026472d762dfc", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-nav.js:137", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-nav.js:137"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ebe530fda409c94e", "name": "Insecure pattern 'direct_innerhtml_assignment' in owner-dashboard.html:243", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in owner-dashboard.html:243"}, "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-1499b75f9ab20da2", "name": "Possible secret in admin.html", "shortDescription": {"text": "Possible secret in admin.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a77b2e2ff80a9be0", "name": "Insecure pattern 'direct_innerhtml_assignment' in admin.html:1199", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin.html:1199"}, "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-f038e785c6a771e0", "name": "Insecure pattern 'direct_innerhtml_assignment' in driver-notif.js:120", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in driver-notif.js:120"}, "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-849fc9334bbc71db", "name": "Possible secret in security-alerts.html", "shortDescription": {"text": "Possible secret in security-alerts.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-08029d0f4ec303b5", "name": "Insecure pattern 'direct_innerhtml_assignment' in security-alerts.html:110", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in security-alerts.html:110"}, "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-722c66e5c34cf8af", "name": "Insecure pattern 'direct_innerhtml_assignment' in thankyou.html:385", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in thankyou.html:385"}, "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-457ecf8d95ca3d0a", "name": "Very large file: style-studio-public.js (2345 lines)", "shortDescription": {"text": "Very large file: style-studio-public.js (2345 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-dbe89bb00c3b81c2", "name": "Very large file: ride-intake.js (1859 lines)", "shortDescription": {"text": "Very large file: ride-intake.js (1859 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-098e75aed5b8bc87", "name": "Very large file: travel-booking.js (1133 lines)", "shortDescription": {"text": "Very large file: travel-booking.js (1133 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-ecc49bc5b7019a96", "name": "Very large file: chat.js (2166 lines)", "shortDescription": {"text": "Very large file: chat.js (2166 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-82f5d037d6b7b6b4", "name": "Very large file: script.js (3078 lines)", "shortDescription": {"text": "Very large file: script.js (3078 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-fb0b64287a1e8548", "name": "Very large file: workflowEngine.js (3143 lines)", "shortDescription": {"text": "Very large file: workflowEngine.js (3143 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 32 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 37 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-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-2679282aa1c484b5", "name": "Agent authority lacks a verifier contract: AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: AGENTS.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-9043935cd5743aea", "name": "Commented-code block (7 lines) in style-studio-public.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in style-studio-public.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-2584342677e6bd1d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 style-studio-public.js:1281", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 style-studio-public.js:1281"}, "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-514ef908156bd8ae", "name": "Legacy-named symbol `_initAutocompleteLegacy` in ride-intake.js:1201", "shortDescription": {"text": "Legacy-named symbol `_initAutocompleteLegacy` in ride-intake.js:1201"}, "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-86db0156431d597f", "name": "Commented-code block (5 lines) in ride-intake.js:519", "shortDescription": {"text": "Commented-code block (5 lines) in ride-intake.js:519"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-298b52369ab8dda2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 marketingEngine.js:555", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 marketingEngine.js:555"}, "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-dfb34d9393dda76c", "name": "Commented-code block (5 lines) in ai-engine.js:9", "shortDescription": {"text": "Commented-code block (5 lines) in ai-engine.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-4cc91d2e1d760d2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ai-engine.js:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ai-engine.js:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46985d47b0efcdcb", "name": "Commented-code block (5 lines) in travel-booking.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in travel-booking.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-896058b251c95796", "name": "Commented-code block (5 lines) in chat.js:191", "shortDescription": {"text": "Commented-code block (5 lines) in chat.js:191"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c68b87c62bf8340", "name": "Legacy-named symbol `ad_copy` in aiOrchestrator.js:68", "shortDescription": {"text": "Legacy-named symbol `ad_copy` in aiOrchestrator.js:68"}, "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-f3dcbfdd7be5babe", "name": "Commented-code block (7 lines) in aiOrchestrator.js:85", "shortDescription": {"text": "Commented-code block (7 lines) in aiOrchestrator.js:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8bc8a97b003ab80", "name": "`fetch()` without try/.catch or AbortSignal \u2014 aiOrchestrator.js:129", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 aiOrchestrator.js:129"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4bc6dde38a5b91de", "name": "Commented-code block (6 lines) in script.js:164", "shortDescription": {"text": "Commented-code block (6 lines) in script.js:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-337e5ce2a3e46f07", "name": "`fetch()` without try/.catch or AbortSignal \u2014 script.js:579", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 script.js:579"}, "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-7f46761781791d61", "name": "Commented-code block (18 lines) in driver-compliance.js:5", "shortDescription": {"text": "Commented-code block (18 lines) in driver-compliance.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-8749286f42dbd431", "name": "Commented-code block (7 lines) in owner-model.js:232", "shortDescription": {"text": "Commented-code block (7 lines) in owner-model.js:232"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b70ebe2374e290de", "name": "Commented-code block (5 lines) in pricing.js:27", "shortDescription": {"text": "Commented-code block (5 lines) in pricing.js:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17c1a8b1e2f55568", "name": "Commented-code block (6 lines) in travel-packages.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in travel-packages.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}}]}}, "automationDetails": {"id": "repobility/26916"}, "properties": {"repository": "johnntd/DuLichCali", "repoUrl": "https://github.com/johnntd/DuLichCali", "branch": "main"}, "results": [{"ruleId": "scanner-8c932d69e2595dfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 style-studio-public.js:539"}, "properties": {"repobilityId": "26086654726db908", "scanner": "scanner-primary", "fingerprint": "8c932d69e2595dfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-638757d2487e5833", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 notifications.js:495"}, "properties": {"repobilityId": "cb0921870f10621c", "scanner": "scanner-primary", "fingerprint": "638757d2487e5833", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-92653057f69e6aa9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 notifications.js:42"}, "properties": {"repobilityId": "6d02c0be08e76699", "scanner": "scanner-primary", "fingerprint": "92653057f69e6aa9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d214f3e08741921d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 ride-avail.js:125"}, "properties": {"repobilityId": "dc3c37074bc55ea3", "scanner": "scanner-primary", "fingerprint": "d214f3e08741921d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91a8cf37ec358066", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 aiOrchestrator.js:666"}, "properties": {"repobilityId": "8f6b01b3456bfc46", "scanner": "scanner-primary", "fingerprint": "91a8cf37ec358066", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c3af723487fd190", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 script.js:1622"}, "properties": {"repobilityId": "124bba370bb38401", "scanner": "scanner-primary", "fingerprint": "8c3af723487fd190", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-01e4ca3dfe04f9c8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 calendar.js:20"}, "properties": {"repobilityId": "b5c6337fccdd51ba", "scanner": "scanner-primary", "fingerprint": "01e4ca3dfe04f9c8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7ac05c9dbcb2ad0", "level": "error", "message": {"text": "Possible secret in salon-admin.html"}, "properties": {"repobilityId": "c9c4dc4ce9aeb8e6", "scanner": "scanner-primary", "fingerprint": "f7ac05c9dbcb2ad0", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salon-admin.html"}, "region": {"startLine": 3386}}}]}, {"ruleId": "scanner-f7ac05c9dbcb2ad0", "level": "error", "message": {"text": "Possible secret in salon-admin.html"}, "properties": {"repobilityId": "c9c4dc4ce9aeb8e6", "scanner": "scanner-primary", "fingerprint": "f7ac05c9dbcb2ad0", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salon-admin.html"}, "region": {"startLine": 7682}}}]}, {"ruleId": "scanner-379d0d4c3063d217", "level": "note", "message": {"text": "Insecure pattern 'document_write' in salon-admin.html:6005"}, "properties": {"repobilityId": "0482a879ee9f8dd5", "scanner": "scanner-primary", "fingerprint": "379d0d4c3063d217", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salon-admin.html"}, "region": {"startLine": 6005}}}]}, {"ruleId": "scanner-bc99078831350193", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salon-admin.html:3419"}, "properties": {"repobilityId": "af8fbf7c47290e8c", "scanner": "scanner-primary", "fingerprint": "bc99078831350193", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salon-admin.html"}, "region": {"startLine": 3419}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 131}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 273}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 277}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 415}}}]}, {"ruleId": "scanner-ef67cd926ed0e1b9", "level": "error", "message": {"text": "Possible secret in style-studio-public.js"}, "properties": {"repobilityId": "828195497c437838", "scanner": "scanner-primary", "fingerprint": "ef67cd926ed0e1b9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 419}}}]}, {"ruleId": "scanner-2354f2a2228ce286", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in style-studio-public.js:646"}, "properties": {"repobilityId": "219def04220cf306", "scanner": "scanner-primary", "fingerprint": "2354f2a2228ce286", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio-public.js"}, "region": {"startLine": 646}}}]}, {"ruleId": "scanner-49d8ca8f790afc16", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in CLAUDE.md:263"}, "properties": {"repobilityId": "79d9d59341ed1532", "scanner": "scanner-primary", "fingerprint": "49d8ca8f790afc16", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 263}}}]}, {"ruleId": "scanner-6ae7ca1fe66c31db", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in ride-intake.js:397"}, "properties": {"repobilityId": "de28ee28a3fde738", "scanner": "scanner-primary", "fingerprint": "6ae7ca1fe66c31db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ride-intake.js"}, "region": {"startLine": 397}}}]}, {"ruleId": "scanner-951fef9f0db7f4a1", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in ride-intake.js:406"}, "properties": {"repobilityId": "a2bb4c58aca3982e", "scanner": "scanner-primary", "fingerprint": "951fef9f0db7f4a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ride-intake.js"}, "region": {"startLine": 406}}}]}, {"ruleId": "scanner-51143a310469a6fc", "level": "error", "message": {"text": "Possible secret in vendor-login.html"}, "properties": {"repobilityId": "d1a9541a95c27f49", "scanner": "scanner-primary", "fingerprint": "51143a310469a6fc", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-login.html"}, "region": {"startLine": 315}}}]}, {"ruleId": "scanner-dbb8264a9844cf96", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-login.html:485"}, "properties": {"repobilityId": "00d9966c44558dcf", "scanner": "scanner-primary", "fingerprint": "dbb8264a9844cf96", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-login.html"}, "region": {"startLine": 485}}}]}, {"ruleId": "scanner-e8e245816499267c", "level": "error", "message": {"text": "Possible secret in style-studio.html"}, "properties": {"repobilityId": "551340716403cb44", "scanner": "scanner-primary", "fingerprint": "e8e245816499267c", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "style-studio.html"}, "region": {"startLine": 184}}}]}, {"ruleId": "scanner-1fd3e08fc2424906", "level": "error", "message": {"text": "Possible secret in travel.html"}, "properties": {"repobilityId": "80a880801a9ddc07", "scanner": "scanner-primary", "fingerprint": "1fd3e08fc2424906", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "travel.html"}, "region": {"startLine": 545}}}]}, {"ruleId": "scanner-94e36dfaf2352660", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-pricing-page.js:466"}, "properties": {"repobilityId": "de06c43dd23a4c07", "scanner": "scanner-primary", "fingerprint": "94e36dfaf2352660", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-pricing-page.js"}, "region": {"startLine": 466}}}]}, {"ruleId": "scanner-b6fa936b25510ca5", "level": "error", "message": {"text": "Possible secret in airport.html"}, "properties": {"repobilityId": "44e4295d3284af0d", "scanner": "scanner-primary", "fingerprint": "b6fa936b25510ca5", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "airport.html"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-28a076a64dcb1219", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-subscription.js:300"}, "properties": {"repobilityId": "7829cc300fdfd7f9", "scanner": "scanner-primary", "fingerprint": "28a076a64dcb1219", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-subscription.js"}, "region": {"startLine": 300}}}]}, {"ruleId": "scanner-206d2adbc55dadc4", "level": "error", "message": {"text": "Possible secret in vendor-detail.html"}, "properties": {"repobilityId": "9fd78b1aff123d96", "scanner": "scanner-primary", "fingerprint": "206d2adbc55dadc4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-detail.html"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-eabc06e9b5808c4e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-detail.html:68"}, "properties": {"repobilityId": "784b89b531467337", "scanner": "scanner-primary", "fingerprint": "eabc06e9b5808c4e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-detail.html"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-bea08b6da6deb61f", "level": "error", "message": {"text": "Possible secret in tracking.html"}, "properties": {"repobilityId": "29c72d2c632dad88", "scanner": "scanner-primary", "fingerprint": "bea08b6da6deb61f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tracking.html"}, "region": {"startLine": 563}}}]}, {"ruleId": "scanner-66282f78f99e70a2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in travel-booking.js:350"}, "properties": {"repobilityId": "922ced1a02f8cd7b", "scanner": "scanner-primary", "fingerprint": "66282f78f99e70a2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "travel-booking.js"}, "region": {"startLine": 350}}}]}, {"ruleId": "scanner-843554eaf6ef8f20", "level": "error", "message": {"text": "Possible secret in testfirebase.html"}, "properties": {"repobilityId": "8a882457e0b2fdc6", "scanner": "scanner-primary", "fingerprint": "843554eaf6ef8f20", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "testfirebase.html"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-56d0acbb53a813f0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chat.js:1947"}, "properties": {"repobilityId": "80e88cb4387b6262", "scanner": "scanner-primary", "fingerprint": "56d0acbb53a813f0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chat.js"}, "region": {"startLine": 1947}}}]}, {"ruleId": "scanner-94d85b059f33542f", "level": "error", "message": {"text": "Possible secret in script.js"}, "properties": {"repobilityId": "77645d3bc6ab2c0d", "scanner": "scanner-primary", "fingerprint": "94d85b059f33542f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "script.js"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-0588b1cc2e844e50", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in script.js:452"}, "properties": {"repobilityId": "6579c6710200525f", "scanner": "scanner-primary", "fingerprint": "0588b1cc2e844e50", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "script.js"}, "region": {"startLine": 452}}}]}, {"ruleId": "scanner-1547f5ce8e62b648", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in testmapapi.html:113"}, "properties": {"repobilityId": "8ddd4bb09af58ad7", "scanner": "scanner-primary", "fingerprint": "1547f5ce8e62b648", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "testmapapi.html"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-1f8f216f6bf9d543", "level": "error", "message": {"text": "Possible secret in qr.html"}, "properties": {"repobilityId": "4100eeb575522d75", "scanner": "scanner-primary", "fingerprint": "1f8f216f6bf9d543", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "qr.html"}, "region": {"startLine": 733}}}]}, {"ruleId": "scanner-1cf995450fc722a7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in qr.html:654"}, "properties": {"repobilityId": "b15f032c05e535f5", "scanner": "scanner-primary", "fingerprint": "1cf995450fc722a7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "qr.html"}, "region": {"startLine": 654}}}]}, {"ruleId": "scanner-095c94c1e1ca36a5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in driver-calendar.js:91"}, "properties": {"repobilityId": "ae8e8777eac0ec01", "scanner": "scanner-primary", "fingerprint": "095c94c1e1ca36a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "driver-calendar.js"}, "region": {"startLine": 91}}}]}, {"ruleId": "scanner-c32aa01972b9e8e3", "level": "error", "message": {"text": "Possible secret in vendor-admin.html"}, "properties": {"repobilityId": "097828f19d61d17b", "scanner": "scanner-primary", "fingerprint": "c32aa01972b9e8e3", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-admin.html"}, "region": {"startLine": 2109}}}]}, {"ruleId": "scanner-0a6ce167553d9b16", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-admin.html:2259"}, "properties": {"repobilityId": "805c5ee794dd73c1", "scanner": "scanner-primary", "fingerprint": "0a6ce167553d9b16", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-admin.html"}, "region": {"startLine": 2259}}}]}, {"ruleId": "scanner-91b2db260272e400", "level": "error", "message": {"text": "Possible secret in vendor-signup.html"}, "properties": {"repobilityId": "e1cef3b54548a63b", "scanner": "scanner-primary", "fingerprint": "91b2db260272e400", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-signup.html"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-2e4adb6af10e67d3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in vendor-signup.html:481"}, "properties": {"repobilityId": "5cfe12172c58abbf", "scanner": "scanner-primary", "fingerprint": "2e4adb6af10e67d3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "vendor-signup.html"}, "region": {"startLine": 481}}}]}, {"ruleId": "scanner-7d1026472d762dfc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-nav.js:137"}, "properties": {"repobilityId": "f5df8c49bbcc9402", "scanner": "scanner-primary", "fingerprint": "7d1026472d762dfc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-nav.js"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-ebe530fda409c94e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in owner-dashboard.html:243"}, "properties": {"repobilityId": "cf59dc8cc736be75", "scanner": "scanner-primary", "fingerprint": "ebe530fda409c94e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "owner-dashboard.html"}, "region": {"startLine": 243}}}]}, {"ruleId": "scanner-1499b75f9ab20da2", "level": "error", "message": {"text": "Possible secret in admin.html"}, "properties": {"repobilityId": "43d087f025c26347", "scanner": "scanner-primary", "fingerprint": "1499b75f9ab20da2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin.html"}, "region": {"startLine": 1107}}}]}, {"ruleId": "scanner-1499b75f9ab20da2", "level": "error", "message": {"text": "Possible secret in admin.html"}, "properties": {"repobilityId": "43d087f025c26347", "scanner": "scanner-primary", "fingerprint": "1499b75f9ab20da2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin.html"}, "region": {"startLine": 2269}}}]}, {"ruleId": "scanner-a77b2e2ff80a9be0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin.html:1199"}, "properties": {"repobilityId": "6ce12d2fb0d90b99", "scanner": "scanner-primary", "fingerprint": "a77b2e2ff80a9be0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin.html"}, "region": {"startLine": 1199}}}]}, {"ruleId": "scanner-f038e785c6a771e0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in driver-notif.js:120"}, "properties": {"repobilityId": "7057ee31aff3be25", "scanner": "scanner-primary", "fingerprint": "f038e785c6a771e0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "driver-notif.js"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-849fc9334bbc71db", "level": "error", "message": {"text": "Possible secret in security-alerts.html"}, "properties": {"repobilityId": "3fb89aeded8c1378", "scanner": "scanner-primary", "fingerprint": "849fc9334bbc71db", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "security-alerts.html"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-08029d0f4ec303b5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in security-alerts.html:110"}, "properties": {"repobilityId": "dfcd3172f61b84ad", "scanner": "scanner-primary", "fingerprint": "08029d0f4ec303b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "security-alerts.html"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-722c66e5c34cf8af", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in thankyou.html:385"}, "properties": {"repobilityId": "325b823b592f1d58", "scanner": "scanner-primary", "fingerprint": "722c66e5c34cf8af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "thankyou.html"}, "region": {"startLine": 385}}}]}, {"ruleId": "scanner-457ecf8d95ca3d0a", "level": "note", "message": {"text": "Very large file: style-studio-public.js (2345 lines)"}, "properties": {"repobilityId": "7c99564ae65e47f1", "scanner": "scanner-primary", "fingerprint": "457ecf8d95ca3d0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dbe89bb00c3b81c2", "level": "note", "message": {"text": "Very large file: ride-intake.js (1859 lines)"}, "properties": {"repobilityId": "a98e601c1dd656d6", "scanner": "scanner-primary", "fingerprint": "dbe89bb00c3b81c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-098e75aed5b8bc87", "level": "note", "message": {"text": "Very large file: travel-booking.js (1133 lines)"}, "properties": {"repobilityId": "c2640b355d6dad9e", "scanner": "scanner-primary", "fingerprint": "098e75aed5b8bc87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ecc49bc5b7019a96", "level": "note", "message": {"text": "Very large file: chat.js (2166 lines)"}, "properties": {"repobilityId": "f656ffc00e8d73b9", "scanner": "scanner-primary", "fingerprint": "ecc49bc5b7019a96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-82f5d037d6b7b6b4", "level": "note", "message": {"text": "Very large file: script.js (3078 lines)"}, "properties": {"repobilityId": "aeaad66708635a8c", "scanner": "scanner-primary", "fingerprint": "82f5d037d6b7b6b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb0b64287a1e8548", "level": "note", "message": {"text": "Very large file: workflowEngine.js (3143 lines)"}, "properties": {"repobilityId": "b46e3dc87c11f5c9", "scanner": "scanner-primary", "fingerprint": "fb0b64287a1e8548", "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": "a2bd838f2cb8d00f", "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": "7b861d97f7d5e091", "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": "9d659a62a69805bd", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "35250165182b009c", "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": "7bfa7f8f71704379", "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": "e6d50b160490ff0a", "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-2679282aa1c484b5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: AGENTS.md"}, "properties": {"repobilityId": "27d579812e6be614", "scanner": "scanner-primary", "fingerprint": "2679282aa1c484b5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9043935cd5743aea", "level": "none", "message": {"text": "Commented-code block (7 lines) in style-studio-public.js:5"}, "properties": {"repobilityId": "dae3231138213ad3", "scanner": "scanner-primary", "fingerprint": "9043935cd5743aea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2584342677e6bd1d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 style-studio-public.js:1281"}, "properties": {"repobilityId": "9a5ea6730badf1fc", "scanner": "scanner-primary", "fingerprint": "2584342677e6bd1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-514ef908156bd8ae", "level": "note", "message": {"text": "Legacy-named symbol `_initAutocompleteLegacy` in ride-intake.js:1201"}, "properties": {"repobilityId": "4acf0d4790f6154e", "scanner": "scanner-primary", "fingerprint": "514ef908156bd8ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-86db0156431d597f", "level": "none", "message": {"text": "Commented-code block (5 lines) in ride-intake.js:519"}, "properties": {"repobilityId": "2684aa6c63545f01", "scanner": "scanner-primary", "fingerprint": "86db0156431d597f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-298b52369ab8dda2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 marketingEngine.js:555"}, "properties": {"repobilityId": "44c1809f9027b1e3", "scanner": "scanner-primary", "fingerprint": "298b52369ab8dda2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfb34d9393dda76c", "level": "none", "message": {"text": "Commented-code block (5 lines) in ai-engine.js:9"}, "properties": {"repobilityId": "62dd0a23d16015ca", "scanner": "scanner-primary", "fingerprint": "dfb34d9393dda76c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cc91d2e1d760d2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ai-engine.js:60"}, "properties": {"repobilityId": "9a98e96f19afa1c9", "scanner": "scanner-primary", "fingerprint": "4cc91d2e1d760d2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-46985d47b0efcdcb", "level": "none", "message": {"text": "Commented-code block (5 lines) in travel-booking.js:1"}, "properties": {"repobilityId": "4ebf97067d8b8e72", "scanner": "scanner-primary", "fingerprint": "46985d47b0efcdcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-896058b251c95796", "level": "none", "message": {"text": "Commented-code block (5 lines) in chat.js:191"}, "properties": {"repobilityId": "765d7c7e8bae97f6", "scanner": "scanner-primary", "fingerprint": "896058b251c95796", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c68b87c62bf8340", "level": "note", "message": {"text": "Legacy-named symbol `ad_copy` in aiOrchestrator.js:68"}, "properties": {"repobilityId": "61083604b2bf4072", "scanner": "scanner-primary", "fingerprint": "4c68b87c62bf8340", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f3dcbfdd7be5babe", "level": "none", "message": {"text": "Commented-code block (7 lines) in aiOrchestrator.js:85"}, "properties": {"repobilityId": "a46bf7b48119b0eb", "scanner": "scanner-primary", "fingerprint": "f3dcbfdd7be5babe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8bc8a97b003ab80", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 aiOrchestrator.js:129"}, "properties": {"repobilityId": "438c3fbc4bd12967", "scanner": "scanner-primary", "fingerprint": "d8bc8a97b003ab80", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bc6dde38a5b91de", "level": "none", "message": {"text": "Commented-code block (6 lines) in script.js:164"}, "properties": {"repobilityId": "7c0bf9a0c2c468aa", "scanner": "scanner-primary", "fingerprint": "4bc6dde38a5b91de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-337e5ce2a3e46f07", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 script.js:579"}, "properties": {"repobilityId": "620eb3950335f010", "scanner": "scanner-primary", "fingerprint": "337e5ce2a3e46f07", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f46761781791d61", "level": "none", "message": {"text": "Commented-code block (18 lines) in driver-compliance.js:5"}, "properties": {"repobilityId": "7d2b09487c0d4087", "scanner": "scanner-primary", "fingerprint": "7f46761781791d61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8749286f42dbd431", "level": "none", "message": {"text": "Commented-code block (7 lines) in owner-model.js:232"}, "properties": {"repobilityId": "2c83c95e8eee2acd", "scanner": "scanner-primary", "fingerprint": "8749286f42dbd431", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b70ebe2374e290de", "level": "none", "message": {"text": "Commented-code block (5 lines) in pricing.js:27"}, "properties": {"repobilityId": "ccd1e41dd884853f", "scanner": "scanner-primary", "fingerprint": "b70ebe2374e290de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17c1a8b1e2f55568", "level": "none", "message": {"text": "Commented-code block (6 lines) in travel-packages.js:1"}, "properties": {"repobilityId": "e5a856aa89c18818", "scanner": "scanner-primary", "fingerprint": "17c1a8b1e2f55568", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}