{"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-80d4c2a942ac6a5e", "name": "Icon-only button without accessible name \u2014 cart.js:1287", "shortDescription": {"text": "Icon-only button without accessible name \u2014 cart.js:1287"}, "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-d434bec4029b4c4a", "name": "Stray `console.log` in TS/JS \u2014 test/mast-entity.test.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-entity.test.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93d855f2ec808c65", "name": "Stray `console.log` in TS/JS \u2014 test/jobs-transitions.test.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/jobs-transitions.test.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f71a2171911372e", "name": "Stray `console.log` in TS/JS \u2014 test/wizard-launch-never-blocks.test.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/wizard-launch-never-blocks.test.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-be2cc8c8180d76f2", "name": "Stray `console.log` in TS/JS \u2014 test/lint-ratchet.test.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/lint-ratchet.test.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-57a58f2c5379f699", "name": "Stray `console.log` in TS/JS \u2014 test/business-entity-feature-mode.test.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/business-entity-feature-mode.test.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1617065f1d1a407e", "name": "Stray `console.log` in TS/JS \u2014 test/brand-sync-business-name.test.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/brand-sync-business-name.test.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-fde13118a32106db", "name": "Stray `console.log` in TS/JS \u2014 test/guided-header-branch.test.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/guided-header-branch.test.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-6ed082d9582cc21b", "name": "Stray `console.log` in TS/JS \u2014 test/workflow-overrides.test.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/workflow-overrides.test.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-e41ab0b3136cb112", "name": "Stray `console.log` in TS/JS \u2014 test/customer-filters.test.js:137", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/customer-filters.test.js:137"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1adc0a255244ab70", "name": "Stray `console.log` in TS/JS \u2014 test/mast-ui.test.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-ui.test.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebc5840ef7afca56", "name": "Stray `console.log` in TS/JS \u2014 test/mast-io.test.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-io.test.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5a08f5679e48a2c", "name": "Stray `console.log` in TS/JS \u2014 shared/business-entity-constants.js:595", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 shared/business-entity-constants.js:595"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9adeda41649369fc", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-hardcoded-ids.js:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-hardcoded-ids.js:115"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8b6dd7c104f2b85", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-mode-set.js:196", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-mode-set.js:196"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c36c92e9691eebe", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-fk.js:155", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-fk.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-63d052a5b7bf9075", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-wholesale-account-fk.js:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-wholesale-account-fk.js:151"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f65448a56098d201", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-module-info.js:144", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-module-info.js:144"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-528f2d4442ce8250", "name": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-entities.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-entities.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-c1685551ce48e8af", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-listen-callbacks.js:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-listen-callbacks.js:130"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdc83e3646da506d", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-design-tokens.js:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-design-tokens.js:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e6e39d67246e148", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-mastdb.js:126", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-mastdb.js:126"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a75b8065a435c3fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/bootstrap-qbo-realm-index.js:137", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bootstrap-qbo-realm-index.js:137"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e026aa3af80cee81", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-item-bridge.js:144", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-item-bridge.js:144"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-089ec3b9b87e9b37", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-cache-bust.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-cache-bust.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-f1844472a52991d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-syntax.js:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-syntax.js:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9aa3f961d1161582", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-snapval.js:120", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-snapval.js:120"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51e6b2c61b882c93", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-workflows.js:67", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-workflows.js:67"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-88a604d83c5c71d9", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-rbac.js:169", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-rbac.js:169"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4dff02939e238e2", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-customer-writes.js:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-customer-writes.js:80"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-685f2c6421f5260b", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-debug-pii-console.js:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-debug-pii-console.js:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9a716c79d5ab5a8", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-unbounded-read.js:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-unbounded-read.js:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9fd68e80c2c0781", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-coin-ratio.js:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-coin-ratio.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-b34e197ecff3c3b2", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-readiness-parity.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-readiness-parity.js:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc99b9a1864e70b6", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-entities.js:184", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-entities.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-887bba329541b0c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/migrate-refs.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-refs.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-d228258b18c4c454", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-v2-standard.js:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-v2-standard.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-39ec817552cbbd2e", "name": "Stray `console.log` in TS/JS \u2014 scripts/lint-ux-standards.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-ux-standards.js:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da1c0afdacd4894d", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:136"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f6d6503967475f2", "name": "Stray `console.log` in TS/JS \u2014 scripts/capture-modes.js:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/capture-modes.js:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ca1f98ee73737be", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-customer-portfolio-quadrant.js:166", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-customer-portfolio-quadrant.js:166"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a82fc9b062a80c89", "name": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-events-db.js:278", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-events-db.js:278"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-598b330325fb790a", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-day-close-v1.js:206", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-day-close-v1.js:206"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c5894bdd7f66f7f", "name": "Icon-only button without accessible name \u2014 app/modules/customers.js:919", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/customers.js:919"}, "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-2e41f8b246735b08", "name": "Stray `console.log` in TS/JS \u2014 app/modules/customers.js:2456", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/customers.js:2456"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f68b67f6716c217c", "name": "Stray `console.log` in TS/JS \u2014 app/modules/accounting.js:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/accounting.js:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2b76dba26bec274", "name": "Icon-only button without accessible name \u2014 app/modules/website.js:2866", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/website.js:2866"}, "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-32aef60a8a6555e2", "name": "Stray `console.log` in TS/JS \u2014 app/modules/website.js:2533", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/website.js:2533"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-153f4b3fe1f9dd46", "name": "Icon-only button without accessible name \u2014 app/modules/lookbooks.js:441", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/lookbooks.js:441"}, "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-7ba4b81241be5ed9", "name": "Icon-only button without accessible name \u2014 app/modules/sales.js:1531", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/sales.js:1531"}, "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-1a64a5a43eb864cf", "name": "Icon-only button without accessible name \u2014 app/modules/team.js:1356", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/team.js:1356"}, "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-2f8a5aed886d0223", "name": "Icon-only button without accessible name \u2014 app/modules/blog.js:558", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/blog.js:558"}, "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-d3bf11485edd0d2e", "name": "Icon-only button without accessible name \u2014 app/modules/maker.js:1710", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/maker.js:1710"}, "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-8db85c9cb330509b", "name": "TODO/FIXME marker in shipping code \u2014 app/modules/maker.js:3444", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/modules/maker.js:3444"}, "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-6d023b7500c9f095", "name": "Stray `console.log` in TS/JS \u2014 app/modules/maker.js:3417", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/maker.js:3417"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d9cbe91af9b19fe", "name": "Stray `console.log` in TS/JS \u2014 app/modules/book.js:4011", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/book.js:4011"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a97e27df3d0bd7a7", "name": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 app/modules/book.js:210", "shortDescription": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 app/modules/book.js:210"}, "fullDescription": {"text": "React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet.\n\nWhy: P-H in CHECKLIST.md \u2014 vendor edge labels bleed white through a dark canvas.\nRule id: fq.edge-label.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c41030a4443d12b", "name": "Icon-only button without accessible name \u2014 app/modules/stories-v2.js:320", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/stories-v2.js:320"}, "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-26fc978713800f35", "name": "Icon-only button without accessible name \u2014 app/modules/production.js:687", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/production.js:687"}, "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-f768e66bf24f3107", "name": "Stray `console.log` in TS/JS \u2014 app/modules/production.js:882", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/production.js:882"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cdaced97af2ce6ca", "name": "Icon-only button without accessible name \u2014 app/modules/show-light.js:772", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/show-light.js:772"}, "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-cf6a66e44301467a", "name": "Icon-only button without accessible name \u2014 app/modules/trips.js:1567", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/trips.js:1567"}, "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-496583a8f34c3e10", "name": "Icon-only button without accessible name \u2014 app/modules/newsletter.js:962", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/newsletter.js:962"}, "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-17d16756f5f11792", "name": "Icon-only button without accessible name \u2014 app/modules/shows.js:943", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/shows.js:943"}, "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-5a175caaf95fc3ac", "name": "Icon-only button without accessible name \u2014 app/modules/finance.js:1427", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/modules/finance.js:1427"}, "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-ee1e81fe002ab6b3", "name": "TODO/FIXME marker in shipping code \u2014 app/modules/finance.js:2814", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/modules/finance.js:2814"}, "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-97ccb41fd2fec6e8", "name": "Stray `console.log` in TS/JS \u2014 app/modules/workflows/workflow-engine.js:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/workflows/workflow-engine.js:114"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6ce268c424a8540", "name": "Stray `console.log` in TS/JS \u2014 show/show.js:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 show/show.js:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bcfec4952ff7a1b4", "name": "Privileged port 50 in use", "shortDescription": {"text": "Privileged port 50 in use"}, "fullDescription": {"text": "Port 50 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc8c9667de51bf8f", "name": "Insecure pattern 'direct_innerhtml_assignment' in survey.html:372", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in survey.html:372"}, "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-ed9be1b8d35cc496", "name": "Insecure pattern 'direct_innerhtml_assignment' in return-shipped.html:228", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in return-shipped.html:228"}, "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-0efaa7b4f4538564", "name": "Insecure pattern 'direct_innerhtml_assignment' in storefront-tenant.js:165", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-tenant.js:165"}, "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-d055beacf6f98a0a", "name": "Insecure pattern 'direct_innerhtml_assignment' in checkout.js:418", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout.js:418"}, "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-7df0c5268d174531", "name": "Insecure pattern 'direct_innerhtml_assignment' in schema-org.js:327", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schema-org.js:327"}, "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-a2089eefe6aed0bc", "name": "Insecure pattern 'direct_innerhtml_assignment' in product.html:1123", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in product.html:1123"}, "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-e5a342fd68152976", "name": "Insecure pattern 'insert_adjacent_html' in product.html:2060", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in product.html:2060"}, "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-05d3114b58874762", "name": "Insecure pattern 'direct_innerhtml_assignment' in classes.html:456", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in classes.html:456"}, "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-556075d643cc7169", "name": "Insecure pattern 'direct_innerhtml_assignment' in claim-coupon.html:385", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in claim-coupon.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-a75882c6c4c15c1a", "name": "Insecure pattern 'direct_innerhtml_assignment' in my-passes.html:253", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-passes.html:253"}, "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-fa1e20b69d1fbaf7", "name": "Insecure pattern 'direct_innerhtml_assignment' in tenant-brand.js:299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tenant-brand.js:299"}, "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-77a2b93b31bc7ed5", "name": "Insecure pattern 'direct_innerhtml_assignment' in terms.html:185", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in terms.html:185"}, "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-75d12113e49cfec7", "name": "Insecure pattern 'direct_innerhtml_assignment' in wholesale.html:526", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wholesale.html:526"}, "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-2b06feaa9db412aa", "name": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1849", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1849"}, "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-4b1a2bf4e7147f74", "name": "Insecure pattern 'direct_innerhtml_assignment' in membership.html:283", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in membership.html:283"}, "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-06b3932b859c275e", "name": "Insecure pattern 'direct_innerhtml_assignment' in feedback-widget.js:186", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in feedback-widget.js:186"}, "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-f92ce9dc68f16497", "name": "Insecure pattern 'direct_innerhtml_assignment' in storefront-nav.js:214", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-nav.js:214"}, "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-37231e3eb29786bf", "name": "Insecure pattern 'document_write' in schedule.html:331", "shortDescription": {"text": "Insecure pattern 'document_write' in schedule.html:331"}, "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-aa0a12ffb6d3a11b", "name": "Insecure pattern 'direct_innerhtml_assignment' in schedule.html:510", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule.html:510"}, "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-4495983bd68221d7", "name": "Insecure pattern 'direct_innerhtml_assignment' in storefront-theme.js:311", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-theme.js:311"}, "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-2da7f64f6ba7e976", "name": "Insecure pattern 'direct_innerhtml_assignment' in cart.js:584", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cart.js:584"}, "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-ed7f1c73129e4b51", "name": "Insecure pattern 'direct_innerhtml_assignment' in shop.html:688", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shop.html:688"}, "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-12e0380ecdcba822", "name": "Insecure pattern 'direct_innerhtml_assignment' in commission.html:633", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in commission.html: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-08fa890e53df5f51", "name": "Insecure pattern 'direct_innerhtml_assignment' in about.html:520", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in about.html:520"}, "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-582301a33eeaaa41", "name": "Insecure pattern 'direct_innerhtml_assignment' in waiver.html:134", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in waiver.html:134"}, "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-3b5f4c22c8b60e80", "name": "Insecure pattern 'direct_innerhtml_assignment' in manage-seats.html:299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in manage-seats.html:299"}, "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-219feefc6be24a5f", "name": "Insecure pattern 'direct_innerhtml_assignment' in my-wallet.html:254", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-wallet.html:254"}, "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-945581c26b662506", "name": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:1219", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:1219"}, "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-efaa840176c78c8f", "name": "Insecure pattern 'direct_outerhtml_assignment' in orders.html:1754", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in orders.html:1754"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94da9bd23b01457b", "name": "Insecure pattern 'direct_innerhtml_assignment' in redeem-gift-card.html:371", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redeem-gift-card.html:371"}, "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-30d74566c7f7b17f", "name": "Insecure pattern 'direct_innerhtml_assignment' in cancel-booking.html:290", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cancel-booking.html:290"}, "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-2b92a17eac360b16", "name": "Insecure pattern 'direct_innerhtml_assignment' in policies.html:353", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in policies.html:353"}, "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-87326ddc9ad9113c", "name": "Insecure pattern 'direct_innerhtml_assignment' in gift-cards.html:376", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in gift-cards.html:376"}, "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-d8473a0f8f3b772e", "name": "Insecure pattern 'direct_innerhtml_assignment' in my-classes.html:533", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-classes.html:533"}, "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-cf49c3ab79455941", "name": "Insecure pattern 'direct_innerhtml_assignment' in share-widget.js:57", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in share-widget.js:57"}, "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-8fcddba71041e81f", "name": "Insecure pattern 'direct_innerhtml_assignment' in customer-statement.html:204", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in customer-statement.html:204"}, "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-719d64b4138d362b", "name": "Insecure pattern 'direct_innerhtml_assignment' in class-detail.html:494", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in class-detail.html:494"}, "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-c7e558bc90f05679", "name": "Insecure pattern 'direct_innerhtml_assignment' in blog/index.html:563", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in blog/index.html:563"}, "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-1ab3301f7b6398c8", "name": "Insecure pattern 'direct_innerhtml_assignment' in blog/post.html:284", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in blog/post.html:284"}, "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-c1344f046c561f62", "name": "Insecure pattern 'direct_innerhtml_assignment' in events/events.js:360", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in events/events.js:360"}, "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-0d8ada746e95a65a", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/products-v2-mock.html:275", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/products-v2-mock.html:275"}, "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-68dc3053aa13c92f", "name": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/guided-record-mock.html:207", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/guided-record-mock.html:207"}, "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-946ae6260013a80d", "name": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-ui.js:55", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-ui.js:55"}, "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-bcb7832862702939", "name": "Insecure pattern 'insert_adjacent_html' in shared/mast-ui.js:528", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in shared/mast-ui.js:528"}, "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-bc09fc37a70b4b3d", "name": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-entity.js:443", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-entity.js:443"}, "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-5266785cb283798a", "name": "Insecure pattern 'node_child_process' in scripts/backfill-mode-set.js:25", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-mode-set.js:25"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c5affb196f9d08cf", "name": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-fk.js:38", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-fk.js:38"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f60661445c716532", "name": "Insecure pattern 'node_child_process' in scripts/backfill-wholesale-account-fk.js:33", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-wholesale-account-fk.js:33"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-525d68e2839d99f3", "name": "Insecure pattern 'node_child_process' in scripts/bootstrap-qbo-realm-index.js:32", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/bootstrap-qbo-realm-index.js:32"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e94117bd5955fed", "name": "Insecure pattern 'direct_innerhtml_assignment' in scripts/scaffold-v2-module.mjs:137", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scripts/scaffold-v2-module.mjs: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-71be33ec71f1ccbc", "name": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-item-bridge.js:40", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-item-bridge.js:40"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89f79fce2c716407", "name": "Insecure pattern 'node_child_process' in scripts/lint-cache-bust.js:37", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/lint-cache-bust.js:37"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ea1d42c5ef45dc8", "name": "Insecure pattern 'node_child_process' in scripts/fix-snapval.js:128", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fix-snapval.js:128"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65e0f779f0c5a215", "name": "Insecure pattern 'node_child_process' in scripts/migrate-coin-ratio.js:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/migrate-coin-ratio.js:20"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fad3e50ae2dec926", "name": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-entities.js:40", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-entities.js:40"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-140eee5d2e38fce6", "name": "Possible secret in scripts/register-tenant.sh", "shortDescription": {"text": "Possible secret in scripts/register-tenant.sh"}, "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-279e77d35c8a44d4", "name": "Insecure pattern 'node_child_process' in scripts/migrate-refs.js:399", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/migrate-refs.js:399"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30586fc965952c02", "name": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-customer-vendor-bridge.js:32", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-customer-vendor-bridge.js:32"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-861d3d43a453d479", "name": "Insecure pattern 'node_child_process' in scripts/backfill-customer-portfolio-quadrant.js:40", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-customer-portfolio-quadrant.js:40"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7919ae5e0326b10", "name": "Insecure pattern 'node_child_process' in scripts/backfill-day-close-v1.js:43", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-day-close-v1.js:43"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d0f1fb8bb03a4cd2", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/gift-cards-v2.js:191", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/gift-cards-v2.js:191"}, "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-71e65d4d6f54a6da", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wallet-v2.js:186", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wallet-v2.js:186"}, "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-4b54d8d68e604683", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips-v2.js:270", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips-v2.js:270"}, "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-2b36a9184c7dba80", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers.js:232", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers.js:232"}, "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-7593a74c4d773a75", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/accounting.js:82", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/accounting.js:82"}, "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-48280f23e93d5732", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/passes-v2.js:389", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/passes-v2.js:389"}, "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-a5202c438c8306c4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/website.js:335", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/website.js:335"}, "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-37e6490d19331a59", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar.js:149", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar.js:149"}, "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-ea3ae9106491598b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-faqs-v2.js:266", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-faqs-v2.js:266"}, "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-b506c73d280b80c0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks.js:140", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks.js:140"}, "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-86c8ec562f44da98", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks.js:504", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks.js:504"}, "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-0db0bc5a1c0349ea", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-expenses-v2.js:306", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-expenses-v2.js:306"}, "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-a5ca652d7a7bd640", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions.js:115", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions.js:115"}, "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-d15a96eff2a3d2e1", "name": "Insecure pattern 'document_write' in app/modules/sales.js:2607", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/sales.js:2607"}, "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-5468dd27d4bcaf58", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales.js:216", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales.js:216"}, "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-4b972c71122c7a8f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio-v2.js:352", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio-v2.js:352"}, "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-a9fd1375a25063df", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns-v2.js:148", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns-v2.js:148"}, "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-9acd2c52bc8cc2bf", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team.js:202", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team.js:202"}, "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-45f23a0c29b83a6c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment.js:142", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment.js:142"}, "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-1279873aa3ed4af4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-config-v2.js:523", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-config-v2.js:523"}, "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-4a8dcd52f4a63a83", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/rma-v2.js:194", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/rma-v2.js:194"}, "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-9034c399ccbee2ae", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog.js:212", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog.js:212"}, "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-f1db5af431f12d62", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand-v2.js:121", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand-v2.js:121"}, "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-8ba306ac6ec937ff", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/duplicates-v2.js:74", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/duplicates-v2.js:74"}, "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-4bbbfe7f4ab1ac2a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-v2.js:323", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-v2.js:323"}, "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-a0bf25bbf64a3195", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/analytics-v2.js:160", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/analytics-v2.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-8baee586d51d8dca", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-portfolio-v2.js:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-portfolio-v2.js:52"}, "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-c5e4fe1819c4b028", "name": "Insecure pattern 'document_write' in app/modules/procurement-v2.js:513", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/procurement-v2.js:513"}, "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-aefd699086daf37a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement-v2.js:431", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement-v2.js:431"}, "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-069c3ef76cf9de2d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-surveys-v2.js:473", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-surveys-v2.js:473"}, "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-ef6ecb2fe01d8494", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-reviews-v2.js:326", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-reviews-v2.js:326"}, "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-bc25187e8093ecf6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers-v2.js:310", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers-v2.js:310"}, "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-caa0c28db034a8c8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/maker.js:1735", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/maker.js:1735"}, "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-97f2f2bfa39d3e4d", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/maker.js:2566", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/maker.js:2566"}, "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-5a8f61768611ebd9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-feedback.js:398", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-feedback.js:398"}, "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-de3347108d3f9943", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders.js:412", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders.js:412"}, "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-7e23241c0cc178f6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/calendar-v2.js:78", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/calendar-v2.js:78"}, "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-15a01b5f057b1cbc", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/book.js:218", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/book.js:218"}, "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-d5461648c8d7a6d0", "name": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/book.js:1879", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/book.js:1879"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b829bf29b87afd5", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/book.js:3610", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/book.js:3610"}, "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-3ecb91b8cba92e88", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/stories-v2.js:307", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/stories-v2.js:307"}, "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-316346c48484e1d7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/events.js:424", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/events.js:424"}, "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-19e2aa549df226e5", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-service.js:172", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-service.js:172"}, "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-2dafe263500b089a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale-v2.js:629", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale-v2.js:629"}, "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-c716af8c74b6b794", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer-v2.js:215", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer-v2.js:215"}, "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-922b6f3c1224c9eb", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment-v2.js:178", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment-v2.js:178"}, "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-c3c5c9f54deb9960", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/auditlog-v2.js:194", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/auditlog-v2.js:194"}, "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-81fc7c26470df186", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar-v2.js:154", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar-v2.js:154"}, "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-ff97ea531961408b", "name": "Insecure pattern 'document_write' in app/modules/consignment.js:939", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/consignment.js:939"}, "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-5ce33d2749db5877", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignment.js:320", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignment.js:320"}, "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-29bf836797364e34", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/consignment.js:1529", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/consignment.js:1529"}, "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-a0542a478070aa6f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage.js:252", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage.js:252"}, "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-847b4db1ed66668e", "name": "Insecure pattern 'document_write' in app/modules/production.js:2398", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/production.js:2398"}, "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-e6c08f8a6ee7c7d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/production.js:132", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/production.js:132"}, "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-4a04c2f19e28b8ba", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/classes-v2.js:643", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/classes-v2.js:643"}, "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-c4accc861257fa35", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-openitems-v2.js:309", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-openitems-v2.js:309"}, "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-75db871b06257bc0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio.js:42"}, "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-7e708f9a9204e049", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage-v2.js:249", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage-v2.js:249"}, "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-6e4bff0e50089bc9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-reports-v2.js:127", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-reports-v2.js:127"}, "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-3e877afb37537038", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement.js:206", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement.js:206"}, "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-1a5eaaaf3070d98c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels-v2.js:403", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels-v2.js:403"}, "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-3ea46529033d5f63", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-support-v2.js:271", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-support-v2.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-15b85498a4d2a08a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/coupons-v2.js:354", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/coupons-v2.js:354"}, "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-7921a9b05a05e3b2", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lots-v2.js:143", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lots-v2.js:143"}, "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-6b6d5966fef6c412", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/jobs-v2.js:592", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/jobs-v2.js:592"}, "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-163ead91671b65db", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/instructors-v2.js:333", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/instructors-v2.js:333"}, "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-b7488d8277c608c9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/employees-v2.js:496", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/employees-v2.js:496"}, "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-c134f7d0e27c478b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/membership-v2.js:358", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/membership-v2.js:358"}, "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-41cac732e788aa40", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students.js:167", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students.js:167"}, "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-b16aba1e5744ff13", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/students.js:1330", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/students.js:1330"}, "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-83f32149781bcbe7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cart.js:45", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cart.js:45"}, "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-4b62a765ce62a512", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders-v2.js:269", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders-v2.js:269"}, "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-62315c6142186395", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-statements-v2.js:85", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-statements-v2.js:85"}, "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-df1bddfaf970a7c9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/show-light.js:79", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/show-light.js:79"}, "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-bd1912e85de88021", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox.js:176", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox.js:176"}, "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-214989c2fa91b039", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/receipts-v2.js:216", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/receipts-v2.js:216"}, "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-971caee77c61ca88", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping.js:771", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping.js:771"}, "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-f9784ec648073ba7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks-v2.js:109", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks-v2.js:109"}, "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-9487e7fee8a50740", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks-v2.js:535", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks-v2.js:535"}, "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-b8a74f7ea1cbdc3d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-close-v2.js:73", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-close-v2.js:73"}, "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-d23fe6ac2861e1c0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/terms-v2.js:223", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/terms-v2.js:223"}, "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-beb00c8cc524554b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/enrollments-v2.js:367", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/enrollments-v2.js:367"}, "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-5dfde5c2edc4d1d4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox-v2.js:270", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox-v2.js:270"}, "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-f34b2e28a45989de", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions-v2.js:306", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions-v2.js:306"}, "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-5a59649308b09e67", "name": "Insecure pattern 'document_write' in app/modules/newsletter-v2.js:737", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/newsletter-v2.js:737"}, "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-ca9c177db7bdabb3", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter-v2.js:330", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter-v2.js:330"}, "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-b4661bb8515ec2f5", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms.js:87", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms.js:87"}, "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-52081d61175506dc", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team-v2.js:120", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team-v2.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-fe65c0ae16bf98f2", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping-v2.js:238", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping-v2.js:238"}, "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-afd2192d62a37442", "name": "Insecure pattern 'document_write' in app/modules/trips.js:1259", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/trips.js:1259"}, "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-2d20ed5fef3fb646", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips.js:199", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips.js:199"}, "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-088a53945934b313", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale.js:99", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale.js:99"}, "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-4c4a4d6872c17db9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer.js:78", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer.js:78"}, "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-e49e55d9283fd12c", "name": "Insecure pattern 'document_write' in app/modules/blog-v2.js:968", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/blog-v2.js:968"}, "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-ad44f5e8c1229a3f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog-v2.js:379", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog-v2.js:379"}, "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-e92017626b68c811", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/galleries-v2.js:453", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/galleries-v2.js:453"}, "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-a1f4443fcb7c8788", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/materials-v2.js:278", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/materials-v2.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-a07b50d8641776e1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/inquiries-v2.js:265", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/inquiries-v2.js:265"}, "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-40a6b62581a47186", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commissions-v2.js:347", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commissions-v2.js:347"}, "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-4e7fd0f2139832d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-members-v2.js:425", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-members-v2.js:425"}, "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-72605dfaa64e809d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand.js:92", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand.js:92"}, "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-c9dbb8d3919df596", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log-v2.js:297", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log-v2.js:297"}, "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-45bd11090651d2e8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/subscription-v2.js:253", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/subscription-v2.js:253"}, "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-8f213364a2231793", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/vendors-v2.js:452", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/vendors-v2.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-f795c6d8e67f032a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log.js:291", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log.js:291"}, "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-f75fe1e7495751ce", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/advisor.js:157", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/advisor.js:157"}, "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-a2883d9701a9f10c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales-events-v2.js:152", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales-events-v2.js:152"}, "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-369820a9a87598f8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit.js:465", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit.js:465"}, "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-0020c947097b81a3", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts-v2.js:345", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts-v2.js:345"}, "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-405402abc430f34d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms-v2.js:168", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms-v2.js:168"}, "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-3be387a392f7d7e4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-v2.js:265", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-v2.js:265"}, "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-e4dd8429c885ba6d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sessions-v2.js:374", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sessions-v2.js:374"}, "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-a61e0cc5d0c3bb82", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/pos-v2.js:139", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/pos-v2.js:139"}, "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-db8c4ef069f5c1ef", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social.js:83"}, "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-adac3250138191ee", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts.js:331", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts.js:331"}, "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-a40cf48303f738e8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels.js:250", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels.js:250"}, "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-2213457b4910915f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/products-v2.js:287", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/products-v2.js:287"}, "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-b1ea31caed5bebc9", "name": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/products-v2.js:360", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/products-v2.js:360"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4aa8203cb400c570", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social-v2.js:262", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social-v2.js:262"}, "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-7dd7a28fc4ecd758", "name": "Insecure pattern 'document_write' in app/modules/newsletter.js:1633", "shortDescription": {"text": "Insecure pattern 'document_write' in app/modules/newsletter.js:1633"}, "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-709f41a2c49ab90b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter.js:94", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter.js:94"}, "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-d7ce66dccf03c28a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/shows.js:110", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/shows.js: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-27ed7bce029e54ab", "name": "Insecure pattern 'insert_adjacent_html' in app/modules/shows.js:1016", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/shows.js:1016"}, "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-db358e7633ff50ed", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns.js:68", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns.js: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-daee5d8e92f89657", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance.js:511", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance.js:511"}, "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-6760e393fa51c328", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignments-v2.js:331", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignments-v2.js:331"}, "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-c3bd3bb960df8334", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/loyalty-v2.js:315", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/loyalty-v2.js:315"}, "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-004a80a2c20e159f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/resources-v2.js:285", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/resources-v2.js:285"}, "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-3f51399a6dd74851", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/workflows/workflow-engine.js:823", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/workflows/workflow-engine.js:823"}, "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-b473955c625f8ace", "name": "Insecure pattern 'direct_innerhtml_assignment' in apply/index.html:211", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apply/index.html:211"}, "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-94030e0fdf676691", "name": "Insecure pattern 'direct_innerhtml_assignment' in studio/index.html:495", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/index.html:495"}, "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-042f371b1a8fe154", "name": "Insecure pattern 'direct_innerhtml_assignment' in show/show.js:197", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in show/show.js:197"}, "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-deb7eea00fcfc835", "name": "Insecure pattern 'direct_innerhtml_assignment' in pos/index.html:575", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pos/index.html:575"}, "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-15c221959367fac7", "name": "Insecure pattern 'insert_adjacent_html' in pos/index.html:560", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in pos/index.html:560"}, "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-44420a785aa58306", "name": "Insecure pattern 'direct_innerhtml_assignment' in scan/index.html:364", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scan/index.html:364"}, "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-8c336c618756a4aa", "name": "Insecure pattern 'direct_innerhtml_assignment' in newsletter/unsubscribe.html:155", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in newsletter/unsubscribe.html:155"}, "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-266162aa2c525a31", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad6701f0a8405e22", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eac931a0eb078f81", "name": "Very large file: checkout.js (3148 lines)", "shortDescription": {"text": "Very large file: checkout.js (3148 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-b3697083c26003d9", "name": "Very large file: cart.js (1614 lines)", "shortDescription": {"text": "Very large file: cart.js (1614 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-74e7c279c6a6e792", "name": "Very large file: events/events.js (1787 lines)", "shortDescription": {"text": "Very large file: events/events.js (1787 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-12313517e9625d52", "name": "Very large file: shared/business-entity-constants.js (1800 lines)", "shortDescription": {"text": "Very large file: shared/business-entity-constants.js (1800 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-810280db1ca67e25", "name": "Very large file: shared/mastdb.js (2056 lines)", "shortDescription": {"text": "Very large file: shared/mastdb.js (2056 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-889236e0f41f4a37", "name": "Very large file: app/modules/customers.js (3545 lines)", "shortDescription": {"text": "Very large file: app/modules/customers.js (3545 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-247c94de0ac191fa", "name": "Very large file: app/modules/accounting.js (1551 lines)", "shortDescription": {"text": "Very large file: app/modules/accounting.js (1551 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-8c4d035430caddcc", "name": "Very large file: app/modules/website.js (3113 lines)", "shortDescription": {"text": "Very large file: app/modules/website.js (3113 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-636aaaa664c20632", "name": "Very large file: app/modules/sales.js (3409 lines)", "shortDescription": {"text": "Very large file: app/modules/sales.js (3409 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-dab70b0429a561c9", "name": "Very large file: app/modules/team.js (3388 lines)", "shortDescription": {"text": "Very large file: app/modules/team.js (3388 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-1e4e0bd901ed2b21", "name": "Very large file: app/modules/fulfillment.js (1524 lines)", "shortDescription": {"text": "Very large file: app/modules/fulfillment.js (1524 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-92e87158745dc869", "name": "Very large file: app/modules/blog.js (2615 lines)", "shortDescription": {"text": "Very large file: app/modules/blog.js (2615 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-985347543a93080c", "name": "Very large file: app/modules/procurement-v2.js (882 lines)", "shortDescription": {"text": "Very large file: app/modules/procurement-v2.js (882 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-3c0667b9cd0e83eb", "name": "Very large file: app/modules/maker.js (7645 lines)", "shortDescription": {"text": "Very large file: app/modules/maker.js (7645 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-90ff14a072519fba", "name": "Very large file: app/modules/orders.js (6470 lines)", "shortDescription": {"text": "Very large file: app/modules/orders.js (6470 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-fe8ddfcdf75ef37a", "name": "Very large file: app/modules/book.js (6643 lines)", "shortDescription": {"text": "Very large file: app/modules/book.js (6643 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-26eeaf709ae32bc8", "name": "Very large file: app/modules/events.js (1937 lines)", "shortDescription": {"text": "Very large file: app/modules/events.js (1937 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-a52a315fdcec686b", "name": "Very large file: app/modules/customer-service.js (3608 lines)", "shortDescription": {"text": "Very large file: app/modules/customer-service.js (3608 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-c3289dd6e90690b9", "name": "Very large file: app/modules/consignment.js (2338 lines)", "shortDescription": {"text": "Very large file: app/modules/consignment.js (2338 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-7961f4ae1aea8864", "name": "Very large file: app/modules/production.js (3715 lines)", "shortDescription": {"text": "Very large file: app/modules/production.js (3715 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-1d02740509e0f241", "name": "Very large file: app/modules/classes-v2.js (1255 lines)", "shortDescription": {"text": "Very large file: app/modules/classes-v2.js (1255 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-f39b64238735bbaa", "name": "Very large file: app/modules/procurement.js (2378 lines)", "shortDescription": {"text": "Very large file: app/modules/procurement.js (2378 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-cd7fef16bc1855ad", "name": "Very large file: app/modules/jobs-v2.js (1182 lines)", "shortDescription": {"text": "Very large file: app/modules/jobs-v2.js (1182 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-eb35114fbdffb1fd", "name": "Very large file: app/modules/students.js (1679 lines)", "shortDescription": {"text": "Very large file: app/modules/students.js (1679 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-417158ec82c17d39", "name": "Very large file: app/modules/cart.js (1577 lines)", "shortDescription": {"text": "Very large file: app/modules/cart.js (1577 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-974fec5845ab9be1", "name": "Very large file: app/modules/show-light.js (1718 lines)", "shortDescription": {"text": "Very large file: app/modules/show-light.js (1718 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-8851b363306edebf", "name": "Very large file: app/modules/mapping.js (1809 lines)", "shortDescription": {"text": "Very large file: app/modules/mapping.js (1809 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-b4c960362c2b5ae8", "name": "Very large file: app/modules/newsletter-v2.js (874 lines)", "shortDescription": {"text": "Very large file: app/modules/newsletter-v2.js (874 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-f98b75205beb6862", "name": "Very large file: app/modules/trips.js (2162 lines)", "shortDescription": {"text": "Very large file: app/modules/trips.js (2162 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-f7a09c78325f9753", "name": "Very large file: app/modules/wholesale.js (1953 lines)", "shortDescription": {"text": "Very large file: app/modules/wholesale.js (1953 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-264195482474e9b2", "name": "Very large file: app/modules/blog-v2.js (1123 lines)", "shortDescription": {"text": "Very large file: app/modules/blog-v2.js (1123 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-d1f0ec9a0ceb2097", "name": "Very large file: app/modules/advisor.js (1429 lines)", "shortDescription": {"text": "Very large file: app/modules/advisor.js (1429 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-1ad8b761fd1a8912", "name": "Very large file: app/modules/audit.js (1721 lines)", "shortDescription": {"text": "Very large file: app/modules/audit.js (1721 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-39d9592c8c7f904d", "name": "Very large file: app/modules/social.js (1494 lines)", "shortDescription": {"text": "Very large file: app/modules/social.js (1494 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-57aae993baadf572", "name": "Very large file: app/modules/contacts.js (1733 lines)", "shortDescription": {"text": "Very large file: app/modules/contacts.js (1733 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-69c473f3e0191d87", "name": "Very large file: app/modules/channels.js (2946 lines)", "shortDescription": {"text": "Very large file: app/modules/channels.js (2946 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-2c90ba74a031f2b4", "name": "Very large file: app/modules/products-v2.js (3523 lines)", "shortDescription": {"text": "Very large file: app/modules/products-v2.js (3523 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-9a34888082b6f725", "name": "Very large file: app/modules/newsletter.js (2621 lines)", "shortDescription": {"text": "Very large file: app/modules/newsletter.js (2621 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-814f3caaca7f836d", "name": "Very large file: app/modules/shows.js (3580 lines)", "shortDescription": {"text": "Very large file: app/modules/shows.js (3580 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-93c97f08e2e2dbcf", "name": "Very large file: app/modules/finance.js (8537 lines)", "shortDescription": {"text": "Very large file: app/modules/finance.js (8537 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-e361fa881bdbf874", "name": "Very large file: app/modules/workflows/workflow-engine.js (1571 lines)", "shortDescription": {"text": "Very large file: app/modules/workflows/workflow-engine.js (1571 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-70b329cfd52e060a", "name": "Very large file: show/show.js (1464 lines)", "shortDescription": {"text": "Very large file: show/show.js (1464 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": "16 test file(s) for 183 source file(s) (ratio 0.09). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faccb9061e9b52a0", "name": "No README detected", "shortDescription": {"text": "No README detected"}, "fullDescription": {"text": "No README file was found. Generated repos without README context are hard to operate, validate, or safely hand off."}, "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 262 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 772 placeholder/mock markers across 104 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, 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": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, 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-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55187728027f9aef", "name": "Commented-code block (10 lines) in storefront-tenant.js:112", "shortDescription": {"text": "Commented-code block (10 lines) in storefront-tenant.js:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49d928abb7983de0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-tenant.js:187", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-tenant.js:187"}, "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-70f620589a96e65c", "name": "Commented-code block (5 lines) in checkout.js:2068", "shortDescription": {"text": "Commented-code block (5 lines) in checkout.js:2068"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e3f63c4ebcd82d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 checkout.js:3039", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 checkout.js:3039"}, "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-af94f92f036c245d", "name": "Commented-code block (5 lines) in tenant-brand.js:349", "shortDescription": {"text": "Commented-code block (5 lines) in tenant-brand.js:349"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8048ac6e685405bd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 tenant-brand.js:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 tenant-brand.js:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed4560724ee25fdb", "name": "Commented-code block (7 lines) in feedback-widget.js:113", "shortDescription": {"text": "Commented-code block (7 lines) in feedback-widget.js:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a01f51219201ff6d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 feedback-widget.js:318", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 feedback-widget.js:318"}, "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-490a1640bd90b451", "name": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-nav.js:361", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-nav.js:361"}, "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-605037fdeaf64607", "name": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-theme.js:344", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-theme.js:344"}, "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-94cd395faf805c7b", "name": "Commented-code block (5 lines) in cart.js:13", "shortDescription": {"text": "Commented-code block (5 lines) in cart.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-c0a37af353d9f970", "name": "Commented-code block (6 lines) in events/events.js:82", "shortDescription": {"text": "Commented-code block (6 lines) in events/events.js:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a6b8e7d9b68aac3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 events/events.js:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 events/events.js:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf2704036106bb8c", "name": "Commented-code block (7 lines) in test/finance-order-money.test.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in test/finance-order-money.test.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-1ad286029946eb14", "name": "Commented-code block (18 lines) in test/finance-pos-dedup.test.js:7", "shortDescription": {"text": "Commented-code block (18 lines) in test/finance-pos-dedup.test.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-1e4371ead7698434", "name": "Commented-code block (9 lines) in shared/mast-ui.js:24", "shortDescription": {"text": "Commented-code block (9 lines) in shared/mast-ui.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-66793b3513e9b83f", "name": "Commented-code block (6 lines) in shared/brand-sync.js:96", "shortDescription": {"text": "Commented-code block (6 lines) in shared/brand-sync.js:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c68d3c42efb7004", "name": "Commented-code block (5 lines) in shared/mast-entity.js:187", "shortDescription": {"text": "Commented-code block (5 lines) in shared/mast-entity.js:187"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f47475867c5ed451", "name": "Commented-code block (7 lines) in shared/business-entity-constants.js:81", "shortDescription": {"text": "Commented-code block (7 lines) in shared/business-entity-constants.js:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93fd46a440754007", "name": "Commented-code block (5 lines) in shared/mastdb-firestore.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in shared/mastdb-firestore.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-b34aec6ce242a0b2", "name": "Commented-code block (8 lines) in shared/customer-filters.js:36", "shortDescription": {"text": "Commented-code block (8 lines) in shared/customer-filters.js:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f8e5bd7a75b62cf", "name": "Commented-code block (5 lines) in shared/mastdb.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in shared/mastdb.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-b378166160908c3c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 shared/mastdb.js:1441", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 shared/mastdb.js:1441"}, "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-88a371a3b004eb40", "name": "Commented-code block (9 lines) in shared/types/audit.ts:187", "shortDescription": {"text": "Commented-code block (9 lines) in shared/types/audit.ts:187"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a3a2c8a8f59439d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-mode-set.js:124", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-mode-set.js:124"}, "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-b38df9358765b91d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/.audit-sgtest15-classes.py:5", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/.audit-sgtest15-classes.py:5"}, "fullDescription": {"text": "`subprocess.check_output(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b42e6c4b01993da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-fk.js:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-fk.js:56"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-214974f473b4a6f0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-wholesale-account-fk.js:51", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-wholesale-account-fk.js:51"}, "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-19330d0dbae33770", "name": "Commented-code block (5 lines) in scripts/lint-design-tokens.js:7", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lint-design-tokens.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-d6eaf7d61077dac2", "name": "Commented-code block (8 lines) in scripts/lint-mastdb.js:12", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/lint-mastdb.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-8bee9fd8227e8ac3", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/.scrub-sgtest15-classes.py:9", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/.scrub-sgtest15-classes.py:9"}, "fullDescription": {"text": "`subprocess.check_output(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9137ba2e26fb830", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/bootstrap-qbo-realm-index.js:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/bootstrap-qbo-realm-index.js:49"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eaa191d14bc0c1d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-item-bridge.js:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-item-bridge.js:57"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f8b93a507f8101eb", "name": "Commented-code block (6 lines) in scripts/lint-cache-bust.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lint-cache-bust.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-4759a8833905a368", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-workflows.js:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-workflows.js:48"}, "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-d12fccb2e20b3e87", "name": "Commented-code block (6 lines) in scripts/lint-rbac.js:9", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/lint-rbac.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-217d078ab378715d", "name": "Commented-code block (7 lines) in scripts/lint-customer-writes.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/lint-customer-writes.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-020c4bfbc6e45d93", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-coin-ratio.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-coin-ratio.js:32"}, "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-d2f863c8b7991ad2", "name": "Commented-code block (5 lines) in scripts/lint-readiness-parity.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lint-readiness-parity.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-2a560962b15e860c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-entities.js:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-entities.js:57"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7abd34f9d8bfd60", "name": "Commented-code block (11 lines) in scripts/migrate-refs.js:168", "shortDescription": {"text": "Commented-code block (11 lines) in scripts/migrate-refs.js:168"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d90eea3cee679e60", "name": "Commented-code block (5 lines) in scripts/lint-ux-standards.js:41", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lint-ux-standards.js:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0edf20abbec43da0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:49"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c6de72a7ccbb037", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-customer-portfolio-quadrant.js:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-customer-portfolio-quadrant.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-ac70ed08c204f86a", "name": "Legacy-named symbol `unknownLegacy` in scripts/backfill-day-close-v1.js:250", "shortDescription": {"text": "Legacy-named symbol `unknownLegacy` in scripts/backfill-day-close-v1.js:250"}, "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-ab2badd404b66e82", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-day-close-v1.js:72", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-day-close-v1.js:72"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e900a02adce322d8", "name": "Commented-code block (5 lines) in app/modules/gift-cards-v2.js:129", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/gift-cards-v2.js:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46a898838d5c911a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/gift-cards-v2.js:219", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/gift-cards-v2.js:219"}, "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-ef0f4e7b5e89aa6a", "name": "Commented-code block (6 lines) in app/modules/trips-v2.js:69", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/trips-v2.js:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a74c7283e15041b6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/trips-v2.js:339", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/trips-v2.js:339"}, "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-44543f41842c60e2", "name": "Commented-code block (7 lines) in app/modules/customers.js:86", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/customers.js:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9762c0a86c871ec", "name": "Commented-code block (6 lines) in app/modules/accounting.js:3", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/accounting.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-f9eb52c0d2920168", "name": "Commented-code block (6 lines) in app/modules/passes-v2.js:178", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/passes-v2.js:178"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c50b65bda595b3f", "name": "Commented-code block (9 lines) in app/modules/website.js:2559", "shortDescription": {"text": "Commented-code block (9 lines) in app/modules/website.js:2559"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b17e3575a639dcc9", "name": "Commented-code block (5 lines) in app/modules/lookbooks.js:113", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/lookbooks.js:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17c526a4a4f18127", "name": "Commented-code block (5 lines) in app/modules/finance-expenses-v2.js:279", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/finance-expenses-v2.js:279"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c1163ebb807ca9f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/finance-expenses-v2.js:445", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/finance-expenses-v2.js:445"}, "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-2d84b5ca5169d33e", "name": "Commented-code block (12 lines) in app/modules/sales.js:762", "shortDescription": {"text": "Commented-code block (12 lines) in app/modules/sales.js:762"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16956dd82cb93582", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/campaigns-v2.js:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/campaigns-v2.js:62"}, "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-298d3dbc68ed7838", "name": "Commented-code block (6 lines) in app/modules/team.js:29", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/team.js:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6957b1a4c0cdd0e1", "name": "Commented-code block (5 lines) in app/modules/fulfillment.js:248", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/fulfillment.js:248"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f612f7018251a308", "name": "Commented-code block (13 lines) in app/modules/students-config-v2.js:61", "shortDescription": {"text": "Commented-code block (13 lines) in app/modules/students-config-v2.js:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b21e1ce416d1f145", "name": "Commented-code block (5 lines) in app/modules/blog.js:36", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/blog.js:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5059c0342e82c7d1", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/procurement-v2.js:450", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/procurement-v2.js:450"}, "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-7d0b6546ae94618d", "name": "Commented-code block (5 lines) in app/modules/procurement-v2.js:225", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/procurement-v2.js:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a608024c6a192ff1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/procurement-v2.js:702", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/procurement-v2.js:702"}, "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-e90b7cba2dcc7835", "name": "Commented-code block (5 lines) in app/modules/cs-reviews-v2.js:396", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/cs-reviews-v2.js:396"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8cb3be34f281e125", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-reviews-v2.js:392", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-reviews-v2.js:392"}, "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-44bcb51f6d43abde", "name": "Commented-code block (6 lines) in app/modules/customers-v2.js:196", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/customers-v2.js:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca6d17d9d01a734b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/customers-v2.js:479", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/customers-v2.js:479"}, "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-ce02556b10b49318", "name": "Commented-code block (5 lines) in app/modules/maker.js:620", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/maker.js:620"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16e86ad554a9deb2", "name": "Commented-code block (7 lines) in app/modules/audit-feedback.js:296", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/audit-feedback.js:296"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-71e9fe74e776e13c", "name": "Commented-code block (13 lines) in app/modules/orders.js:28", "shortDescription": {"text": "Commented-code block (13 lines) in app/modules/orders.js:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d4278bad0ab99a1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/orders.js:2834", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/orders.js:2834"}, "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-dc79ee831bdbad4e", "name": "Commented-code block (5 lines) in app/modules/book.js:38", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/book.js:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-985046d6bf1c2007", "name": "Commented-code block (6 lines) in app/modules/stories-v2.js:244", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/stories-v2.js:244"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-970e6eb0d4006d4b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/stories-v2.js:511", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/stories-v2.js:511"}, "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-deed8268d57776ec", "name": "Commented-code block (5 lines) in app/modules/customer-service.js:854", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/customer-service.js:854"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70604418c3cd6f10", "name": "Commented-code block (5 lines) in app/modules/fulfillment-v2.js:232", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/fulfillment-v2.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-991b8a2fd2a55c2f", "name": "Commented-code block (6 lines) in app/modules/consignment.js:296", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/consignment.js:296"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-661c21f81240526b", "name": "Commented-code block (7 lines) in app/modules/homepage.js:10", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/homepage.js:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e2fb00c48c11c5a", "name": "Commented-code block (5 lines) in app/modules/production.js:1694", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/production.js:1694"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26e28891ecced982", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/production.js:2449", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/production.js:2449"}, "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-ee50fd5869c35c1a", "name": "Commented-code block (9 lines) in app/modules/classes-v2.js:257", "shortDescription": {"text": "Commented-code block (9 lines) in app/modules/classes-v2.js:257"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0032a260c5c3d1a6", "name": "Commented-code block (5 lines) in app/modules/procurement.js:1066", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/procurement.js:1066"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4cf7d43c474fa8cf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels-v2.js:534", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels-v2.js:534"}, "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-f46443850d92dc1a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-support-v2.js:292", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-support-v2.js:292"}, "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-3f596af2e80e25f1", "name": "Commented-code block (5 lines) in app/modules/coupons-v2.js:187", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/coupons-v2.js:187"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cbbbbaa18eb28ff9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/coupons-v2.js:380", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/coupons-v2.js:380"}, "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-ad75a4c06879d143", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lots-v2.js:170", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lots-v2.js:170"}, "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-53355057a5772ecc", "name": "Commented-code block (5 lines) in app/modules/jobs-v2.js:36", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/jobs-v2.js:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35d73189b1d9f564", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/jobs-v2.js:761", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/jobs-v2.js:761"}, "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-db9a5b6ff6db8b31", "name": "Commented-code block (5 lines) in app/modules/instructors-v2.js:246", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/instructors-v2.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-6676f72177e34d54", "name": "Commented-code block (6 lines) in app/modules/membership-v2.js:60", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/membership-v2.js:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09a1589facdf6a9b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/membership-v2.js:423", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/membership-v2.js:423"}, "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-000d1fd3edefcaf0", "name": "Commented-code block (12 lines) in app/modules/students.js:40", "shortDescription": {"text": "Commented-code block (12 lines) in app/modules/students.js:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f12c9279f4ccf7d2", "name": "Commented-code block (5 lines) in app/modules/cart.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/cart.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-16f0a3c3988a5eb1", "name": "Commented-code block (6 lines) in app/modules/mapping.js:58", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/mapping.js:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89e7aaefaea10470", "name": "Commented-code block (5 lines) in app/modules/lookbooks-v2.js:431", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/lookbooks-v2.js:431"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7cfa863e5aa348f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lookbooks-v2.js:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lookbooks-v2.js:50"}, "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-83da3f51edc1f51d", "name": "Legacy-named symbol `viewingOld` in app/modules/finance-close-v2.js:183", "shortDescription": {"text": "Legacy-named symbol `viewingOld` in app/modules/finance-close-v2.js:183"}, "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-4670eef4a91bacb9", "name": "Commented-code block (5 lines) in app/modules/terms-v2.js:122", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/terms-v2.js:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c95b554dab2de1a0", "name": "Commented-code block (6 lines) in app/modules/enrollments-v2.js:52", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/enrollments-v2.js:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e444ab9c967168d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/enrollments-v2.js:393", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/enrollments-v2.js:393"}, "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-1f6d4fa0b955aebd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/promotions-v2.js:330", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/promotions-v2.js:330"}, "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-8e2ebc1233209086", "name": "Commented-code block (7 lines) in app/modules/newsletter-v2.js:189", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/newsletter-v2.js:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-284a61a69e070de8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/newsletter-v2.js:844", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/newsletter-v2.js:844"}, "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-612dd21b5b44e315", "name": "Commented-code block (11 lines) in app/modules/team-v2.js:319", "shortDescription": {"text": "Commented-code block (11 lines) in app/modules/team-v2.js:319"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8243957a1df114c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/team-v2.js:589", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/team-v2.js:589"}, "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-25579795b0cfd8c5", "name": "Commented-code block (5 lines) in app/modules/mapping-v2.js:98", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/mapping-v2.js:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62bd2bd02848944e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/mapping-v2.js:189", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/mapping-v2.js:189"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1bfc3b8dad11b3d", "name": "Commented-code block (5 lines) in app/modules/trips.js:1489", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/trips.js:1489"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79ff5e207e8bb0d3", "name": "Commented-code block (5 lines) in app/modules/wholesale.js:405", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/wholesale.js:405"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-772b41bc7207d46c", "name": "Commented-code block (5 lines) in app/modules/composer.js:39", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/composer.js:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8253f7195e4df758", "name": "Commented-code block (7 lines) in app/modules/blog-v2.js:234", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/blog-v2.js:234"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b77bcabf45059e0e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/blog-v2.js:627", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/blog-v2.js:627"}, "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-1ea1304ebe11a07f", "name": "Commented-code block (5 lines) in app/modules/galleries-v2.js:373", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/galleries-v2.js:373"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf7f1eb208cd7ead", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/galleries-v2.js:542", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/galleries-v2.js:542"}, "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-bab5c1e0a885a293", "name": "Commented-code block (5 lines) in app/modules/inquiries-v2.js:74", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/inquiries-v2.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-88c0a2d4ceff2c86", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/inquiries-v2.js:291", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/inquiries-v2.js:291"}, "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-363e9873df774c5d", "name": "Commented-code block (5 lines) in app/modules/commissions-v2.js:73", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/commissions-v2.js:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7462998620afb355", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/commissions-v2.js:376", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/commissions-v2.js:376"}, "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-9683d4cb89e0b0df", "name": "Commented-code block (7 lines) in app/modules/cs-members-v2.js:173", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/cs-members-v2.js:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7aa4e69ea07ef8b0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-members-v2.js:492", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-members-v2.js:492"}, "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-8159b125b7086914", "name": "Commented-code block (12 lines) in app/modules/brand.js:525", "shortDescription": {"text": "Commented-code block (12 lines) in app/modules/brand.js:525"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7bd209aa7c623a99", "name": "Commented-code block (5 lines) in app/modules/email-log-v2.js:77", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/email-log-v2.js:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4655bdb3c1e5870", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log-v2.js:324", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log-v2.js:324"}, "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-752ba792d2887313", "name": "Commented-code block (5 lines) in app/modules/subscription-v2.js:296", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/subscription-v2.js:296"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ded66a7aee91e297", "name": "Commented-code block (8 lines) in app/modules/vendors-v2.js:132", "shortDescription": {"text": "Commented-code block (8 lines) in app/modules/vendors-v2.js:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a1285f1ca8ef04e8", "name": "Commented-code block (5 lines) in app/modules/email-log.js:98", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/email-log.js:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ceeb65522ac2bef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log.js:251", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log.js:251"}, "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-495435c77938648e", "name": "Commented-code block (10 lines) in app/modules/advisor.js:579", "shortDescription": {"text": "Commented-code block (10 lines) in app/modules/advisor.js:579"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9099f364d931b912", "name": "Commented-code block (5 lines) in app/modules/sales-events-v2.js:70", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/sales-events-v2.js:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6081feb63b7fe922", "name": "Commented-code block (5 lines) in app/modules/audit.js:203", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/audit.js:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3201bd4471f1b6ae", "name": "Commented-code block (5 lines) in app/modules/contacts-v2.js:206", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/contacts-v2.js:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ced9413ae4391025", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/audit-v2.js:304", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/audit-v2.js:304"}, "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-54a000b036e20ab8", "name": "Commented-code block (8 lines) in app/modules/sessions-v2.js:182", "shortDescription": {"text": "Commented-code block (8 lines) in app/modules/sessions-v2.js:182"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bacaacbae85af62f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/sessions-v2.js:404", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/sessions-v2.js:404"}, "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-fc2f2268555c8ba0", "name": "Commented-code block (9 lines) in app/modules/social.js:88", "shortDescription": {"text": "Commented-code block (9 lines) in app/modules/social.js:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cdb0c8780ffe9894", "name": "Commented-code block (7 lines) in app/modules/contacts.js:379", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/contacts.js:379"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-026d44ef5f4da8cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/contacts.js:770", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/contacts.js:770"}, "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-724e4940fd94b74b", "name": "Commented-code block (5 lines) in app/modules/channels.js:498", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/channels.js:498"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91106cf7f7286b4c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels.js:2380", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels.js:2380"}, "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-9f8b1b4bcfbd8374", "name": "Commented-code block (5 lines) in app/modules/products-v2.js:94", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/products-v2.js:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a11e2805469f6e50", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/social-v2.js:303", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/social-v2.js:303"}, "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-40e7b33b698820eb", "name": "Commented-code block (9 lines) in app/modules/newsletter.js:2253", "shortDescription": {"text": "Commented-code block (9 lines) in app/modules/newsletter.js:2253"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88b042ace6c0c351", "name": "Commented-code block (7 lines) in app/modules/campaigns.js:231", "shortDescription": {"text": "Commented-code block (7 lines) in app/modules/campaigns.js:231"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c05970c359f5c1c2", "name": "Legacy-named symbol `_dcLegacy` in app/modules/finance.js:2213", "shortDescription": {"text": "Legacy-named symbol `_dcLegacy` in app/modules/finance.js:2213"}, "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-fc258836583f6ec3", "name": "Commented-code block (6 lines) in app/modules/finance.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/finance.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-7ca0d873b969d738", "name": "Commented-code block (5 lines) in app/modules/consignments-v2.js:101", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/consignments-v2.js:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a99b9795324f8281", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/consignments-v2.js:356", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/consignments-v2.js:356"}, "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-bc94f7cbe3dd512a", "name": "Commented-code block (5 lines) in app/modules/loyalty-v2.js:119", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/loyalty-v2.js:119"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d84f1c5376861f11", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/loyalty-v2.js:341", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/loyalty-v2.js:341"}, "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-48317f01ac67046a", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-template.workflow.js:14", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-template.workflow.js:14"}, "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-3958c9ea317e6d80", "name": "Commented-code block (13 lines) in app/modules/workflows/workflow-template.workflow.js:125", "shortDescription": {"text": "Commented-code block (13 lines) in app/modules/workflows/workflow-template.workflow.js:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c530062fe7d7284", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/pickship.workflow.js:328", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/pickship.workflow.js:328"}, "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-78f4e6f8916492da", "name": "Commented-code block (6 lines) in app/modules/workflows/pickship.workflow.js:61", "shortDescription": {"text": "Commented-code block (6 lines) in app/modules/workflows/pickship.workflow.js:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-112f27642b24ad98", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/commissions.workflow.js:6", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/commissions.workflow.js:6"}, "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-60eee870fde77a3e", "name": "Commented-code block (8 lines) in app/modules/workflows/commissions.workflow.js:208", "shortDescription": {"text": "Commented-code block (8 lines) in app/modules/workflows/commissions.workflow.js:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d3341c97e2ca739", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/products.workflow.js:138", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/products.workflow.js:138"}, "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-ecf9707f36e717e3", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/jobs.workflow.js:92", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/jobs.workflow.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-8d1ee73ab4016be0", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-engine.js:53", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-engine.js:53"}, "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-aab4a91595dab2f9", "name": "Commented-code block (5 lines) in app/modules/workflows/workflow-engine.js:85", "shortDescription": {"text": "Commented-code block (5 lines) in app/modules/workflows/workflow-engine.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-b37efa9a06b1c8d5", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/procurement.workflow.js:78", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/procurement.workflow.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-8754e901dfadaaf5", "name": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/return.workflow.js:106", "shortDescription": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/return.workflow.js:106"}, "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-b5ebdf56e8ef2c19", "name": "Network/subprocess call without timeout or try/except \u2014 studio/train-model.py:131", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 studio/train-model.py:131"}, "fullDescription": {"text": "`urllib.request.urlretrieve(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65a7269dc9d8a5cd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 show/show.js:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 show/show.js:86"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c0b08485017ead27", "name": "Commented-code block (10 lines) in pos/sw.js:3", "shortDescription": {"text": "Commented-code block (10 lines) in pos/sw.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}}]}}, "automationDetails": {"id": "repobility/20339"}, "properties": {"repository": "stewartdavidp-ship-it/mast-tenant-template", "repoUrl": "https://github.com/stewartdavidp-ship-it/mast-tenant-template", "branch": "main"}, "results": [{"ruleId": "scanner-80d4c2a942ac6a5e", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 cart.js:1287"}, "properties": {"repobilityId": "4d721298252cf674", "scanner": "scanner-primary", "fingerprint": "80d4c2a942ac6a5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-d434bec4029b4c4a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-entity.test.js:6"}, "properties": {"repobilityId": "283b4ca30dabb448", "scanner": "scanner-primary", "fingerprint": "d434bec4029b4c4a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93d855f2ec808c65", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/jobs-transitions.test.js:19"}, "properties": {"repobilityId": "0896fc90e17f2323", "scanner": "scanner-primary", "fingerprint": "93d855f2ec808c65", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f71a2171911372e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/wizard-launch-never-blocks.test.js:23"}, "properties": {"repobilityId": "b23187a676b756d8", "scanner": "scanner-primary", "fingerprint": "6f71a2171911372e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be2cc8c8180d76f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/lint-ratchet.test.js:20"}, "properties": {"repobilityId": "7faf38bded716abd", "scanner": "scanner-primary", "fingerprint": "be2cc8c8180d76f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57a58f2c5379f699", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/business-entity-feature-mode.test.js:18"}, "properties": {"repobilityId": "7f0877683a5e8e08", "scanner": "scanner-primary", "fingerprint": "57a58f2c5379f699", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1617065f1d1a407e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/brand-sync-business-name.test.js:41"}, "properties": {"repobilityId": "a06ac67f4545073a", "scanner": "scanner-primary", "fingerprint": "1617065f1d1a407e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fde13118a32106db", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/guided-header-branch.test.js:20"}, "properties": {"repobilityId": "231a704373e3e67d", "scanner": "scanner-primary", "fingerprint": "fde13118a32106db", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ed082d9582cc21b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/workflow-overrides.test.js:21"}, "properties": {"repobilityId": "a05c7383eb17de54", "scanner": "scanner-primary", "fingerprint": "6ed082d9582cc21b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e41ab0b3136cb112", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/customer-filters.test.js:137"}, "properties": {"repobilityId": "6d9c0e4b574aa7bd", "scanner": "scanner-primary", "fingerprint": "e41ab0b3136cb112", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1adc0a255244ab70", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-ui.test.js:9"}, "properties": {"repobilityId": "a6e1cbb4e7dfc890", "scanner": "scanner-primary", "fingerprint": "1adc0a255244ab70", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebc5840ef7afca56", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/mast-io.test.js:6"}, "properties": {"repobilityId": "cc03895fcdfcd726", "scanner": "scanner-primary", "fingerprint": "ebc5840ef7afca56", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5a08f5679e48a2c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 shared/business-entity-constants.js:595"}, "properties": {"repobilityId": "70705a20690dc88c", "scanner": "scanner-primary", "fingerprint": "d5a08f5679e48a2c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9adeda41649369fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-hardcoded-ids.js:115"}, "properties": {"repobilityId": "c57516bfcb91b103", "scanner": "scanner-primary", "fingerprint": "9adeda41649369fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8b6dd7c104f2b85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-mode-set.js:196"}, "properties": {"repobilityId": "21c513955bff0070", "scanner": "scanner-primary", "fingerprint": "f8b6dd7c104f2b85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c36c92e9691eebe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-fk.js:155"}, "properties": {"repobilityId": "ef6cd4bc3a1d554a", "scanner": "scanner-primary", "fingerprint": "3c36c92e9691eebe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63d052a5b7bf9075", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-wholesale-account-fk.js:151"}, "properties": {"repobilityId": "3fd5392173e0c69e", "scanner": "scanner-primary", "fingerprint": "63d052a5b7bf9075", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f65448a56098d201", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-module-info.js:144"}, "properties": {"repobilityId": "7310a95e09e61759", "scanner": "scanner-primary", "fingerprint": "f65448a56098d201", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-528f2d4442ce8250", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-entities.js:17"}, "properties": {"repobilityId": "d45d2d4e847b7107", "scanner": "scanner-primary", "fingerprint": "528f2d4442ce8250", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1685551ce48e8af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-listen-callbacks.js:130"}, "properties": {"repobilityId": "7b2818c41d7f96fd", "scanner": "scanner-primary", "fingerprint": "c1685551ce48e8af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdc83e3646da506d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-design-tokens.js:82"}, "properties": {"repobilityId": "aa058490afc7af5a", "scanner": "scanner-primary", "fingerprint": "cdc83e3646da506d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e6e39d67246e148", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-mastdb.js:126"}, "properties": {"repobilityId": "1cff540fbb3a8592", "scanner": "scanner-primary", "fingerprint": "3e6e39d67246e148", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a75b8065a435c3fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bootstrap-qbo-realm-index.js:137"}, "properties": {"repobilityId": "ca7dab661d77ba8d", "scanner": "scanner-primary", "fingerprint": "a75b8065a435c3fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e026aa3af80cee81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-item-bridge.js:144"}, "properties": {"repobilityId": "284a408ac8f9c68d", "scanner": "scanner-primary", "fingerprint": "e026aa3af80cee81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-089ec3b9b87e9b37", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-cache-bust.js:70"}, "properties": {"repobilityId": "6dc6e823cd246260", "scanner": "scanner-primary", "fingerprint": "089ec3b9b87e9b37", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f1844472a52991d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-syntax.js:58"}, "properties": {"repobilityId": "05a18572d3c0e554", "scanner": "scanner-primary", "fingerprint": "f1844472a52991d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9aa3f961d1161582", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-snapval.js:120"}, "properties": {"repobilityId": "25f2e90236f3bb3c", "scanner": "scanner-primary", "fingerprint": "9aa3f961d1161582", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51e6b2c61b882c93", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-workflows.js:67"}, "properties": {"repobilityId": "30579e8c2f35acd9", "scanner": "scanner-primary", "fingerprint": "51e6b2c61b882c93", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88a604d83c5c71d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-rbac.js:169"}, "properties": {"repobilityId": "567d457ba9780a27", "scanner": "scanner-primary", "fingerprint": "88a604d83c5c71d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a4dff02939e238e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-customer-writes.js:80"}, "properties": {"repobilityId": "8490378e7858af1c", "scanner": "scanner-primary", "fingerprint": "a4dff02939e238e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-685f2c6421f5260b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-no-debug-pii-console.js:82"}, "properties": {"repobilityId": "73adca17c12c2a55", "scanner": "scanner-primary", "fingerprint": "685f2c6421f5260b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9a716c79d5ab5a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-unbounded-read.js:89"}, "properties": {"repobilityId": "82c00f0ee6145432", "scanner": "scanner-primary", "fingerprint": "e9a716c79d5ab5a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9fd68e80c2c0781", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-coin-ratio.js:53"}, "properties": {"repobilityId": "48ecc4b4b0b1a1f6", "scanner": "scanner-primary", "fingerprint": "b9fd68e80c2c0781", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b34e197ecff3c3b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-readiness-parity.js:44"}, "properties": {"repobilityId": "22d3b3fd239848d9", "scanner": "scanner-primary", "fingerprint": "b34e197ecff3c3b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc99b9a1864e70b6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-gallery-entities.js:184"}, "properties": {"repobilityId": "daeb25797c5e2ddf", "scanner": "scanner-primary", "fingerprint": "dc99b9a1864e70b6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-887bba329541b0c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/migrate-refs.js:45"}, "properties": {"repobilityId": "c74e44383f5378fe", "scanner": "scanner-primary", "fingerprint": "887bba329541b0c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d228258b18c4c454", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-v2-standard.js:49"}, "properties": {"repobilityId": "183e070c6f00b9a5", "scanner": "scanner-primary", "fingerprint": "d228258b18c4c454", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39ec817552cbbd2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lint-ux-standards.js:77"}, "properties": {"repobilityId": "8ce8dbdaf64a44bd", "scanner": "scanner-primary", "fingerprint": "39ec817552cbbd2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da1c0afdacd4894d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:136"}, "properties": {"repobilityId": "bf44781c42342b2a", "scanner": "scanner-primary", "fingerprint": "da1c0afdacd4894d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f6d6503967475f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/capture-modes.js:82"}, "properties": {"repobilityId": "ee0ab3f03754a417", "scanner": "scanner-primary", "fingerprint": "0f6d6503967475f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ca1f98ee73737be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-customer-portfolio-quadrant.js:166"}, "properties": {"repobilityId": "d21142086e8fc321", "scanner": "scanner-primary", "fingerprint": "9ca1f98ee73737be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a82fc9b062a80c89", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/rewrite-events-db.js:278"}, "properties": {"repobilityId": "4c1ddb2c2cc638ec", "scanner": "scanner-primary", "fingerprint": "a82fc9b062a80c89", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-598b330325fb790a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-day-close-v1.js:206"}, "properties": {"repobilityId": "f2c61c89a27c0b7b", "scanner": "scanner-primary", "fingerprint": "598b330325fb790a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c5894bdd7f66f7f", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/customers.js:919"}, "properties": {"repobilityId": "4cb61165c0b9b4d1", "scanner": "scanner-primary", "fingerprint": "4c5894bdd7f66f7f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-2e41f8b246735b08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/customers.js:2456"}, "properties": {"repobilityId": "ab1608811cbb9a4d", "scanner": "scanner-primary", "fingerprint": "2e41f8b246735b08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f68b67f6716c217c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/accounting.js:60"}, "properties": {"repobilityId": "09467091b6db425d", "scanner": "scanner-primary", "fingerprint": "f68b67f6716c217c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2b76dba26bec274", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/website.js:2866"}, "properties": {"repobilityId": "0c8b05bd04983540", "scanner": "scanner-primary", "fingerprint": "d2b76dba26bec274", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-32aef60a8a6555e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/website.js:2533"}, "properties": {"repobilityId": "28a6ad64c528e0af", "scanner": "scanner-primary", "fingerprint": "32aef60a8a6555e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-153f4b3fe1f9dd46", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/lookbooks.js:441"}, "properties": {"repobilityId": "8abd01f6e20f399e", "scanner": "scanner-primary", "fingerprint": "153f4b3fe1f9dd46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-7ba4b81241be5ed9", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/sales.js:1531"}, "properties": {"repobilityId": "9bc644accc62b8b1", "scanner": "scanner-primary", "fingerprint": "7ba4b81241be5ed9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-1a64a5a43eb864cf", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/team.js:1356"}, "properties": {"repobilityId": "6d9fd127ec8e9ec6", "scanner": "scanner-primary", "fingerprint": "1a64a5a43eb864cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-2f8a5aed886d0223", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/blog.js:558"}, "properties": {"repobilityId": "ac111b52034bf9cd", "scanner": "scanner-primary", "fingerprint": "2f8a5aed886d0223", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-d3bf11485edd0d2e", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/maker.js:1710"}, "properties": {"repobilityId": "1622770dcdf7260a", "scanner": "scanner-primary", "fingerprint": "d3bf11485edd0d2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-8db85c9cb330509b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/modules/maker.js:3444"}, "properties": {"repobilityId": "a21ebb3cc3cc95dc", "scanner": "scanner-primary", "fingerprint": "8db85c9cb330509b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6d023b7500c9f095", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/maker.js:3417"}, "properties": {"repobilityId": "eefaf4a444121ee3", "scanner": "scanner-primary", "fingerprint": "6d023b7500c9f095", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d9cbe91af9b19fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/book.js:4011"}, "properties": {"repobilityId": "7a3beb834efd26ed", "scanner": "scanner-primary", "fingerprint": "0d9cbe91af9b19fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a97e27df3d0bd7a7", "level": "note", "message": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 app/modules/book.js:210"}, "properties": {"repobilityId": "0c6c3ede478cd990", "scanner": "scanner-primary", "fingerprint": "a97e27df3d0bd7a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.edge-label.no-bg"]}}, {"ruleId": "scanner-1c41030a4443d12b", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/stories-v2.js:320"}, "properties": {"repobilityId": "71e19fb8e617978b", "scanner": "scanner-primary", "fingerprint": "1c41030a4443d12b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-26fc978713800f35", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/production.js:687"}, "properties": {"repobilityId": "0cf4520c4fd8c1aa", "scanner": "scanner-primary", "fingerprint": "26fc978713800f35", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-f768e66bf24f3107", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/production.js:882"}, "properties": {"repobilityId": "018437234024377c", "scanner": "scanner-primary", "fingerprint": "f768e66bf24f3107", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdaced97af2ce6ca", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/show-light.js:772"}, "properties": {"repobilityId": "ce498114d03bc654", "scanner": "scanner-primary", "fingerprint": "cdaced97af2ce6ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-cf6a66e44301467a", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/trips.js:1567"}, "properties": {"repobilityId": "39fff416070b4cd8", "scanner": "scanner-primary", "fingerprint": "cf6a66e44301467a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-496583a8f34c3e10", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/newsletter.js:962"}, "properties": {"repobilityId": "f5546a5786fb7929", "scanner": "scanner-primary", "fingerprint": "496583a8f34c3e10", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-17d16756f5f11792", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/shows.js:943"}, "properties": {"repobilityId": "857293dd3fb30068", "scanner": "scanner-primary", "fingerprint": "17d16756f5f11792", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-5a175caaf95fc3ac", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/modules/finance.js:1427"}, "properties": {"repobilityId": "d7f701b20d450f14", "scanner": "scanner-primary", "fingerprint": "5a175caaf95fc3ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-ee1e81fe002ab6b3", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/modules/finance.js:2814"}, "properties": {"repobilityId": "804bfad75f7b84e1", "scanner": "scanner-primary", "fingerprint": "ee1e81fe002ab6b3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-97ccb41fd2fec6e8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/modules/workflows/workflow-engine.js:114"}, "properties": {"repobilityId": "993bad559ffa178b", "scanner": "scanner-primary", "fingerprint": "97ccb41fd2fec6e8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6ce268c424a8540", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 show/show.js:139"}, "properties": {"repobilityId": "3720bbc5329d0b28", "scanner": "scanner-primary", "fingerprint": "e6ce268c424a8540", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bcfec4952ff7a1b4", "level": "warning", "message": {"text": "Privileged port 50 in use"}, "properties": {"repobilityId": "da61f654c07ea7a9", "scanner": "scanner-primary", "fingerprint": "bcfec4952ff7a1b4", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/fulfillment.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc8c9667de51bf8f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in survey.html:372"}, "properties": {"repobilityId": "9a95f1d57b31c40c", "scanner": "scanner-primary", "fingerprint": "dc8c9667de51bf8f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "survey.html"}, "region": {"startLine": 372}}}]}, {"ruleId": "scanner-ed9be1b8d35cc496", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in return-shipped.html:228"}, "properties": {"repobilityId": "6929df8573466c76", "scanner": "scanner-primary", "fingerprint": "ed9be1b8d35cc496", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "return-shipped.html"}, "region": {"startLine": 228}}}]}, {"ruleId": "scanner-0efaa7b4f4538564", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-tenant.js:165"}, "properties": {"repobilityId": "3f40db0433a8458f", "scanner": "scanner-primary", "fingerprint": "0efaa7b4f4538564", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "storefront-tenant.js"}, "region": {"startLine": 165}}}]}, {"ruleId": "scanner-d055beacf6f98a0a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout.js:418"}, "properties": {"repobilityId": "90804d1cbc254ec5", "scanner": "scanner-primary", "fingerprint": "d055beacf6f98a0a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "checkout.js"}, "region": {"startLine": 418}}}]}, {"ruleId": "scanner-7df0c5268d174531", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schema-org.js:327"}, "properties": {"repobilityId": "69b486aac840ffe4", "scanner": "scanner-primary", "fingerprint": "7df0c5268d174531", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "schema-org.js"}, "region": {"startLine": 327}}}]}, {"ruleId": "scanner-a2089eefe6aed0bc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in product.html:1123"}, "properties": {"repobilityId": "ce7de1985e9d627f", "scanner": "scanner-primary", "fingerprint": "a2089eefe6aed0bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product.html"}, "region": {"startLine": 1123}}}]}, {"ruleId": "scanner-e5a342fd68152976", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in product.html:2060"}, "properties": {"repobilityId": "76f39bbe2de597da", "scanner": "scanner-primary", "fingerprint": "e5a342fd68152976", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product.html"}, "region": {"startLine": 2060}}}]}, {"ruleId": "scanner-05d3114b58874762", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in classes.html:456"}, "properties": {"repobilityId": "9a68ad072e48c201", "scanner": "scanner-primary", "fingerprint": "05d3114b58874762", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "classes.html"}, "region": {"startLine": 456}}}]}, {"ruleId": "scanner-556075d643cc7169", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in claim-coupon.html:385"}, "properties": {"repobilityId": "288d0fc75ef70793", "scanner": "scanner-primary", "fingerprint": "556075d643cc7169", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "claim-coupon.html"}, "region": {"startLine": 385}}}]}, {"ruleId": "scanner-a75882c6c4c15c1a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-passes.html:253"}, "properties": {"repobilityId": "9f53597719879c99", "scanner": "scanner-primary", "fingerprint": "a75882c6c4c15c1a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "my-passes.html"}, "region": {"startLine": 253}}}]}, {"ruleId": "scanner-fa1e20b69d1fbaf7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tenant-brand.js:299"}, "properties": {"repobilityId": "94ab5be217d79320", "scanner": "scanner-primary", "fingerprint": "fa1e20b69d1fbaf7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tenant-brand.js"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-77a2b93b31bc7ed5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in terms.html:185"}, "properties": {"repobilityId": "689f4428aa485aff", "scanner": "scanner-primary", "fingerprint": "77a2b93b31bc7ed5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "terms.html"}, "region": {"startLine": 185}}}]}, {"ruleId": "scanner-75d12113e49cfec7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wholesale.html:526"}, "properties": {"repobilityId": "cc4f35f29a512ae7", "scanner": "scanner-primary", "fingerprint": "75d12113e49cfec7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wholesale.html"}, "region": {"startLine": 526}}}]}, {"ruleId": "scanner-2b06feaa9db412aa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1849"}, "properties": {"repobilityId": "f91708437a3a5445", "scanner": "scanner-primary", "fingerprint": "2b06feaa9db412aa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 1849}}}]}, {"ruleId": "scanner-4b1a2bf4e7147f74", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in membership.html:283"}, "properties": {"repobilityId": "2f448e7a17bd01a6", "scanner": "scanner-primary", "fingerprint": "4b1a2bf4e7147f74", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "membership.html"}, "region": {"startLine": 283}}}]}, {"ruleId": "scanner-06b3932b859c275e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in feedback-widget.js:186"}, "properties": {"repobilityId": "532f03fc78b85309", "scanner": "scanner-primary", "fingerprint": "06b3932b859c275e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "feedback-widget.js"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-f92ce9dc68f16497", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-nav.js:214"}, "properties": {"repobilityId": "0ecc8aa39c0877fe", "scanner": "scanner-primary", "fingerprint": "f92ce9dc68f16497", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "storefront-nav.js"}, "region": {"startLine": 214}}}]}, {"ruleId": "scanner-37231e3eb29786bf", "level": "note", "message": {"text": "Insecure pattern 'document_write' in schedule.html:331"}, "properties": {"repobilityId": "773713572f6635c6", "scanner": "scanner-primary", "fingerprint": "37231e3eb29786bf", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "schedule.html"}, "region": {"startLine": 331}}}]}, {"ruleId": "scanner-aa0a12ffb6d3a11b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in schedule.html:510"}, "properties": {"repobilityId": "9be8abf8d8a4a568", "scanner": "scanner-primary", "fingerprint": "aa0a12ffb6d3a11b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "schedule.html"}, "region": {"startLine": 510}}}]}, {"ruleId": "scanner-4495983bd68221d7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in storefront-theme.js:311"}, "properties": {"repobilityId": "a190beeb921d5038", "scanner": "scanner-primary", "fingerprint": "4495983bd68221d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "storefront-theme.js"}, "region": {"startLine": 311}}}]}, {"ruleId": "scanner-2da7f64f6ba7e976", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cart.js:584"}, "properties": {"repobilityId": "2302191ef2ebd42b", "scanner": "scanner-primary", "fingerprint": "2da7f64f6ba7e976", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cart.js"}, "region": {"startLine": 584}}}]}, {"ruleId": "scanner-ed7f1c73129e4b51", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shop.html:688"}, "properties": {"repobilityId": "cb1460ccc141f1c9", "scanner": "scanner-primary", "fingerprint": "ed7f1c73129e4b51", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shop.html"}, "region": {"startLine": 688}}}]}, {"ruleId": "scanner-12e0380ecdcba822", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in commission.html:633"}, "properties": {"repobilityId": "39f700e3bac7fd31", "scanner": "scanner-primary", "fingerprint": "12e0380ecdcba822", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "commission.html"}, "region": {"startLine": 633}}}]}, {"ruleId": "scanner-08fa890e53df5f51", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in about.html:520"}, "properties": {"repobilityId": "2fd71b61ec7ccf47", "scanner": "scanner-primary", "fingerprint": "08fa890e53df5f51", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "about.html"}, "region": {"startLine": 520}}}]}, {"ruleId": "scanner-582301a33eeaaa41", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in waiver.html:134"}, "properties": {"repobilityId": "d59efa18d2967b28", "scanner": "scanner-primary", "fingerprint": "582301a33eeaaa41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "waiver.html"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-3b5f4c22c8b60e80", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in manage-seats.html:299"}, "properties": {"repobilityId": "ba02757bd7019585", "scanner": "scanner-primary", "fingerprint": "3b5f4c22c8b60e80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "manage-seats.html"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-219feefc6be24a5f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-wallet.html:254"}, "properties": {"repobilityId": "f5ec900d7f3622a3", "scanner": "scanner-primary", "fingerprint": "219feefc6be24a5f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "my-wallet.html"}, "region": {"startLine": 254}}}]}, {"ruleId": "scanner-945581c26b662506", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:1219"}, "properties": {"repobilityId": "633c95fde20127c3", "scanner": "scanner-primary", "fingerprint": "945581c26b662506", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "orders.html"}, "region": {"startLine": 1219}}}]}, {"ruleId": "scanner-efaa840176c78c8f", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in orders.html:1754"}, "properties": {"repobilityId": "dec8d1e063450e2c", "scanner": "scanner-primary", "fingerprint": "efaa840176c78c8f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "orders.html"}, "region": {"startLine": 1754}}}]}, {"ruleId": "scanner-94da9bd23b01457b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in redeem-gift-card.html:371"}, "properties": {"repobilityId": "a3d4bf70c35f31bb", "scanner": "scanner-primary", "fingerprint": "94da9bd23b01457b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "redeem-gift-card.html"}, "region": {"startLine": 371}}}]}, {"ruleId": "scanner-30d74566c7f7b17f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cancel-booking.html:290"}, "properties": {"repobilityId": "24275986a809d318", "scanner": "scanner-primary", "fingerprint": "30d74566c7f7b17f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cancel-booking.html"}, "region": {"startLine": 290}}}]}, {"ruleId": "scanner-2b92a17eac360b16", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in policies.html:353"}, "properties": {"repobilityId": "526494094367cc36", "scanner": "scanner-primary", "fingerprint": "2b92a17eac360b16", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "policies.html"}, "region": {"startLine": 353}}}]}, {"ruleId": "scanner-87326ddc9ad9113c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in gift-cards.html:376"}, "properties": {"repobilityId": "eece38f24179ee49", "scanner": "scanner-primary", "fingerprint": "87326ddc9ad9113c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gift-cards.html"}, "region": {"startLine": 376}}}]}, {"ruleId": "scanner-d8473a0f8f3b772e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in my-classes.html:533"}, "properties": {"repobilityId": "441a4281e067d152", "scanner": "scanner-primary", "fingerprint": "d8473a0f8f3b772e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "my-classes.html"}, "region": {"startLine": 533}}}]}, {"ruleId": "scanner-cf49c3ab79455941", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in share-widget.js:57"}, "properties": {"repobilityId": "c734c6536c11e925", "scanner": "scanner-primary", "fingerprint": "cf49c3ab79455941", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "share-widget.js"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-8fcddba71041e81f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in customer-statement.html:204"}, "properties": {"repobilityId": "ace754b12bb81e43", "scanner": "scanner-primary", "fingerprint": "8fcddba71041e81f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "customer-statement.html"}, "region": {"startLine": 204}}}]}, {"ruleId": "scanner-719d64b4138d362b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in class-detail.html:494"}, "properties": {"repobilityId": "8c9640450d6de06c", "scanner": "scanner-primary", "fingerprint": "719d64b4138d362b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "class-detail.html"}, "region": {"startLine": 494}}}]}, {"ruleId": "scanner-c7e558bc90f05679", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in blog/index.html:563"}, "properties": {"repobilityId": "c533bafccaac8061", "scanner": "scanner-primary", "fingerprint": "c7e558bc90f05679", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "blog/index.html"}, "region": {"startLine": 563}}}]}, {"ruleId": "scanner-1ab3301f7b6398c8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in blog/post.html:284"}, "properties": {"repobilityId": "79dd59f82d742629", "scanner": "scanner-primary", "fingerprint": "1ab3301f7b6398c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "blog/post.html"}, "region": {"startLine": 284}}}]}, {"ruleId": "scanner-c1344f046c561f62", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in events/events.js:360"}, "properties": {"repobilityId": "1ecf087b370769a5", "scanner": "scanner-primary", "fingerprint": "c1344f046c561f62", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "events/events.js"}, "region": {"startLine": 360}}}]}, {"ruleId": "scanner-0d8ada746e95a65a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/products-v2-mock.html:275"}, "properties": {"repobilityId": "d2ce36689ee105c3", "scanner": "scanner-primary", "fingerprint": "0d8ada746e95a65a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/ux-audit/products-v2-mock.html"}, "region": {"startLine": 275}}}]}, {"ruleId": "scanner-68dc3053aa13c92f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in docs/ux-audit/guided-record-mock.html:207"}, "properties": {"repobilityId": "06a22adece983322", "scanner": "scanner-primary", "fingerprint": "68dc3053aa13c92f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/ux-audit/guided-record-mock.html"}, "region": {"startLine": 207}}}]}, {"ruleId": "scanner-946ae6260013a80d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-ui.js:55"}, "properties": {"repobilityId": "0b7f53ea3493f258", "scanner": "scanner-primary", "fingerprint": "946ae6260013a80d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/mast-ui.js"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-bcb7832862702939", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in shared/mast-ui.js:528"}, "properties": {"repobilityId": "6fde1596eb35b56b", "scanner": "scanner-primary", "fingerprint": "bcb7832862702939", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/mast-ui.js"}, "region": {"startLine": 528}}}]}, {"ruleId": "scanner-bc09fc37a70b4b3d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shared/mast-entity.js:443"}, "properties": {"repobilityId": "4de69302482ae2c7", "scanner": "scanner-primary", "fingerprint": "bc09fc37a70b4b3d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shared/mast-entity.js"}, "region": {"startLine": 443}}}]}, {"ruleId": "scanner-5266785cb283798a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-mode-set.js:25"}, "properties": {"repobilityId": "9fa9ad901f5dce40", "scanner": "scanner-primary", "fingerprint": "5266785cb283798a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-mode-set.js"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-c5affb196f9d08cf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-fk.js:38"}, "properties": {"repobilityId": "09b184204472a90a", "scanner": "scanner-primary", "fingerprint": "c5affb196f9d08cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-gallery-fk.js"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-f60661445c716532", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-wholesale-account-fk.js:33"}, "properties": {"repobilityId": "f37beac4643f57eb", "scanner": "scanner-primary", "fingerprint": "f60661445c716532", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-wholesale-account-fk.js"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-525d68e2839d99f3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/bootstrap-qbo-realm-index.js:32"}, "properties": {"repobilityId": "9fc1eb64795763a9", "scanner": "scanner-primary", "fingerprint": "525d68e2839d99f3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/bootstrap-qbo-realm-index.js"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-5e94117bd5955fed", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scripts/scaffold-v2-module.mjs:137"}, "properties": {"repobilityId": "fd28893ee11e3ac5", "scanner": "scanner-primary", "fingerprint": "5e94117bd5955fed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/scaffold-v2-module.mjs"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-71be33ec71f1ccbc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-item-bridge.js:40"}, "properties": {"repobilityId": "ecbea7e52ad1ec3e", "scanner": "scanner-primary", "fingerprint": "71be33ec71f1ccbc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-qbo-item-bridge.js"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-89f79fce2c716407", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/lint-cache-bust.js:37"}, "properties": {"repobilityId": "0470a5d5050a5f3d", "scanner": "scanner-primary", "fingerprint": "89f79fce2c716407", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lint-cache-bust.js"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-9ea1d42c5ef45dc8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fix-snapval.js:128"}, "properties": {"repobilityId": "04ae3ff0c5fcb934", "scanner": "scanner-primary", "fingerprint": "9ea1d42c5ef45dc8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fix-snapval.js"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-65e0f779f0c5a215", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/migrate-coin-ratio.js:20"}, "properties": {"repobilityId": "d062125361ad96eb", "scanner": "scanner-primary", "fingerprint": "65e0f779f0c5a215", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/migrate-coin-ratio.js"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-fad3e50ae2dec926", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-gallery-entities.js:40"}, "properties": {"repobilityId": "c63e0664deaf5583", "scanner": "scanner-primary", "fingerprint": "fad3e50ae2dec926", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-gallery-entities.js"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-140eee5d2e38fce6", "level": "error", "message": {"text": "Possible secret in scripts/register-tenant.sh"}, "properties": {"repobilityId": "ed628cbf71d1092b", "scanner": "scanner-primary", "fingerprint": "140eee5d2e38fce6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/register-tenant.sh"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-279e77d35c8a44d4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/migrate-refs.js:399"}, "properties": {"repobilityId": "53fd8d0c43f59a1b", "scanner": "scanner-primary", "fingerprint": "279e77d35c8a44d4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/migrate-refs.js"}, "region": {"startLine": 399}}}]}, {"ruleId": "scanner-30586fc965952c02", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-qbo-customer-vendor-bridge.js:32"}, "properties": {"repobilityId": "c08f0b50bb9febaa", "scanner": "scanner-primary", "fingerprint": "30586fc965952c02", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-qbo-customer-vendor-bridge.js"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-861d3d43a453d479", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-customer-portfolio-quadrant.js:40"}, "properties": {"repobilityId": "cb62ac00cb99706f", "scanner": "scanner-primary", "fingerprint": "861d3d43a453d479", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-customer-portfolio-quadrant.js"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-b7919ae5e0326b10", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/backfill-day-close-v1.js:43"}, "properties": {"repobilityId": "457878b190863610", "scanner": "scanner-primary", "fingerprint": "b7919ae5e0326b10", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backfill-day-close-v1.js"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-d0f1fb8bb03a4cd2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/gift-cards-v2.js:191"}, "properties": {"repobilityId": "80e5a1540c47aa5d", "scanner": "scanner-primary", "fingerprint": "d0f1fb8bb03a4cd2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/gift-cards-v2.js"}, "region": {"startLine": 191}}}]}, {"ruleId": "scanner-71e65d4d6f54a6da", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wallet-v2.js:186"}, "properties": {"repobilityId": "898f0a4e98ee95c2", "scanner": "scanner-primary", "fingerprint": "71e65d4d6f54a6da", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/wallet-v2.js"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-4b54d8d68e604683", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips-v2.js:270"}, "properties": {"repobilityId": "5e9e713bae4670ff", "scanner": "scanner-primary", "fingerprint": "4b54d8d68e604683", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/trips-v2.js"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-2b36a9184c7dba80", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers.js:232"}, "properties": {"repobilityId": "f79116e6de80316f", "scanner": "scanner-primary", "fingerprint": "2b36a9184c7dba80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/customers.js"}, "region": {"startLine": 232}}}]}, {"ruleId": "scanner-7593a74c4d773a75", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/accounting.js:82"}, "properties": {"repobilityId": "8ca207faccdc7aa2", "scanner": "scanner-primary", "fingerprint": "7593a74c4d773a75", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/accounting.js"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-48280f23e93d5732", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/passes-v2.js:389"}, "properties": {"repobilityId": "232212887d0a25e7", "scanner": "scanner-primary", "fingerprint": "48280f23e93d5732", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/passes-v2.js"}, "region": {"startLine": 389}}}]}, {"ruleId": "scanner-a5202c438c8306c4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/website.js:335"}, "properties": {"repobilityId": "9d7cb6d6b44fece2", "scanner": "scanner-primary", "fingerprint": "a5202c438c8306c4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/website.js"}, "region": {"startLine": 335}}}]}, {"ruleId": "scanner-37e6490d19331a59", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar.js:149"}, "properties": {"repobilityId": "a37ff23c2e960f67", "scanner": "scanner-primary", "fingerprint": "37e6490d19331a59", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/marketing-calendar.js"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-ea3ae9106491598b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-faqs-v2.js:266"}, "properties": {"repobilityId": "44283bddbe69c2db", "scanner": "scanner-primary", "fingerprint": "ea3ae9106491598b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cs-faqs-v2.js"}, "region": {"startLine": 266}}}]}, {"ruleId": "scanner-b506c73d280b80c0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks.js:140"}, "properties": {"repobilityId": "810cf93779d8eb6e", "scanner": "scanner-primary", "fingerprint": "b506c73d280b80c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/lookbooks.js"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-86c8ec562f44da98", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks.js:504"}, "properties": {"repobilityId": "5a8cbfbea76af1ed", "scanner": "scanner-primary", "fingerprint": "86c8ec562f44da98", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/lookbooks.js"}, "region": {"startLine": 504}}}]}, {"ruleId": "scanner-0db0bc5a1c0349ea", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-expenses-v2.js:306"}, "properties": {"repobilityId": "729f5da7c830073a", "scanner": "scanner-primary", "fingerprint": "0db0bc5a1c0349ea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance-expenses-v2.js"}, "region": {"startLine": 306}}}]}, {"ruleId": "scanner-a5ca652d7a7bd640", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions.js:115"}, "properties": {"repobilityId": "d2587b512de6c2b3", "scanner": "scanner-primary", "fingerprint": "a5ca652d7a7bd640", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/promotions.js"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-d15a96eff2a3d2e1", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/sales.js:2607"}, "properties": {"repobilityId": "c8a1e72975038de0", "scanner": "scanner-primary", "fingerprint": "d15a96eff2a3d2e1", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/sales.js"}, "region": {"startLine": 2607}}}]}, {"ruleId": "scanner-5468dd27d4bcaf58", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales.js:216"}, "properties": {"repobilityId": "c783d413b09ef991", "scanner": "scanner-primary", "fingerprint": "5468dd27d4bcaf58", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/sales.js"}, "region": {"startLine": 216}}}]}, {"ruleId": "scanner-4b972c71122c7a8f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio-v2.js:352"}, "properties": {"repobilityId": "8084043ba4e3960a", "scanner": "scanner-primary", "fingerprint": "4b972c71122c7a8f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/studio-v2.js"}, "region": {"startLine": 352}}}]}, {"ruleId": "scanner-a9fd1375a25063df", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns-v2.js:148"}, "properties": {"repobilityId": "e817d3850166e118", "scanner": "scanner-primary", "fingerprint": "a9fd1375a25063df", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/campaigns-v2.js"}, "region": {"startLine": 148}}}]}, {"ruleId": "scanner-9acd2c52bc8cc2bf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team.js:202"}, "properties": {"repobilityId": "ba64acd1e7cfcc23", "scanner": "scanner-primary", "fingerprint": "9acd2c52bc8cc2bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/team.js"}, "region": {"startLine": 202}}}]}, {"ruleId": "scanner-45f23a0c29b83a6c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment.js:142"}, "properties": {"repobilityId": "ba6b7ccf940445f4", "scanner": "scanner-primary", "fingerprint": "45f23a0c29b83a6c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/fulfillment.js"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-1279873aa3ed4af4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-config-v2.js:523"}, "properties": {"repobilityId": "6300662a768317f6", "scanner": "scanner-primary", "fingerprint": "1279873aa3ed4af4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/students-config-v2.js"}, "region": {"startLine": 523}}}]}, {"ruleId": "scanner-4a8dcd52f4a63a83", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/rma-v2.js:194"}, "properties": {"repobilityId": "c55b4d5f1ccf2cf4", "scanner": "scanner-primary", "fingerprint": "4a8dcd52f4a63a83", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/rma-v2.js"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-9034c399ccbee2ae", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog.js:212"}, "properties": {"repobilityId": "5620d9541c1a9453", "scanner": "scanner-primary", "fingerprint": "9034c399ccbee2ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/blog.js"}, "region": {"startLine": 212}}}]}, {"ruleId": "scanner-f1db5af431f12d62", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand-v2.js:121"}, "properties": {"repobilityId": "24fa3c0d7a1985db", "scanner": "scanner-primary", "fingerprint": "f1db5af431f12d62", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/brand-v2.js"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-8ba306ac6ec937ff", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/duplicates-v2.js:74"}, "properties": {"repobilityId": "54ae4af57c2b2e3c", "scanner": "scanner-primary", "fingerprint": "8ba306ac6ec937ff", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/duplicates-v2.js"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-4bbbfe7f4ab1ac2a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students-v2.js:323"}, "properties": {"repobilityId": "3479620159050a83", "scanner": "scanner-primary", "fingerprint": "4bbbfe7f4ab1ac2a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/students-v2.js"}, "region": {"startLine": 323}}}]}, {"ruleId": "scanner-a0bf25bbf64a3195", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/analytics-v2.js:160"}, "properties": {"repobilityId": "9d1497d8863e7b58", "scanner": "scanner-primary", "fingerprint": "a0bf25bbf64a3195", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/analytics-v2.js"}, "region": {"startLine": 160}}}]}, {"ruleId": "scanner-8baee586d51d8dca", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-portfolio-v2.js:52"}, "properties": {"repobilityId": "59e0d6c431899220", "scanner": "scanner-primary", "fingerprint": "8baee586d51d8dca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/customer-portfolio-v2.js"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-c5e4fe1819c4b028", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/procurement-v2.js:513"}, "properties": {"repobilityId": "e1a47be18c1eb919", "scanner": "scanner-primary", "fingerprint": "c5e4fe1819c4b028", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/procurement-v2.js"}, "region": {"startLine": 513}}}]}, {"ruleId": "scanner-aefd699086daf37a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement-v2.js:431"}, "properties": {"repobilityId": "2533f021bdee6cc4", "scanner": "scanner-primary", "fingerprint": "aefd699086daf37a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/procurement-v2.js"}, "region": {"startLine": 431}}}]}, {"ruleId": "scanner-069c3ef76cf9de2d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-surveys-v2.js:473"}, "properties": {"repobilityId": "1065c06bc369ca73", "scanner": "scanner-primary", "fingerprint": "069c3ef76cf9de2d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cs-surveys-v2.js"}, "region": {"startLine": 473}}}]}, {"ruleId": "scanner-ef6ecb2fe01d8494", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-reviews-v2.js:326"}, "properties": {"repobilityId": "131a340c791076e1", "scanner": "scanner-primary", "fingerprint": "ef6ecb2fe01d8494", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cs-reviews-v2.js"}, "region": {"startLine": 326}}}]}, {"ruleId": "scanner-bc25187e8093ecf6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customers-v2.js:310"}, "properties": {"repobilityId": "c88a1a3688054b72", "scanner": "scanner-primary", "fingerprint": "bc25187e8093ecf6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/customers-v2.js"}, "region": {"startLine": 310}}}]}, {"ruleId": "scanner-caa0c28db034a8c8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/maker.js:1735"}, "properties": {"repobilityId": "770b69915fefd62b", "scanner": "scanner-primary", "fingerprint": "caa0c28db034a8c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/maker.js"}, "region": {"startLine": 1735}}}]}, {"ruleId": "scanner-97f2f2bfa39d3e4d", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/maker.js:2566"}, "properties": {"repobilityId": "00a8a631bc9a270f", "scanner": "scanner-primary", "fingerprint": "97f2f2bfa39d3e4d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/maker.js"}, "region": {"startLine": 2566}}}]}, {"ruleId": "scanner-5a8f61768611ebd9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-feedback.js:398"}, "properties": {"repobilityId": "5813599d9e40fc54", "scanner": "scanner-primary", "fingerprint": "5a8f61768611ebd9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/audit-feedback.js"}, "region": {"startLine": 398}}}]}, {"ruleId": "scanner-de3347108d3f9943", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders.js:412"}, "properties": {"repobilityId": "188dd60463604df8", "scanner": "scanner-primary", "fingerprint": "de3347108d3f9943", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/orders.js"}, "region": {"startLine": 412}}}]}, {"ruleId": "scanner-7e23241c0cc178f6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/calendar-v2.js:78"}, "properties": {"repobilityId": "1385fe5fa3307036", "scanner": "scanner-primary", "fingerprint": "7e23241c0cc178f6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/calendar-v2.js"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-15a01b5f057b1cbc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/book.js:218"}, "properties": {"repobilityId": "5e67a17c535c6f5b", "scanner": "scanner-primary", "fingerprint": "15a01b5f057b1cbc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/book.js"}, "region": {"startLine": 218}}}]}, {"ruleId": "scanner-d5461648c8d7a6d0", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/book.js:1879"}, "properties": {"repobilityId": "9ac2e72d71f63b05", "scanner": "scanner-primary", "fingerprint": "d5461648c8d7a6d0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/book.js"}, "region": {"startLine": 1879}}}]}, {"ruleId": "scanner-2b829bf29b87afd5", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/book.js:3610"}, "properties": {"repobilityId": "3722d07fffca0c24", "scanner": "scanner-primary", "fingerprint": "2b829bf29b87afd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/book.js"}, "region": {"startLine": 3610}}}]}, {"ruleId": "scanner-3ecb91b8cba92e88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/stories-v2.js:307"}, "properties": {"repobilityId": "67843ed46fe04fa1", "scanner": "scanner-primary", "fingerprint": "3ecb91b8cba92e88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/stories-v2.js"}, "region": {"startLine": 307}}}]}, {"ruleId": "scanner-316346c48484e1d7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/events.js:424"}, "properties": {"repobilityId": "77d5c1a68db0d32e", "scanner": "scanner-primary", "fingerprint": "316346c48484e1d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/events.js"}, "region": {"startLine": 424}}}]}, {"ruleId": "scanner-19e2aa549df226e5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/customer-service.js:172"}, "properties": {"repobilityId": "a3adb5b5529e0de5", "scanner": "scanner-primary", "fingerprint": "19e2aa549df226e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/customer-service.js"}, "region": {"startLine": 172}}}]}, {"ruleId": "scanner-2dafe263500b089a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale-v2.js:629"}, "properties": {"repobilityId": "9fdef743f2dd9ca6", "scanner": "scanner-primary", "fingerprint": "2dafe263500b089a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/wholesale-v2.js"}, "region": {"startLine": 629}}}]}, {"ruleId": "scanner-c716af8c74b6b794", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer-v2.js:215"}, "properties": {"repobilityId": "1ee9c1f3908b2597", "scanner": "scanner-primary", "fingerprint": "c716af8c74b6b794", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/composer-v2.js"}, "region": {"startLine": 215}}}]}, {"ruleId": "scanner-922b6f3c1224c9eb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/fulfillment-v2.js:178"}, "properties": {"repobilityId": "602cbe6f2b67fe02", "scanner": "scanner-primary", "fingerprint": "922b6f3c1224c9eb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/fulfillment-v2.js"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-c3c5c9f54deb9960", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/auditlog-v2.js:194"}, "properties": {"repobilityId": "9ab0f9a672741e6d", "scanner": "scanner-primary", "fingerprint": "c3c5c9f54deb9960", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/auditlog-v2.js"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-81fc7c26470df186", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/marketing-calendar-v2.js:154"}, "properties": {"repobilityId": "adf33b85c4c98004", "scanner": "scanner-primary", "fingerprint": "81fc7c26470df186", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/marketing-calendar-v2.js"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-ff97ea531961408b", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/consignment.js:939"}, "properties": {"repobilityId": "ee880632847576b7", "scanner": "scanner-primary", "fingerprint": "ff97ea531961408b", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/consignment.js"}, "region": {"startLine": 939}}}]}, {"ruleId": "scanner-5ce33d2749db5877", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignment.js:320"}, "properties": {"repobilityId": "0a45b582406982b8", "scanner": "scanner-primary", "fingerprint": "5ce33d2749db5877", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/consignment.js"}, "region": {"startLine": 320}}}]}, {"ruleId": "scanner-29bf836797364e34", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/consignment.js:1529"}, "properties": {"repobilityId": "9918adcf8f81a1bd", "scanner": "scanner-primary", "fingerprint": "29bf836797364e34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/consignment.js"}, "region": {"startLine": 1529}}}]}, {"ruleId": "scanner-a0542a478070aa6f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage.js:252"}, "properties": {"repobilityId": "bf4779deb741dcd1", "scanner": "scanner-primary", "fingerprint": "a0542a478070aa6f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/homepage.js"}, "region": {"startLine": 252}}}]}, {"ruleId": "scanner-847b4db1ed66668e", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/production.js:2398"}, "properties": {"repobilityId": "40d4e41e053c6029", "scanner": "scanner-primary", "fingerprint": "847b4db1ed66668e", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/production.js"}, "region": {"startLine": 2398}}}]}, {"ruleId": "scanner-e6c08f8a6ee7c7d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/production.js:132"}, "properties": {"repobilityId": "715df67bc6b54269", "scanner": "scanner-primary", "fingerprint": "e6c08f8a6ee7c7d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/production.js"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-4a04c2f19e28b8ba", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/classes-v2.js:643"}, "properties": {"repobilityId": "cf00db222ebdec18", "scanner": "scanner-primary", "fingerprint": "4a04c2f19e28b8ba", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/classes-v2.js"}, "region": {"startLine": 643}}}]}, {"ruleId": "scanner-c4accc861257fa35", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-openitems-v2.js:309"}, "properties": {"repobilityId": "fddce02e73c7bea4", "scanner": "scanner-primary", "fingerprint": "c4accc861257fa35", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance-openitems-v2.js"}, "region": {"startLine": 309}}}]}, {"ruleId": "scanner-75db871b06257bc0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/studio.js:42"}, "properties": {"repobilityId": "71a14d2ce52ecacd", "scanner": "scanner-primary", "fingerprint": "75db871b06257bc0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/studio.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-7e708f9a9204e049", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/homepage-v2.js:249"}, "properties": {"repobilityId": "fb3e69c0d141f87c", "scanner": "scanner-primary", "fingerprint": "7e708f9a9204e049", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/homepage-v2.js"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-6e4bff0e50089bc9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-reports-v2.js:127"}, "properties": {"repobilityId": "3250a50a54732bff", "scanner": "scanner-primary", "fingerprint": "6e4bff0e50089bc9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance-reports-v2.js"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-3e877afb37537038", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/procurement.js:206"}, "properties": {"repobilityId": "fda9c3e30f31f79e", "scanner": "scanner-primary", "fingerprint": "3e877afb37537038", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/procurement.js"}, "region": {"startLine": 206}}}]}, {"ruleId": "scanner-1a5eaaaf3070d98c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels-v2.js:403"}, "properties": {"repobilityId": "23153bbb05da0ac7", "scanner": "scanner-primary", "fingerprint": "1a5eaaaf3070d98c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/channels-v2.js"}, "region": {"startLine": 403}}}]}, {"ruleId": "scanner-3ea46529033d5f63", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-support-v2.js:271"}, "properties": {"repobilityId": "74bae8a735070408", "scanner": "scanner-primary", "fingerprint": "3ea46529033d5f63", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cs-support-v2.js"}, "region": {"startLine": 271}}}]}, {"ruleId": "scanner-15b85498a4d2a08a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/coupons-v2.js:354"}, "properties": {"repobilityId": "fb8c94db9d72dd36", "scanner": "scanner-primary", "fingerprint": "15b85498a4d2a08a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/coupons-v2.js"}, "region": {"startLine": 354}}}]}, {"ruleId": "scanner-7921a9b05a05e3b2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lots-v2.js:143"}, "properties": {"repobilityId": "4f5773fd09e40f84", "scanner": "scanner-primary", "fingerprint": "7921a9b05a05e3b2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/lots-v2.js"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-6b6d5966fef6c412", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/jobs-v2.js:592"}, "properties": {"repobilityId": "273da18c3ebc8839", "scanner": "scanner-primary", "fingerprint": "6b6d5966fef6c412", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/jobs-v2.js"}, "region": {"startLine": 592}}}]}, {"ruleId": "scanner-163ead91671b65db", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/instructors-v2.js:333"}, "properties": {"repobilityId": "2e2c1d52c0c2a885", "scanner": "scanner-primary", "fingerprint": "163ead91671b65db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/instructors-v2.js"}, "region": {"startLine": 333}}}]}, {"ruleId": "scanner-b7488d8277c608c9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/employees-v2.js:496"}, "properties": {"repobilityId": "51a73556aed16120", "scanner": "scanner-primary", "fingerprint": "b7488d8277c608c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/employees-v2.js"}, "region": {"startLine": 496}}}]}, {"ruleId": "scanner-c134f7d0e27c478b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/membership-v2.js:358"}, "properties": {"repobilityId": "6c61e5b1b2b6a607", "scanner": "scanner-primary", "fingerprint": "c134f7d0e27c478b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/membership-v2.js"}, "region": {"startLine": 358}}}]}, {"ruleId": "scanner-41cac732e788aa40", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/students.js:167"}, "properties": {"repobilityId": "a1f6e6bbafbb2b37", "scanner": "scanner-primary", "fingerprint": "41cac732e788aa40", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/students.js"}, "region": {"startLine": 167}}}]}, {"ruleId": "scanner-b16aba1e5744ff13", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/students.js:1330"}, "properties": {"repobilityId": "df5bcf956b2c89fe", "scanner": "scanner-primary", "fingerprint": "b16aba1e5744ff13", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/students.js"}, "region": {"startLine": 1330}}}]}, {"ruleId": "scanner-83f32149781bcbe7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cart.js:45"}, "properties": {"repobilityId": "d2f85d808478ffa6", "scanner": "scanner-primary", "fingerprint": "83f32149781bcbe7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cart.js"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-4b62a765ce62a512", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/orders-v2.js:269"}, "properties": {"repobilityId": "ac2b3f619fe0dea8", "scanner": "scanner-primary", "fingerprint": "4b62a765ce62a512", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/orders-v2.js"}, "region": {"startLine": 269}}}]}, {"ruleId": "scanner-62315c6142186395", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-statements-v2.js:85"}, "properties": {"repobilityId": "04cf95566203173c", "scanner": "scanner-primary", "fingerprint": "62315c6142186395", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance-statements-v2.js"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-df1bddfaf970a7c9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/show-light.js:79"}, "properties": {"repobilityId": "d640a908e280be83", "scanner": "scanner-primary", "fingerprint": "df1bddfaf970a7c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/show-light.js"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-bd1912e85de88021", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox.js:176"}, "properties": {"repobilityId": "9b7f6299456e5cd6", "scanner": "scanner-primary", "fingerprint": "bd1912e85de88021", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/engagement-inbox.js"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-214989c2fa91b039", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/receipts-v2.js:216"}, "properties": {"repobilityId": "38d669f907434c1e", "scanner": "scanner-primary", "fingerprint": "214989c2fa91b039", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/receipts-v2.js"}, "region": {"startLine": 216}}}]}, {"ruleId": "scanner-971caee77c61ca88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping.js:771"}, "properties": {"repobilityId": "22e4771fc7fbe5ef", "scanner": "scanner-primary", "fingerprint": "971caee77c61ca88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/mapping.js"}, "region": {"startLine": 771}}}]}, {"ruleId": "scanner-f9784ec648073ba7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/lookbooks-v2.js:109"}, "properties": {"repobilityId": "99fec2027ff750e2", "scanner": "scanner-primary", "fingerprint": "f9784ec648073ba7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/lookbooks-v2.js"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-9487e7fee8a50740", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/lookbooks-v2.js:535"}, "properties": {"repobilityId": "190c364ecea8153c", "scanner": "scanner-primary", "fingerprint": "9487e7fee8a50740", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/lookbooks-v2.js"}, "region": {"startLine": 535}}}]}, {"ruleId": "scanner-b8a74f7ea1cbdc3d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance-close-v2.js:73"}, "properties": {"repobilityId": "5e9440954d16f54a", "scanner": "scanner-primary", "fingerprint": "b8a74f7ea1cbdc3d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance-close-v2.js"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-d23fe6ac2861e1c0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/terms-v2.js:223"}, "properties": {"repobilityId": "089688b7b2d4ae8b", "scanner": "scanner-primary", "fingerprint": "d23fe6ac2861e1c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/terms-v2.js"}, "region": {"startLine": 223}}}]}, {"ruleId": "scanner-beb00c8cc524554b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/enrollments-v2.js:367"}, "properties": {"repobilityId": "1a5ae5e28af3c526", "scanner": "scanner-primary", "fingerprint": "beb00c8cc524554b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/enrollments-v2.js"}, "region": {"startLine": 367}}}]}, {"ruleId": "scanner-5dfde5c2edc4d1d4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/engagement-inbox-v2.js:270"}, "properties": {"repobilityId": "36fd34afc4a09ca7", "scanner": "scanner-primary", "fingerprint": "5dfde5c2edc4d1d4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/engagement-inbox-v2.js"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-f34b2e28a45989de", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/promotions-v2.js:306"}, "properties": {"repobilityId": "b0b244265b74e23d", "scanner": "scanner-primary", "fingerprint": "f34b2e28a45989de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/promotions-v2.js"}, "region": {"startLine": 306}}}]}, {"ruleId": "scanner-5a59649308b09e67", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/newsletter-v2.js:737"}, "properties": {"repobilityId": "0090b4da571dbdd4", "scanner": "scanner-primary", "fingerprint": "5a59649308b09e67", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/newsletter-v2.js"}, "region": {"startLine": 737}}}]}, {"ruleId": "scanner-ca9c177db7bdabb3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter-v2.js:330"}, "properties": {"repobilityId": "aeb0378a5be73944", "scanner": "scanner-primary", "fingerprint": "ca9c177db7bdabb3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/newsletter-v2.js"}, "region": {"startLine": 330}}}]}, {"ruleId": "scanner-b4661bb8515ec2f5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms.js:87"}, "properties": {"repobilityId": "2cfb85a211d32e3e", "scanner": "scanner-primary", "fingerprint": "b4661bb8515ec2f5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/commission-terms.js"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-52081d61175506dc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/team-v2.js:120"}, "properties": {"repobilityId": "e85498667d00ce7e", "scanner": "scanner-primary", "fingerprint": "52081d61175506dc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/team-v2.js"}, "region": {"startLine": 120}}}]}, {"ruleId": "scanner-fe65c0ae16bf98f2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/mapping-v2.js:238"}, "properties": {"repobilityId": "21c0acd6bfbacf45", "scanner": "scanner-primary", "fingerprint": "fe65c0ae16bf98f2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/mapping-v2.js"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-afd2192d62a37442", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/trips.js:1259"}, "properties": {"repobilityId": "c63866f80ec8e8aa", "scanner": "scanner-primary", "fingerprint": "afd2192d62a37442", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/trips.js"}, "region": {"startLine": 1259}}}]}, {"ruleId": "scanner-2d20ed5fef3fb646", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/trips.js:199"}, "properties": {"repobilityId": "299377ed2c74e018", "scanner": "scanner-primary", "fingerprint": "2d20ed5fef3fb646", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/trips.js"}, "region": {"startLine": 199}}}]}, {"ruleId": "scanner-088a53945934b313", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/wholesale.js:99"}, "properties": {"repobilityId": "670645aaff6b4844", "scanner": "scanner-primary", "fingerprint": "088a53945934b313", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/wholesale.js"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-4c4a4d6872c17db9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/composer.js:78"}, "properties": {"repobilityId": "341f405c07795090", "scanner": "scanner-primary", "fingerprint": "4c4a4d6872c17db9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/composer.js"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-e49e55d9283fd12c", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/blog-v2.js:968"}, "properties": {"repobilityId": "d58a6263524d3695", "scanner": "scanner-primary", "fingerprint": "e49e55d9283fd12c", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/blog-v2.js"}, "region": {"startLine": 968}}}]}, {"ruleId": "scanner-ad44f5e8c1229a3f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/blog-v2.js:379"}, "properties": {"repobilityId": "d7d3ef02d3fcc082", "scanner": "scanner-primary", "fingerprint": "ad44f5e8c1229a3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/blog-v2.js"}, "region": {"startLine": 379}}}]}, {"ruleId": "scanner-e92017626b68c811", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/galleries-v2.js:453"}, "properties": {"repobilityId": "61cc668501e0ee1b", "scanner": "scanner-primary", "fingerprint": "e92017626b68c811", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/galleries-v2.js"}, "region": {"startLine": 453}}}]}, {"ruleId": "scanner-a1f4443fcb7c8788", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/materials-v2.js:278"}, "properties": {"repobilityId": "9f1cb8c3d06e27d8", "scanner": "scanner-primary", "fingerprint": "a1f4443fcb7c8788", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/materials-v2.js"}, "region": {"startLine": 278}}}]}, {"ruleId": "scanner-a07b50d8641776e1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/inquiries-v2.js:265"}, "properties": {"repobilityId": "1482cbb2af4c419c", "scanner": "scanner-primary", "fingerprint": "a07b50d8641776e1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/inquiries-v2.js"}, "region": {"startLine": 265}}}]}, {"ruleId": "scanner-40a6b62581a47186", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commissions-v2.js:347"}, "properties": {"repobilityId": "af3f7714c59ea0ca", "scanner": "scanner-primary", "fingerprint": "40a6b62581a47186", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/commissions-v2.js"}, "region": {"startLine": 347}}}]}, {"ruleId": "scanner-4e7fd0f2139832d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/cs-members-v2.js:425"}, "properties": {"repobilityId": "a9ccd6dfe9deb25c", "scanner": "scanner-primary", "fingerprint": "4e7fd0f2139832d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/cs-members-v2.js"}, "region": {"startLine": 425}}}]}, {"ruleId": "scanner-72605dfaa64e809d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/brand.js:92"}, "properties": {"repobilityId": "fb558aa7b47dac80", "scanner": "scanner-primary", "fingerprint": "72605dfaa64e809d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/brand.js"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-c9dbb8d3919df596", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log-v2.js:297"}, "properties": {"repobilityId": "94c2bfc00f6dee4b", "scanner": "scanner-primary", "fingerprint": "c9dbb8d3919df596", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/email-log-v2.js"}, "region": {"startLine": 297}}}]}, {"ruleId": "scanner-45bd11090651d2e8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/subscription-v2.js:253"}, "properties": {"repobilityId": "743a3b6bb08159ae", "scanner": "scanner-primary", "fingerprint": "45bd11090651d2e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/subscription-v2.js"}, "region": {"startLine": 253}}}]}, {"ruleId": "scanner-8f213364a2231793", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/vendors-v2.js:452"}, "properties": {"repobilityId": "6c8628c85422f613", "scanner": "scanner-primary", "fingerprint": "8f213364a2231793", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/vendors-v2.js"}, "region": {"startLine": 452}}}]}, {"ruleId": "scanner-f795c6d8e67f032a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/email-log.js:291"}, "properties": {"repobilityId": "2cc1f851ba5ba737", "scanner": "scanner-primary", "fingerprint": "f795c6d8e67f032a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/email-log.js"}, "region": {"startLine": 291}}}]}, {"ruleId": "scanner-f75fe1e7495751ce", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/advisor.js:157"}, "properties": {"repobilityId": "d33be08b1e2cfc73", "scanner": "scanner-primary", "fingerprint": "f75fe1e7495751ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/advisor.js"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-a2883d9701a9f10c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sales-events-v2.js:152"}, "properties": {"repobilityId": "5c1a85db4e5aa5ea", "scanner": "scanner-primary", "fingerprint": "a2883d9701a9f10c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/sales-events-v2.js"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-369820a9a87598f8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit.js:465"}, "properties": {"repobilityId": "eda7171912725f67", "scanner": "scanner-primary", "fingerprint": "369820a9a87598f8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/audit.js"}, "region": {"startLine": 465}}}]}, {"ruleId": "scanner-0020c947097b81a3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts-v2.js:345"}, "properties": {"repobilityId": "aa9485df8bc2a13e", "scanner": "scanner-primary", "fingerprint": "0020c947097b81a3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/contacts-v2.js"}, "region": {"startLine": 345}}}]}, {"ruleId": "scanner-405402abc430f34d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/commission-terms-v2.js:168"}, "properties": {"repobilityId": "b6d443f42c592ea7", "scanner": "scanner-primary", "fingerprint": "405402abc430f34d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/commission-terms-v2.js"}, "region": {"startLine": 168}}}]}, {"ruleId": "scanner-3be387a392f7d7e4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/audit-v2.js:265"}, "properties": {"repobilityId": "68ddbe3c3139a533", "scanner": "scanner-primary", "fingerprint": "3be387a392f7d7e4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/audit-v2.js"}, "region": {"startLine": 265}}}]}, {"ruleId": "scanner-e4dd8429c885ba6d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/sessions-v2.js:374"}, "properties": {"repobilityId": "69ff9c81d4d5b54b", "scanner": "scanner-primary", "fingerprint": "e4dd8429c885ba6d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/sessions-v2.js"}, "region": {"startLine": 374}}}]}, {"ruleId": "scanner-a61e0cc5d0c3bb82", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/pos-v2.js:139"}, "properties": {"repobilityId": "4c82b6f4b535b0f7", "scanner": "scanner-primary", "fingerprint": "a61e0cc5d0c3bb82", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/pos-v2.js"}, "region": {"startLine": 139}}}]}, {"ruleId": "scanner-db8c4ef069f5c1ef", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social.js:83"}, "properties": {"repobilityId": "2bafb270cbdc66fa", "scanner": "scanner-primary", "fingerprint": "db8c4ef069f5c1ef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/social.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-adac3250138191ee", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/contacts.js:331"}, "properties": {"repobilityId": "632076792f467321", "scanner": "scanner-primary", "fingerprint": "adac3250138191ee", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/contacts.js"}, "region": {"startLine": 331}}}]}, {"ruleId": "scanner-a40cf48303f738e8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/channels.js:250"}, "properties": {"repobilityId": "8b8a0e65097248a6", "scanner": "scanner-primary", "fingerprint": "a40cf48303f738e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/channels.js"}, "region": {"startLine": 250}}}]}, {"ruleId": "scanner-2213457b4910915f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/products-v2.js:287"}, "properties": {"repobilityId": "5cc658f76944c354", "scanner": "scanner-primary", "fingerprint": "2213457b4910915f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/products-v2.js"}, "region": {"startLine": 287}}}]}, {"ruleId": "scanner-b1ea31caed5bebc9", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/modules/products-v2.js:360"}, "properties": {"repobilityId": "1606738dd08acfcb", "scanner": "scanner-primary", "fingerprint": "b1ea31caed5bebc9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/products-v2.js"}, "region": {"startLine": 360}}}]}, {"ruleId": "scanner-4aa8203cb400c570", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/social-v2.js:262"}, "properties": {"repobilityId": "8a459cada527d510", "scanner": "scanner-primary", "fingerprint": "4aa8203cb400c570", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/social-v2.js"}, "region": {"startLine": 262}}}]}, {"ruleId": "scanner-7dd7a28fc4ecd758", "level": "note", "message": {"text": "Insecure pattern 'document_write' in app/modules/newsletter.js:1633"}, "properties": {"repobilityId": "51f9037c4003284d", "scanner": "scanner-primary", "fingerprint": "7dd7a28fc4ecd758", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/newsletter.js"}, "region": {"startLine": 1633}}}]}, {"ruleId": "scanner-709f41a2c49ab90b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/newsletter.js:94"}, "properties": {"repobilityId": "a1169a046874fd44", "scanner": "scanner-primary", "fingerprint": "709f41a2c49ab90b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/newsletter.js"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-d7ce66dccf03c28a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/shows.js:110"}, "properties": {"repobilityId": "9046a4ece3cc9e8c", "scanner": "scanner-primary", "fingerprint": "d7ce66dccf03c28a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/shows.js"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-27ed7bce029e54ab", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/modules/shows.js:1016"}, "properties": {"repobilityId": "b5d6950f8d2ec8bc", "scanner": "scanner-primary", "fingerprint": "27ed7bce029e54ab", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/shows.js"}, "region": {"startLine": 1016}}}]}, {"ruleId": "scanner-db358e7633ff50ed", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/campaigns.js:68"}, "properties": {"repobilityId": "7226c8be363c93a4", "scanner": "scanner-primary", "fingerprint": "db358e7633ff50ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/campaigns.js"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-daee5d8e92f89657", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/finance.js:511"}, "properties": {"repobilityId": "69194e0dea1ea488", "scanner": "scanner-primary", "fingerprint": "daee5d8e92f89657", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/finance.js"}, "region": {"startLine": 511}}}]}, {"ruleId": "scanner-6760e393fa51c328", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/consignments-v2.js:331"}, "properties": {"repobilityId": "a70096bdf145fe92", "scanner": "scanner-primary", "fingerprint": "6760e393fa51c328", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/consignments-v2.js"}, "region": {"startLine": 331}}}]}, {"ruleId": "scanner-c3bd3bb960df8334", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/loyalty-v2.js:315"}, "properties": {"repobilityId": "34beea2226fe976f", "scanner": "scanner-primary", "fingerprint": "c3bd3bb960df8334", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/loyalty-v2.js"}, "region": {"startLine": 315}}}]}, {"ruleId": "scanner-004a80a2c20e159f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/resources-v2.js:285"}, "properties": {"repobilityId": "7bbf4c8476ef09a4", "scanner": "scanner-primary", "fingerprint": "004a80a2c20e159f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/resources-v2.js"}, "region": {"startLine": 285}}}]}, {"ruleId": "scanner-3f51399a6dd74851", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/modules/workflows/workflow-engine.js:823"}, "properties": {"repobilityId": "2990c243e7637ee5", "scanner": "scanner-primary", "fingerprint": "3f51399a6dd74851", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/modules/workflows/workflow-engine.js"}, "region": {"startLine": 823}}}]}, {"ruleId": "scanner-b473955c625f8ace", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apply/index.html:211"}, "properties": {"repobilityId": "ee7b87ceb4554993", "scanner": "scanner-primary", "fingerprint": "b473955c625f8ace", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apply/index.html"}, "region": {"startLine": 211}}}]}, {"ruleId": "scanner-94030e0fdf676691", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in studio/index.html:495"}, "properties": {"repobilityId": "e6246c728a96dea8", "scanner": "scanner-primary", "fingerprint": "94030e0fdf676691", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "studio/index.html"}, "region": {"startLine": 495}}}]}, {"ruleId": "scanner-042f371b1a8fe154", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in show/show.js:197"}, "properties": {"repobilityId": "7f46d63aa6f6e6cd", "scanner": "scanner-primary", "fingerprint": "042f371b1a8fe154", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "show/show.js"}, "region": {"startLine": 197}}}]}, {"ruleId": "scanner-deb7eea00fcfc835", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pos/index.html:575"}, "properties": {"repobilityId": "7790c3c221d3ff5b", "scanner": "scanner-primary", "fingerprint": "deb7eea00fcfc835", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pos/index.html"}, "region": {"startLine": 575}}}]}, {"ruleId": "scanner-15c221959367fac7", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in pos/index.html:560"}, "properties": {"repobilityId": "715e61f1fb708411", "scanner": "scanner-primary", "fingerprint": "15c221959367fac7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pos/index.html"}, "region": {"startLine": 560}}}]}, {"ruleId": "scanner-44420a785aa58306", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scan/index.html:364"}, "properties": {"repobilityId": "41b680fb16f9621d", "scanner": "scanner-primary", "fingerprint": "44420a785aa58306", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scan/index.html"}, "region": {"startLine": 364}}}]}, {"ruleId": "scanner-8c336c618756a4aa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in newsletter/unsubscribe.html:155"}, "properties": {"repobilityId": "03eae9a623187e0c", "scanner": "scanner-primary", "fingerprint": "8c336c618756a4aa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "newsletter/unsubscribe.html"}, "region": {"startLine": 155}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0804dfb44932a56a", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-266162aa2c525a31", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1ae122469e2b1fde", "scanner": "scanner-primary", "fingerprint": "266162aa2c525a31", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/lint.yml"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2aee2e2d969c7c6b", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2aee2e2d969c7c6b", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bee6b8956e03198c", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "95ad281742fed1b8", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "14c837b0bbc02389", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-ad6701f0a8405e22", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8384c23520d55657", "scanner": "scanner-primary", "fingerprint": "ad6701f0a8405e22", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eac931a0eb078f81", "level": "note", "message": {"text": "Very large file: checkout.js (3148 lines)"}, "properties": {"repobilityId": "cfe28813db56b1ea", "scanner": "scanner-primary", "fingerprint": "eac931a0eb078f81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b3697083c26003d9", "level": "note", "message": {"text": "Very large file: cart.js (1614 lines)"}, "properties": {"repobilityId": "0ba5f2132932797c", "scanner": "scanner-primary", "fingerprint": "b3697083c26003d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74e7c279c6a6e792", "level": "note", "message": {"text": "Very large file: events/events.js (1787 lines)"}, "properties": {"repobilityId": "2838165bca1d9a92", "scanner": "scanner-primary", "fingerprint": "74e7c279c6a6e792", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-12313517e9625d52", "level": "note", "message": {"text": "Very large file: shared/business-entity-constants.js (1800 lines)"}, "properties": {"repobilityId": "d620f0e123c20314", "scanner": "scanner-primary", "fingerprint": "12313517e9625d52", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-810280db1ca67e25", "level": "note", "message": {"text": "Very large file: shared/mastdb.js (2056 lines)"}, "properties": {"repobilityId": "715cd847cc07cb41", "scanner": "scanner-primary", "fingerprint": "810280db1ca67e25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-889236e0f41f4a37", "level": "note", "message": {"text": "Very large file: app/modules/customers.js (3545 lines)"}, "properties": {"repobilityId": "eec41291293cdd46", "scanner": "scanner-primary", "fingerprint": "889236e0f41f4a37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-247c94de0ac191fa", "level": "note", "message": {"text": "Very large file: app/modules/accounting.js (1551 lines)"}, "properties": {"repobilityId": "a6a38c8b5d52cd90", "scanner": "scanner-primary", "fingerprint": "247c94de0ac191fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c4d035430caddcc", "level": "note", "message": {"text": "Very large file: app/modules/website.js (3113 lines)"}, "properties": {"repobilityId": "06381b594b11023f", "scanner": "scanner-primary", "fingerprint": "8c4d035430caddcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-636aaaa664c20632", "level": "note", "message": {"text": "Very large file: app/modules/sales.js (3409 lines)"}, "properties": {"repobilityId": "79f978076d35040e", "scanner": "scanner-primary", "fingerprint": "636aaaa664c20632", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dab70b0429a561c9", "level": "note", "message": {"text": "Very large file: app/modules/team.js (3388 lines)"}, "properties": {"repobilityId": "c352ec5ba9260c69", "scanner": "scanner-primary", "fingerprint": "dab70b0429a561c9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1e4e0bd901ed2b21", "level": "note", "message": {"text": "Very large file: app/modules/fulfillment.js (1524 lines)"}, "properties": {"repobilityId": "f5bf9428b5334407", "scanner": "scanner-primary", "fingerprint": "1e4e0bd901ed2b21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92e87158745dc869", "level": "note", "message": {"text": "Very large file: app/modules/blog.js (2615 lines)"}, "properties": {"repobilityId": "cdd997b6658d4cce", "scanner": "scanner-primary", "fingerprint": "92e87158745dc869", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-985347543a93080c", "level": "note", "message": {"text": "Very large file: app/modules/procurement-v2.js (882 lines)"}, "properties": {"repobilityId": "07b5e673379e29e1", "scanner": "scanner-primary", "fingerprint": "985347543a93080c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c0667b9cd0e83eb", "level": "note", "message": {"text": "Very large file: app/modules/maker.js (7645 lines)"}, "properties": {"repobilityId": "407eb8e62f981e6f", "scanner": "scanner-primary", "fingerprint": "3c0667b9cd0e83eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-90ff14a072519fba", "level": "note", "message": {"text": "Very large file: app/modules/orders.js (6470 lines)"}, "properties": {"repobilityId": "de213a2005877cb1", "scanner": "scanner-primary", "fingerprint": "90ff14a072519fba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fe8ddfcdf75ef37a", "level": "note", "message": {"text": "Very large file: app/modules/book.js (6643 lines)"}, "properties": {"repobilityId": "28311e0048c1c4b4", "scanner": "scanner-primary", "fingerprint": "fe8ddfcdf75ef37a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-26eeaf709ae32bc8", "level": "note", "message": {"text": "Very large file: app/modules/events.js (1937 lines)"}, "properties": {"repobilityId": "51ed669a3538d118", "scanner": "scanner-primary", "fingerprint": "26eeaf709ae32bc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a52a315fdcec686b", "level": "note", "message": {"text": "Very large file: app/modules/customer-service.js (3608 lines)"}, "properties": {"repobilityId": "eee7a34cf63ead9d", "scanner": "scanner-primary", "fingerprint": "a52a315fdcec686b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3289dd6e90690b9", "level": "note", "message": {"text": "Very large file: app/modules/consignment.js (2338 lines)"}, "properties": {"repobilityId": "364670c72c33d1eb", "scanner": "scanner-primary", "fingerprint": "c3289dd6e90690b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7961f4ae1aea8864", "level": "note", "message": {"text": "Very large file: app/modules/production.js (3715 lines)"}, "properties": {"repobilityId": "81dec6e208ccedd6", "scanner": "scanner-primary", "fingerprint": "7961f4ae1aea8864", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d02740509e0f241", "level": "note", "message": {"text": "Very large file: app/modules/classes-v2.js (1255 lines)"}, "properties": {"repobilityId": "e81c9a5fa6c390fd", "scanner": "scanner-primary", "fingerprint": "1d02740509e0f241", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f39b64238735bbaa", "level": "note", "message": {"text": "Very large file: app/modules/procurement.js (2378 lines)"}, "properties": {"repobilityId": "65d1d9cb5765d671", "scanner": "scanner-primary", "fingerprint": "f39b64238735bbaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd7fef16bc1855ad", "level": "note", "message": {"text": "Very large file: app/modules/jobs-v2.js (1182 lines)"}, "properties": {"repobilityId": "7eb222f9121f94d6", "scanner": "scanner-primary", "fingerprint": "cd7fef16bc1855ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eb35114fbdffb1fd", "level": "note", "message": {"text": "Very large file: app/modules/students.js (1679 lines)"}, "properties": {"repobilityId": "ffa28138a32f9549", "scanner": "scanner-primary", "fingerprint": "eb35114fbdffb1fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-417158ec82c17d39", "level": "note", "message": {"text": "Very large file: app/modules/cart.js (1577 lines)"}, "properties": {"repobilityId": "330703afa946fc24", "scanner": "scanner-primary", "fingerprint": "417158ec82c17d39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-974fec5845ab9be1", "level": "note", "message": {"text": "Very large file: app/modules/show-light.js (1718 lines)"}, "properties": {"repobilityId": "6d6040af2dd8b35d", "scanner": "scanner-primary", "fingerprint": "974fec5845ab9be1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8851b363306edebf", "level": "note", "message": {"text": "Very large file: app/modules/mapping.js (1809 lines)"}, "properties": {"repobilityId": "c940a5606f300caf", "scanner": "scanner-primary", "fingerprint": "8851b363306edebf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b4c960362c2b5ae8", "level": "note", "message": {"text": "Very large file: app/modules/newsletter-v2.js (874 lines)"}, "properties": {"repobilityId": "3bcf36317d02d9bb", "scanner": "scanner-primary", "fingerprint": "b4c960362c2b5ae8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f98b75205beb6862", "level": "note", "message": {"text": "Very large file: app/modules/trips.js (2162 lines)"}, "properties": {"repobilityId": "a519fce931fb9b4b", "scanner": "scanner-primary", "fingerprint": "f98b75205beb6862", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7a09c78325f9753", "level": "note", "message": {"text": "Very large file: app/modules/wholesale.js (1953 lines)"}, "properties": {"repobilityId": "af3c3631cb94b873", "scanner": "scanner-primary", "fingerprint": "f7a09c78325f9753", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-264195482474e9b2", "level": "note", "message": {"text": "Very large file: app/modules/blog-v2.js (1123 lines)"}, "properties": {"repobilityId": "b6f1892546108674", "scanner": "scanner-primary", "fingerprint": "264195482474e9b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1f0ec9a0ceb2097", "level": "note", "message": {"text": "Very large file: app/modules/advisor.js (1429 lines)"}, "properties": {"repobilityId": "b13691bf0f58379c", "scanner": "scanner-primary", "fingerprint": "d1f0ec9a0ceb2097", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1ad8b761fd1a8912", "level": "note", "message": {"text": "Very large file: app/modules/audit.js (1721 lines)"}, "properties": {"repobilityId": "73526128ae87b11d", "scanner": "scanner-primary", "fingerprint": "1ad8b761fd1a8912", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-39d9592c8c7f904d", "level": "note", "message": {"text": "Very large file: app/modules/social.js (1494 lines)"}, "properties": {"repobilityId": "65f2dc9f3ec591ce", "scanner": "scanner-primary", "fingerprint": "39d9592c8c7f904d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-57aae993baadf572", "level": "note", "message": {"text": "Very large file: app/modules/contacts.js (1733 lines)"}, "properties": {"repobilityId": "84db2bdd35c8db41", "scanner": "scanner-primary", "fingerprint": "57aae993baadf572", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69c473f3e0191d87", "level": "note", "message": {"text": "Very large file: app/modules/channels.js (2946 lines)"}, "properties": {"repobilityId": "de7113b80aaad370", "scanner": "scanner-primary", "fingerprint": "69c473f3e0191d87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2c90ba74a031f2b4", "level": "note", "message": {"text": "Very large file: app/modules/products-v2.js (3523 lines)"}, "properties": {"repobilityId": "2936836d328d2ebc", "scanner": "scanner-primary", "fingerprint": "2c90ba74a031f2b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a34888082b6f725", "level": "note", "message": {"text": "Very large file: app/modules/newsletter.js (2621 lines)"}, "properties": {"repobilityId": "e46cd83810b59ac3", "scanner": "scanner-primary", "fingerprint": "9a34888082b6f725", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-814f3caaca7f836d", "level": "note", "message": {"text": "Very large file: app/modules/shows.js (3580 lines)"}, "properties": {"repobilityId": "615d0f05607ed41f", "scanner": "scanner-primary", "fingerprint": "814f3caaca7f836d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93c97f08e2e2dbcf", "level": "note", "message": {"text": "Very large file: app/modules/finance.js (8537 lines)"}, "properties": {"repobilityId": "569daf7bbfcb5bb4", "scanner": "scanner-primary", "fingerprint": "93c97f08e2e2dbcf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e361fa881bdbf874", "level": "note", "message": {"text": "Very large file: app/modules/workflows/workflow-engine.js (1571 lines)"}, "properties": {"repobilityId": "a403ccbade4343ec", "scanner": "scanner-primary", "fingerprint": "e361fa881bdbf874", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70b329cfd52e060a", "level": "note", "message": {"text": "Very large file: show/show.js (1464 lines)"}, "properties": {"repobilityId": "13a6265fbd3bb5cc", "scanner": "scanner-primary", "fingerprint": "70b329cfd52e060a", "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": "c6412d555af5057e", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-faccb9061e9b52a0", "level": "note", "message": {"text": "No README detected"}, "properties": {"repobilityId": "b8c7f16700e76d87", "scanner": "scanner-primary", "fingerprint": "faccb9061e9b52a0", "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": "359e615b77241bad", "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": "775e40ffcbf6144b", "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": "2458e5e67902a9e8", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "7f0c594d29e3e994", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "8aaf177ce98db6eb", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "76f7ff4e84b0dd5d", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "6f560950aa1540ae", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-55187728027f9aef", "level": "none", "message": {"text": "Commented-code block (10 lines) in storefront-tenant.js:112"}, "properties": {"repobilityId": "4dd75aed2880cfd9", "scanner": "scanner-primary", "fingerprint": "55187728027f9aef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49d928abb7983de0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-tenant.js:187"}, "properties": {"repobilityId": "2d503ae3176bbe10", "scanner": "scanner-primary", "fingerprint": "49d928abb7983de0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70f620589a96e65c", "level": "none", "message": {"text": "Commented-code block (5 lines) in checkout.js:2068"}, "properties": {"repobilityId": "ba7dad5dd86962db", "scanner": "scanner-primary", "fingerprint": "70f620589a96e65c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e3f63c4ebcd82d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 checkout.js:3039"}, "properties": {"repobilityId": "91b7adaa4639c459", "scanner": "scanner-primary", "fingerprint": "4e3f63c4ebcd82d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af94f92f036c245d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tenant-brand.js:349"}, "properties": {"repobilityId": "4355bebe59543e41", "scanner": "scanner-primary", "fingerprint": "af94f92f036c245d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8048ac6e685405bd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 tenant-brand.js:46"}, "properties": {"repobilityId": "b5187458a7b290f0", "scanner": "scanner-primary", "fingerprint": "8048ac6e685405bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ed4560724ee25fdb", "level": "none", "message": {"text": "Commented-code block (7 lines) in feedback-widget.js:113"}, "properties": {"repobilityId": "abc7e523e3e17ff9", "scanner": "scanner-primary", "fingerprint": "ed4560724ee25fdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a01f51219201ff6d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 feedback-widget.js:318"}, "properties": {"repobilityId": "060777443265f8cd", "scanner": "scanner-primary", "fingerprint": "a01f51219201ff6d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-490a1640bd90b451", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-nav.js:361"}, "properties": {"repobilityId": "237b1168fc16ee15", "scanner": "scanner-primary", "fingerprint": "490a1640bd90b451", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-605037fdeaf64607", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 storefront-theme.js:344"}, "properties": {"repobilityId": "e075713003364f41", "scanner": "scanner-primary", "fingerprint": "605037fdeaf64607", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-94cd395faf805c7b", "level": "none", "message": {"text": "Commented-code block (5 lines) in cart.js:13"}, "properties": {"repobilityId": "8e0c5a731f110ba7", "scanner": "scanner-primary", "fingerprint": "94cd395faf805c7b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0a37af353d9f970", "level": "none", "message": {"text": "Commented-code block (6 lines) in events/events.js:82"}, "properties": {"repobilityId": "7b04bb32a54511ca", "scanner": "scanner-primary", "fingerprint": "c0a37af353d9f970", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a6b8e7d9b68aac3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 events/events.js:12"}, "properties": {"repobilityId": "7a31c7706af212a5", "scanner": "scanner-primary", "fingerprint": "0a6b8e7d9b68aac3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf2704036106bb8c", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/finance-order-money.test.js:6"}, "properties": {"repobilityId": "98a2b61653e9c150", "scanner": "scanner-primary", "fingerprint": "cf2704036106bb8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ad286029946eb14", "level": "none", "message": {"text": "Commented-code block (18 lines) in test/finance-pos-dedup.test.js:7"}, "properties": {"repobilityId": "d8129e256a24671b", "scanner": "scanner-primary", "fingerprint": "1ad286029946eb14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e4371ead7698434", "level": "none", "message": {"text": "Commented-code block (9 lines) in shared/mast-ui.js:24"}, "properties": {"repobilityId": "65ca5192d219ada7", "scanner": "scanner-primary", "fingerprint": "1e4371ead7698434", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66793b3513e9b83f", "level": "none", "message": {"text": "Commented-code block (6 lines) in shared/brand-sync.js:96"}, "properties": {"repobilityId": "935280e45a8219d6", "scanner": "scanner-primary", "fingerprint": "66793b3513e9b83f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c68d3c42efb7004", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/mast-entity.js:187"}, "properties": {"repobilityId": "03df89d8f28d2934", "scanner": "scanner-primary", "fingerprint": "4c68d3c42efb7004", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f47475867c5ed451", "level": "none", "message": {"text": "Commented-code block (7 lines) in shared/business-entity-constants.js:81"}, "properties": {"repobilityId": "ccde2c8e6495e764", "scanner": "scanner-primary", "fingerprint": "f47475867c5ed451", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93fd46a440754007", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/mastdb-firestore.js:1"}, "properties": {"repobilityId": "a5e80a61c079967a", "scanner": "scanner-primary", "fingerprint": "93fd46a440754007", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b34aec6ce242a0b2", "level": "none", "message": {"text": "Commented-code block (8 lines) in shared/customer-filters.js:36"}, "properties": {"repobilityId": "fe37f57aac3ed6ce", "scanner": "scanner-primary", "fingerprint": "b34aec6ce242a0b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f8e5bd7a75b62cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared/mastdb.js:1"}, "properties": {"repobilityId": "d7329756bfa5c610", "scanner": "scanner-primary", "fingerprint": "8f8e5bd7a75b62cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b378166160908c3c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 shared/mastdb.js:1441"}, "properties": {"repobilityId": "6d55c8e4e3e76fad", "scanner": "scanner-primary", "fingerprint": "b378166160908c3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88a371a3b004eb40", "level": "none", "message": {"text": "Commented-code block (9 lines) in shared/types/audit.ts:187"}, "properties": {"repobilityId": "9278397deded3196", "scanner": "scanner-primary", "fingerprint": "88a371a3b004eb40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a3a2c8a8f59439d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-mode-set.js:124"}, "properties": {"repobilityId": "de039d3c897b3216", "scanner": "scanner-primary", "fingerprint": "7a3a2c8a8f59439d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b38df9358765b91d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/.audit-sgtest15-classes.py:5"}, "properties": {"repobilityId": "b839e15df16a36c7", "scanner": "scanner-primary", "fingerprint": "b38df9358765b91d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6b42e6c4b01993da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-fk.js:56"}, "properties": {"repobilityId": "153828f37fa45e1f", "scanner": "scanner-primary", "fingerprint": "6b42e6c4b01993da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-214974f473b4a6f0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-wholesale-account-fk.js:51"}, "properties": {"repobilityId": "e3ff1c3ed4e8c943", "scanner": "scanner-primary", "fingerprint": "214974f473b4a6f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19330d0dbae33770", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lint-design-tokens.js:7"}, "properties": {"repobilityId": "7dc19421e9affd78", "scanner": "scanner-primary", "fingerprint": "19330d0dbae33770", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d6eaf7d61077dac2", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/lint-mastdb.js:12"}, "properties": {"repobilityId": "8cec49020ad31168", "scanner": "scanner-primary", "fingerprint": "d6eaf7d61077dac2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8bee9fd8227e8ac3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/.scrub-sgtest15-classes.py:9"}, "properties": {"repobilityId": "2e81699fb18cdf5e", "scanner": "scanner-primary", "fingerprint": "8bee9fd8227e8ac3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9137ba2e26fb830", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/bootstrap-qbo-realm-index.js:49"}, "properties": {"repobilityId": "37f2f4049095db18", "scanner": "scanner-primary", "fingerprint": "a9137ba2e26fb830", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eaa191d14bc0c1d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-item-bridge.js:57"}, "properties": {"repobilityId": "58191d8bbf05d74e", "scanner": "scanner-primary", "fingerprint": "eaa191d14bc0c1d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f8b93a507f8101eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lint-cache-bust.js:5"}, "properties": {"repobilityId": "777913121a0cb8d6", "scanner": "scanner-primary", "fingerprint": "f8b93a507f8101eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4759a8833905a368", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/sync-workflows.js:48"}, "properties": {"repobilityId": "c51ac83ce70e712b", "scanner": "scanner-primary", "fingerprint": "4759a8833905a368", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d12fccb2e20b3e87", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/lint-rbac.js:9"}, "properties": {"repobilityId": "f7940ff960293857", "scanner": "scanner-primary", "fingerprint": "d12fccb2e20b3e87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-217d078ab378715d", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/lint-customer-writes.js:6"}, "properties": {"repobilityId": "88ada3f783757e16", "scanner": "scanner-primary", "fingerprint": "217d078ab378715d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-020c4bfbc6e45d93", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/migrate-coin-ratio.js:32"}, "properties": {"repobilityId": "84f4b3a95e280b36", "scanner": "scanner-primary", "fingerprint": "020c4bfbc6e45d93", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2f863c8b7991ad2", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lint-readiness-parity.js:6"}, "properties": {"repobilityId": "befd69f3f7b89546", "scanner": "scanner-primary", "fingerprint": "d2f863c8b7991ad2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a560962b15e860c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-gallery-entities.js:57"}, "properties": {"repobilityId": "fc0248a0057e5679", "scanner": "scanner-primary", "fingerprint": "2a560962b15e860c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7abd34f9d8bfd60", "level": "none", "message": {"text": "Commented-code block (11 lines) in scripts/migrate-refs.js:168"}, "properties": {"repobilityId": "02d78d6d303294b8", "scanner": "scanner-primary", "fingerprint": "b7abd34f9d8bfd60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d90eea3cee679e60", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lint-ux-standards.js:41"}, "properties": {"repobilityId": "543dc9aba3357882", "scanner": "scanner-primary", "fingerprint": "d90eea3cee679e60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0edf20abbec43da0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-qbo-customer-vendor-bridge.js:49"}, "properties": {"repobilityId": "f1b2ad8b066f5122", "scanner": "scanner-primary", "fingerprint": "0edf20abbec43da0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1c6de72a7ccbb037", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-customer-portfolio-quadrant.js:60"}, "properties": {"repobilityId": "66397ac26606c6ca", "scanner": "scanner-primary", "fingerprint": "1c6de72a7ccbb037", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ac70ed08c204f86a", "level": "note", "message": {"text": "Legacy-named symbol `unknownLegacy` in scripts/backfill-day-close-v1.js:250"}, "properties": {"repobilityId": "139da56517022059", "scanner": "scanner-primary", "fingerprint": "ac70ed08c204f86a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ab2badd404b66e82", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/backfill-day-close-v1.js:72"}, "properties": {"repobilityId": "152f35cae652dd0b", "scanner": "scanner-primary", "fingerprint": "ab2badd404b66e82", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e900a02adce322d8", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/gift-cards-v2.js:129"}, "properties": {"repobilityId": "923e1f004064dd73", "scanner": "scanner-primary", "fingerprint": "e900a02adce322d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46a898838d5c911a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/gift-cards-v2.js:219"}, "properties": {"repobilityId": "5a85ff733716ea64", "scanner": "scanner-primary", "fingerprint": "46a898838d5c911a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef0f4e7b5e89aa6a", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/trips-v2.js:69"}, "properties": {"repobilityId": "90eac8ab6497cbfd", "scanner": "scanner-primary", "fingerprint": "ef0f4e7b5e89aa6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a74c7283e15041b6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/trips-v2.js:339"}, "properties": {"repobilityId": "51f7319d12336d44", "scanner": "scanner-primary", "fingerprint": "a74c7283e15041b6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44543f41842c60e2", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/customers.js:86"}, "properties": {"repobilityId": "104966101f72d7fc", "scanner": "scanner-primary", "fingerprint": "44543f41842c60e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9762c0a86c871ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/accounting.js:3"}, "properties": {"repobilityId": "8746c7f97e8c2331", "scanner": "scanner-primary", "fingerprint": "a9762c0a86c871ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9eb52c0d2920168", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/passes-v2.js:178"}, "properties": {"repobilityId": "a904be5c60655ed3", "scanner": "scanner-primary", "fingerprint": "f9eb52c0d2920168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c50b65bda595b3f", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/modules/website.js:2559"}, "properties": {"repobilityId": "3bd1f6f0c25c86e7", "scanner": "scanner-primary", "fingerprint": "0c50b65bda595b3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b17e3575a639dcc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/lookbooks.js:113"}, "properties": {"repobilityId": "39323e2ad96401cb", "scanner": "scanner-primary", "fingerprint": "b17e3575a639dcc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17c526a4a4f18127", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/finance-expenses-v2.js:279"}, "properties": {"repobilityId": "a248b94a9bde2d4b", "scanner": "scanner-primary", "fingerprint": "17c526a4a4f18127", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c1163ebb807ca9f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/finance-expenses-v2.js:445"}, "properties": {"repobilityId": "321a2d7185a1609a", "scanner": "scanner-primary", "fingerprint": "4c1163ebb807ca9f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d84b5ca5169d33e", "level": "none", "message": {"text": "Commented-code block (12 lines) in app/modules/sales.js:762"}, "properties": {"repobilityId": "e326a43dcc63c0ce", "scanner": "scanner-primary", "fingerprint": "2d84b5ca5169d33e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16956dd82cb93582", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/campaigns-v2.js:62"}, "properties": {"repobilityId": "afc3f0de6eb45a2e", "scanner": "scanner-primary", "fingerprint": "16956dd82cb93582", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-298d3dbc68ed7838", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/team.js:29"}, "properties": {"repobilityId": "ad58746961b539a1", "scanner": "scanner-primary", "fingerprint": "298d3dbc68ed7838", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6957b1a4c0cdd0e1", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/fulfillment.js:248"}, "properties": {"repobilityId": "35da3b413d130121", "scanner": "scanner-primary", "fingerprint": "6957b1a4c0cdd0e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f612f7018251a308", "level": "none", "message": {"text": "Commented-code block (13 lines) in app/modules/students-config-v2.js:61"}, "properties": {"repobilityId": "386ff0e68a21c976", "scanner": "scanner-primary", "fingerprint": "f612f7018251a308", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b21e1ce416d1f145", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/blog.js:36"}, "properties": {"repobilityId": "6d2307acd3b52e19", "scanner": "scanner-primary", "fingerprint": "b21e1ce416d1f145", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5059c0342e82c7d1", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/procurement-v2.js:450"}, "properties": {"repobilityId": "4b7040023627afe3", "scanner": "scanner-primary", "fingerprint": "5059c0342e82c7d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7d0b6546ae94618d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/procurement-v2.js:225"}, "properties": {"repobilityId": "5189496ac6303c36", "scanner": "scanner-primary", "fingerprint": "7d0b6546ae94618d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a608024c6a192ff1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/procurement-v2.js:702"}, "properties": {"repobilityId": "6acc4f27cb298384", "scanner": "scanner-primary", "fingerprint": "a608024c6a192ff1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e90b7cba2dcc7835", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/cs-reviews-v2.js:396"}, "properties": {"repobilityId": "ce01493f62258196", "scanner": "scanner-primary", "fingerprint": "e90b7cba2dcc7835", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cb3be34f281e125", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-reviews-v2.js:392"}, "properties": {"repobilityId": "82d6d8bdce6e6ccf", "scanner": "scanner-primary", "fingerprint": "8cb3be34f281e125", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44bcb51f6d43abde", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/customers-v2.js:196"}, "properties": {"repobilityId": "910190611a0435ce", "scanner": "scanner-primary", "fingerprint": "44bcb51f6d43abde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca6d17d9d01a734b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/customers-v2.js:479"}, "properties": {"repobilityId": "efc8a1bc438afe2e", "scanner": "scanner-primary", "fingerprint": "ca6d17d9d01a734b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce02556b10b49318", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/maker.js:620"}, "properties": {"repobilityId": "cdfc27a139c761cf", "scanner": "scanner-primary", "fingerprint": "ce02556b10b49318", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16e86ad554a9deb2", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/audit-feedback.js:296"}, "properties": {"repobilityId": "bf5469d20feafb63", "scanner": "scanner-primary", "fingerprint": "16e86ad554a9deb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71e9fe74e776e13c", "level": "none", "message": {"text": "Commented-code block (13 lines) in app/modules/orders.js:28"}, "properties": {"repobilityId": "abba1efb3e47e68d", "scanner": "scanner-primary", "fingerprint": "71e9fe74e776e13c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d4278bad0ab99a1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/orders.js:2834"}, "properties": {"repobilityId": "61d080742426d5c2", "scanner": "scanner-primary", "fingerprint": "8d4278bad0ab99a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc79ee831bdbad4e", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/book.js:38"}, "properties": {"repobilityId": "1a1ea781aa28439d", "scanner": "scanner-primary", "fingerprint": "dc79ee831bdbad4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-985046d6bf1c2007", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/stories-v2.js:244"}, "properties": {"repobilityId": "23ece986792a6b19", "scanner": "scanner-primary", "fingerprint": "985046d6bf1c2007", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-970e6eb0d4006d4b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/stories-v2.js:511"}, "properties": {"repobilityId": "b897f058c77976d4", "scanner": "scanner-primary", "fingerprint": "970e6eb0d4006d4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-deed8268d57776ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/customer-service.js:854"}, "properties": {"repobilityId": "67314d89700cdd61", "scanner": "scanner-primary", "fingerprint": "deed8268d57776ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70604418c3cd6f10", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/fulfillment-v2.js:232"}, "properties": {"repobilityId": "dc8e80eb4599cf6b", "scanner": "scanner-primary", "fingerprint": "70604418c3cd6f10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-991b8a2fd2a55c2f", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/consignment.js:296"}, "properties": {"repobilityId": "d76aca201838859b", "scanner": "scanner-primary", "fingerprint": "991b8a2fd2a55c2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-661c21f81240526b", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/homepage.js:10"}, "properties": {"repobilityId": "0fe43f3befb90e07", "scanner": "scanner-primary", "fingerprint": "661c21f81240526b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e2fb00c48c11c5a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/production.js:1694"}, "properties": {"repobilityId": "004db3b216adceff", "scanner": "scanner-primary", "fingerprint": "2e2fb00c48c11c5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26e28891ecced982", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/production.js:2449"}, "properties": {"repobilityId": "c57bf0901cf74b79", "scanner": "scanner-primary", "fingerprint": "26e28891ecced982", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee50fd5869c35c1a", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/modules/classes-v2.js:257"}, "properties": {"repobilityId": "8136e153464b6b33", "scanner": "scanner-primary", "fingerprint": "ee50fd5869c35c1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0032a260c5c3d1a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/procurement.js:1066"}, "properties": {"repobilityId": "c819b73bab2682d0", "scanner": "scanner-primary", "fingerprint": "0032a260c5c3d1a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cf7d43c474fa8cf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels-v2.js:534"}, "properties": {"repobilityId": "9046d2857db44838", "scanner": "scanner-primary", "fingerprint": "4cf7d43c474fa8cf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f46443850d92dc1a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-support-v2.js:292"}, "properties": {"repobilityId": "b5dc4beaeb4bb2bc", "scanner": "scanner-primary", "fingerprint": "f46443850d92dc1a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3f596af2e80e25f1", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/coupons-v2.js:187"}, "properties": {"repobilityId": "3b6ed3579ec2f991", "scanner": "scanner-primary", "fingerprint": "3f596af2e80e25f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbbbbaa18eb28ff9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/coupons-v2.js:380"}, "properties": {"repobilityId": "06e6a6d6bf883bc0", "scanner": "scanner-primary", "fingerprint": "cbbbbaa18eb28ff9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad75a4c06879d143", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lots-v2.js:170"}, "properties": {"repobilityId": "8f2a081cf7fbae9a", "scanner": "scanner-primary", "fingerprint": "ad75a4c06879d143", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-53355057a5772ecc", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/jobs-v2.js:36"}, "properties": {"repobilityId": "c9d50fb26a21ada2", "scanner": "scanner-primary", "fingerprint": "53355057a5772ecc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35d73189b1d9f564", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/jobs-v2.js:761"}, "properties": {"repobilityId": "7393c2df959f4c0a", "scanner": "scanner-primary", "fingerprint": "35d73189b1d9f564", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-db9a5b6ff6db8b31", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/instructors-v2.js:246"}, "properties": {"repobilityId": "f17aa6c14cfda75a", "scanner": "scanner-primary", "fingerprint": "db9a5b6ff6db8b31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6676f72177e34d54", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/membership-v2.js:60"}, "properties": {"repobilityId": "5436922721dc4e0f", "scanner": "scanner-primary", "fingerprint": "6676f72177e34d54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09a1589facdf6a9b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/membership-v2.js:423"}, "properties": {"repobilityId": "6d7d1ce439e28f30", "scanner": "scanner-primary", "fingerprint": "09a1589facdf6a9b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-000d1fd3edefcaf0", "level": "none", "message": {"text": "Commented-code block (12 lines) in app/modules/students.js:40"}, "properties": {"repobilityId": "e8f47261e87fcbe0", "scanner": "scanner-primary", "fingerprint": "000d1fd3edefcaf0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f12c9279f4ccf7d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/cart.js:4"}, "properties": {"repobilityId": "9d7119f7fd1fac78", "scanner": "scanner-primary", "fingerprint": "f12c9279f4ccf7d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16f0a3c3988a5eb1", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/mapping.js:58"}, "properties": {"repobilityId": "abf54e6f6fe13b0b", "scanner": "scanner-primary", "fingerprint": "16f0a3c3988a5eb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89e7aaefaea10470", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/lookbooks-v2.js:431"}, "properties": {"repobilityId": "3c7d285307c9dd19", "scanner": "scanner-primary", "fingerprint": "89e7aaefaea10470", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7cfa863e5aa348f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/lookbooks-v2.js:50"}, "properties": {"repobilityId": "bbf413f7209066d3", "scanner": "scanner-primary", "fingerprint": "f7cfa863e5aa348f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83da3f51edc1f51d", "level": "note", "message": {"text": "Legacy-named symbol `viewingOld` in app/modules/finance-close-v2.js:183"}, "properties": {"repobilityId": "17b028939a150d38", "scanner": "scanner-primary", "fingerprint": "83da3f51edc1f51d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4670eef4a91bacb9", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/terms-v2.js:122"}, "properties": {"repobilityId": "32d696771badddfb", "scanner": "scanner-primary", "fingerprint": "4670eef4a91bacb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c95b554dab2de1a0", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/enrollments-v2.js:52"}, "properties": {"repobilityId": "4247956bb84b2a78", "scanner": "scanner-primary", "fingerprint": "c95b554dab2de1a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e444ab9c967168d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/enrollments-v2.js:393"}, "properties": {"repobilityId": "1264be60f31d7904", "scanner": "scanner-primary", "fingerprint": "3e444ab9c967168d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1f6d4fa0b955aebd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/promotions-v2.js:330"}, "properties": {"repobilityId": "06f12b2b4d35cb4a", "scanner": "scanner-primary", "fingerprint": "1f6d4fa0b955aebd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e2ebc1233209086", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/newsletter-v2.js:189"}, "properties": {"repobilityId": "d8d972c932152847", "scanner": "scanner-primary", "fingerprint": "8e2ebc1233209086", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-284a61a69e070de8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/newsletter-v2.js:844"}, "properties": {"repobilityId": "a4638798b8d086d0", "scanner": "scanner-primary", "fingerprint": "284a61a69e070de8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-612dd21b5b44e315", "level": "none", "message": {"text": "Commented-code block (11 lines) in app/modules/team-v2.js:319"}, "properties": {"repobilityId": "21d987f084b87ef6", "scanner": "scanner-primary", "fingerprint": "612dd21b5b44e315", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8243957a1df114c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/team-v2.js:589"}, "properties": {"repobilityId": "9e8e93a20af5e4a7", "scanner": "scanner-primary", "fingerprint": "8243957a1df114c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25579795b0cfd8c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/mapping-v2.js:98"}, "properties": {"repobilityId": "88bcdafdd1730d21", "scanner": "scanner-primary", "fingerprint": "25579795b0cfd8c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62bd2bd02848944e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/mapping-v2.js:189"}, "properties": {"repobilityId": "703853ba8c5505f3", "scanner": "scanner-primary", "fingerprint": "62bd2bd02848944e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1bfc3b8dad11b3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/trips.js:1489"}, "properties": {"repobilityId": "afdd3b4af6b82c51", "scanner": "scanner-primary", "fingerprint": "a1bfc3b8dad11b3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79ff5e207e8bb0d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/wholesale.js:405"}, "properties": {"repobilityId": "84c329f23830bad9", "scanner": "scanner-primary", "fingerprint": "79ff5e207e8bb0d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-772b41bc7207d46c", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/composer.js:39"}, "properties": {"repobilityId": "a86b24cc1a505bd3", "scanner": "scanner-primary", "fingerprint": "772b41bc7207d46c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8253f7195e4df758", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/blog-v2.js:234"}, "properties": {"repobilityId": "139d05eec0ca9fa7", "scanner": "scanner-primary", "fingerprint": "8253f7195e4df758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b77bcabf45059e0e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/blog-v2.js:627"}, "properties": {"repobilityId": "892c35025fcfa6fd", "scanner": "scanner-primary", "fingerprint": "b77bcabf45059e0e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ea1304ebe11a07f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/galleries-v2.js:373"}, "properties": {"repobilityId": "064ddebc8dfa94d4", "scanner": "scanner-primary", "fingerprint": "1ea1304ebe11a07f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf7f1eb208cd7ead", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/galleries-v2.js:542"}, "properties": {"repobilityId": "39ae236b66b48eba", "scanner": "scanner-primary", "fingerprint": "cf7f1eb208cd7ead", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bab5c1e0a885a293", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/inquiries-v2.js:74"}, "properties": {"repobilityId": "ca536c0a12c41399", "scanner": "scanner-primary", "fingerprint": "bab5c1e0a885a293", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88c0a2d4ceff2c86", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/inquiries-v2.js:291"}, "properties": {"repobilityId": "08370eba8e2af806", "scanner": "scanner-primary", "fingerprint": "88c0a2d4ceff2c86", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-363e9873df774c5d", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/commissions-v2.js:73"}, "properties": {"repobilityId": "8ecc27b7ef12a3bb", "scanner": "scanner-primary", "fingerprint": "363e9873df774c5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7462998620afb355", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/commissions-v2.js:376"}, "properties": {"repobilityId": "edf25465e164e408", "scanner": "scanner-primary", "fingerprint": "7462998620afb355", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9683d4cb89e0b0df", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/cs-members-v2.js:173"}, "properties": {"repobilityId": "ec00514c0aad1332", "scanner": "scanner-primary", "fingerprint": "9683d4cb89e0b0df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7aa4e69ea07ef8b0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/cs-members-v2.js:492"}, "properties": {"repobilityId": "7a87320f610bb74d", "scanner": "scanner-primary", "fingerprint": "7aa4e69ea07ef8b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8159b125b7086914", "level": "none", "message": {"text": "Commented-code block (12 lines) in app/modules/brand.js:525"}, "properties": {"repobilityId": "0c686a87b26ea8fb", "scanner": "scanner-primary", "fingerprint": "8159b125b7086914", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7bd209aa7c623a99", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/email-log-v2.js:77"}, "properties": {"repobilityId": "93ed0b77f75fdd95", "scanner": "scanner-primary", "fingerprint": "7bd209aa7c623a99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4655bdb3c1e5870", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log-v2.js:324"}, "properties": {"repobilityId": "538758fe7ca425d5", "scanner": "scanner-primary", "fingerprint": "f4655bdb3c1e5870", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-752ba792d2887313", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/subscription-v2.js:296"}, "properties": {"repobilityId": "9c05a208250388e0", "scanner": "scanner-primary", "fingerprint": "752ba792d2887313", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ded66a7aee91e297", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/modules/vendors-v2.js:132"}, "properties": {"repobilityId": "c6a773a2b20e623d", "scanner": "scanner-primary", "fingerprint": "ded66a7aee91e297", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1285f1ca8ef04e8", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/email-log.js:98"}, "properties": {"repobilityId": "1e5d2d6a10b4091d", "scanner": "scanner-primary", "fingerprint": "a1285f1ca8ef04e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ceeb65522ac2bef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/email-log.js:251"}, "properties": {"repobilityId": "1db0a4c5fa6d0239", "scanner": "scanner-primary", "fingerprint": "7ceeb65522ac2bef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-495435c77938648e", "level": "none", "message": {"text": "Commented-code block (10 lines) in app/modules/advisor.js:579"}, "properties": {"repobilityId": "56f6ef670950cab6", "scanner": "scanner-primary", "fingerprint": "495435c77938648e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9099f364d931b912", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/sales-events-v2.js:70"}, "properties": {"repobilityId": "3c9b07f0a3e0c966", "scanner": "scanner-primary", "fingerprint": "9099f364d931b912", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6081feb63b7fe922", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/audit.js:203"}, "properties": {"repobilityId": "fdbf800c109435b2", "scanner": "scanner-primary", "fingerprint": "6081feb63b7fe922", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3201bd4471f1b6ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/contacts-v2.js:206"}, "properties": {"repobilityId": "ecb1d28d88882cd1", "scanner": "scanner-primary", "fingerprint": "3201bd4471f1b6ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ced9413ae4391025", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/audit-v2.js:304"}, "properties": {"repobilityId": "22399a96d2355dca", "scanner": "scanner-primary", "fingerprint": "ced9413ae4391025", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-54a000b036e20ab8", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/modules/sessions-v2.js:182"}, "properties": {"repobilityId": "de946ac28f4cca88", "scanner": "scanner-primary", "fingerprint": "54a000b036e20ab8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bacaacbae85af62f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/sessions-v2.js:404"}, "properties": {"repobilityId": "06c4d5c3eb1ef852", "scanner": "scanner-primary", "fingerprint": "bacaacbae85af62f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc2f2268555c8ba0", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/modules/social.js:88"}, "properties": {"repobilityId": "fb47a0265d3edf43", "scanner": "scanner-primary", "fingerprint": "fc2f2268555c8ba0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdb0c8780ffe9894", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/contacts.js:379"}, "properties": {"repobilityId": "519c4faa39f7d491", "scanner": "scanner-primary", "fingerprint": "cdb0c8780ffe9894", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-026d44ef5f4da8cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/contacts.js:770"}, "properties": {"repobilityId": "928350476550f775", "scanner": "scanner-primary", "fingerprint": "026d44ef5f4da8cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-724e4940fd94b74b", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/channels.js:498"}, "properties": {"repobilityId": "604ee32e1bfe78cb", "scanner": "scanner-primary", "fingerprint": "724e4940fd94b74b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91106cf7f7286b4c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/channels.js:2380"}, "properties": {"repobilityId": "892f31cf0282a51a", "scanner": "scanner-primary", "fingerprint": "91106cf7f7286b4c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f8b1b4bcfbd8374", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/products-v2.js:94"}, "properties": {"repobilityId": "06ba814e7abbadff", "scanner": "scanner-primary", "fingerprint": "9f8b1b4bcfbd8374", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a11e2805469f6e50", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/social-v2.js:303"}, "properties": {"repobilityId": "feaf787dd0b82856", "scanner": "scanner-primary", "fingerprint": "a11e2805469f6e50", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40e7b33b698820eb", "level": "none", "message": {"text": "Commented-code block (9 lines) in app/modules/newsletter.js:2253"}, "properties": {"repobilityId": "cf6ce45b1895d333", "scanner": "scanner-primary", "fingerprint": "40e7b33b698820eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88b042ace6c0c351", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/modules/campaigns.js:231"}, "properties": {"repobilityId": "44fb7436a3a233da", "scanner": "scanner-primary", "fingerprint": "88b042ace6c0c351", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c05970c359f5c1c2", "level": "note", "message": {"text": "Legacy-named symbol `_dcLegacy` in app/modules/finance.js:2213"}, "properties": {"repobilityId": "6f8d27be6899d5ac", "scanner": "scanner-primary", "fingerprint": "c05970c359f5c1c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fc258836583f6ec3", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/finance.js:1"}, "properties": {"repobilityId": "ebb61a87afbb90c6", "scanner": "scanner-primary", "fingerprint": "fc258836583f6ec3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ca0d873b969d738", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/consignments-v2.js:101"}, "properties": {"repobilityId": "397a8a373c4efc0d", "scanner": "scanner-primary", "fingerprint": "7ca0d873b969d738", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a99b9795324f8281", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/consignments-v2.js:356"}, "properties": {"repobilityId": "8a88b35ab05a55c4", "scanner": "scanner-primary", "fingerprint": "a99b9795324f8281", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc94f7cbe3dd512a", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/loyalty-v2.js:119"}, "properties": {"repobilityId": "4323e3f299e33364", "scanner": "scanner-primary", "fingerprint": "bc94f7cbe3dd512a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d84f1c5376861f11", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/modules/loyalty-v2.js:341"}, "properties": {"repobilityId": "93ef029f034a1b8d", "scanner": "scanner-primary", "fingerprint": "d84f1c5376861f11", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-48317f01ac67046a", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-template.workflow.js:14"}, "properties": {"repobilityId": "715a4642b13a79e4", "scanner": "scanner-primary", "fingerprint": "48317f01ac67046a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3958c9ea317e6d80", "level": "none", "message": {"text": "Commented-code block (13 lines) in app/modules/workflows/workflow-template.workflow.js:125"}, "properties": {"repobilityId": "cb0af8e572ff865c", "scanner": "scanner-primary", "fingerprint": "3958c9ea317e6d80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c530062fe7d7284", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/pickship.workflow.js:328"}, "properties": {"repobilityId": "ba789f5b76365487", "scanner": "scanner-primary", "fingerprint": "0c530062fe7d7284", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-78f4e6f8916492da", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/modules/workflows/pickship.workflow.js:61"}, "properties": {"repobilityId": "4033a73aee71b657", "scanner": "scanner-primary", "fingerprint": "78f4e6f8916492da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-112f27642b24ad98", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/commissions.workflow.js:6"}, "properties": {"repobilityId": "ae44fd0f1a13051d", "scanner": "scanner-primary", "fingerprint": "112f27642b24ad98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-60eee870fde77a3e", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/modules/workflows/commissions.workflow.js:208"}, "properties": {"repobilityId": "0f6d8dadb5d8ce44", "scanner": "scanner-primary", "fingerprint": "60eee870fde77a3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d3341c97e2ca739", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/products.workflow.js:138"}, "properties": {"repobilityId": "0ed5ade467d4ab4e", "scanner": "scanner-primary", "fingerprint": "9d3341c97e2ca739", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ecf9707f36e717e3", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/jobs.workflow.js:92"}, "properties": {"repobilityId": "bf9432178c3d27e0", "scanner": "scanner-primary", "fingerprint": "ecf9707f36e717e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d1ee73ab4016be0", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/workflow-engine.js:53"}, "properties": {"repobilityId": "b859eeb8173956cb", "scanner": "scanner-primary", "fingerprint": "8d1ee73ab4016be0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aab4a91595dab2f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/modules/workflows/workflow-engine.js:85"}, "properties": {"repobilityId": "1790ce67a0aa868f", "scanner": "scanner-primary", "fingerprint": "aab4a91595dab2f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b37efa9a06b1c8d5", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/procurement.workflow.js:78"}, "properties": {"repobilityId": "2dce645eaede6590", "scanner": "scanner-primary", "fingerprint": "b37efa9a06b1c8d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8754e901dfadaaf5", "level": "note", "message": {"text": "Legacy-named symbol `derivePhaseFromLegacy` in app/modules/workflows/return.workflow.js:106"}, "properties": {"repobilityId": "66cf9af3e3b71d9a", "scanner": "scanner-primary", "fingerprint": "8754e901dfadaaf5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b5ebdf56e8ef2c19", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 studio/train-model.py:131"}, "properties": {"repobilityId": "9505e0ac0f548532", "scanner": "scanner-primary", "fingerprint": "b5ebdf56e8ef2c19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-65a7269dc9d8a5cd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 show/show.js:86"}, "properties": {"repobilityId": "ccfb30dfd5bca2cb", "scanner": "scanner-primary", "fingerprint": "65a7269dc9d8a5cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c0b08485017ead27", "level": "none", "message": {"text": "Commented-code block (10 lines) in pos/sw.js:3"}, "properties": {"repobilityId": "b9da89dadfdeff51", "scanner": "scanner-primary", "fingerprint": "c0b08485017ead27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}