{"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-ac32e21a270f5237", "name": "Possibly dead Python function: generate_ngram_overlay", "shortDescription": {"text": "Possibly dead Python function: generate_ngram_overlay"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77762e7db20f3110", "name": "Possibly dead Python function: generate_signal_network", "shortDescription": {"text": "Possibly dead Python function: generate_signal_network"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f900cc9989f5407d", "name": "Possibly dead Python function: generate_evidence", "shortDescription": {"text": "Possibly dead Python function: generate_evidence"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-119951057b0f88b7", "name": "Possibly dead Python function: generate_myth_mapping", "shortDescription": {"text": "Possibly dead Python function: generate_myth_mapping"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86c36503eb3c5c10", "name": "Possibly dead Python function: sort_key", "shortDescription": {"text": "Possibly dead Python function: sort_key"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b48c2d675b81db1a", "name": "Possibly dead Python function: deduplicate_concepts", "shortDescription": {"text": "Possibly dead Python function: deduplicate_concepts"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e89ffd5e6b9da24", "name": "Possibly dead Python function: decade_from_date", "shortDescription": {"text": "Possibly dead Python function: decade_from_date"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45d97ca2dd496444", "name": "Possibly dead Python function: svg_block_sub", "shortDescription": {"text": "Possibly dead Python function: svg_block_sub"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4318b3e61db3b825", "name": "Possibly dead Python function: prose_humanities", "shortDescription": {"text": "Possibly dead Python function: prose_humanities"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57cdce6e65a8c7dc", "name": "Possibly dead Python function: prose_social", "shortDescription": {"text": "Possibly dead Python function: prose_social"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f94dbd6deffb8144", "name": "Possibly dead Python function: prose_natural", "shortDescription": {"text": "Possibly dead Python function: prose_natural"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc80af793b7041d8", "name": "Possibly dead Python function: prose_engineering", "shortDescription": {"text": "Possibly dead Python function: prose_engineering"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75262d7d41096368", "name": "Possibly dead Python function: prose_arts", "shortDescription": {"text": "Possibly dead Python function: prose_arts"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8da3cf00a2e8873", "name": "Possibly dead Python function: convert_year", "shortDescription": {"text": "Possibly dead Python function: convert_year"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-88887f5175f6c8a6", "name": "Possibly dead Python function: render_lens_body", "shortDescription": {"text": "Possibly dead Python function: render_lens_body"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d51aae3499d4691f", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1474754b267cc09d", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a8ba42be76f31a4", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6deb43ae0a5e66a3", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29838f3e0ed6a3e6", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6a29d9afbdf4ed7", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30af6572516416c9", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f53b7b7d438b681", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0844f7710162b24", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5878f5737dad15e0", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7efdc939f25f6ff", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-367615279173120c", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b48547ee2423b942", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-931e3687e7c3ad47", "name": "Possibly dead Python function: run_codex", "shortDescription": {"text": "Possibly dead Python function: run_codex"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e22f069d091c52a6", "name": "Stray `console.log` in TS/JS \u2014 js/pages/cla.js:450", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 js/pages/cla.js:450"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54b2d5ef7204f459", "name": "Insecure pattern 'direct_innerhtml_assignment' in integrated-monetization-textbook.html:3835", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integrated-monetization-textbook.html:3835"}, "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-b693e1a9f73aee3b", "name": "Insecure pattern 'direct_innerhtml_assignment' in db-planner.html:380", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in db-planner.html:380"}, "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-46b6e2e02af0b620", "name": "Insecure pattern 'direct_innerhtml_assignment' in integrated.html:296", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integrated.html:296"}, "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-e6db516377db1300", "name": "Insecure pattern 'direct_innerhtml_assignment' in answer.html:1523", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in answer.html:1523"}, "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-b715b91d3e7748a2", "name": "Insecure pattern 'direct_innerhtml_assignment' in databases.html:1329", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in databases.html:1329"}, "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-9090af2780c59440", "name": "Insecure pattern 'direct_innerhtml_assignment' in forum/esse-sense-co-creation-2026-06-03-k9m4x/edit/index.html:308", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in forum/esse-sense-co-creation-2026-06-03-k9m4x/edit/index.html:308"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-245f46db526ad896", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/foresight.js:114", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/foresight.js:114"}, "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-7ddea2283e5f73b7", "name": "Possible secret in js/shared/firebase-config.js", "shortDescription": {"text": "Possible secret in js/shared/firebase-config.js"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-20717b1c0e46d14b", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/nav.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/nav.js:58"}, "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-11113c9eda739a6b", "name": "Possible secret in js/shared/i18n.js", "shortDescription": {"text": "Possible secret in js/shared/i18n.js"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4b63c7d8a83c8cb9", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/article-modal.js:290", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/article-modal.js: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-f210611a6fb1d0d2", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/auth-guard.js:33", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/auth-guard.js:33"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fa2632d43307288", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/ui-components.js:66", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/ui-components.js:66"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-157fccb4a04da216", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/databases.js:18", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/databases.js:18"}, "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-1c16550eb8377790", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/analysis-reports.js:15", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/analysis-reports.js:15"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-66f5a7f6c6e020ae", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/home.js:70", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/home.js:70"}, "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-35244fa1425d194a", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/themes.js:100", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/themes.js:100"}, "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-da96d8fc1559cd88", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/guide.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/guide.js:58"}, "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-e7685264c3bbfc8e", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/media.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/media.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-e29dd4b8b029c67a", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/user-reports.js:11", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/user-reports.js:11"}, "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-fd3fa716b0a3b464", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/reports.js:33", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/reports.js:33"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ccf818310ab203a9", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/signals.js:14", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/signals.js:14"}, "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-114c5f47016c331e", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/papers.js:13", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/papers.js:13"}, "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-b676a030072f8f23", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/foresight.js:43", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/foresight.js:43"}, "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-534f35d7357f615b", "name": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/cla.js:16", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/cla.js:16"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a40adb5694580e2", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/upr.html:224", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/upr.html:224"}, "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-dc60831e66e40d74", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-timeline.html:281", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-timeline.html:281"}, "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-e6ae5c8777034ac5", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-map.html:191", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-map.html: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-d74833d30f7ebb5e", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/timeline-events.html:2180", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/timeline-events.html:2180"}, "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-36e0aef15fef74c4", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/yk.html:208", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/yk.html:208"}, "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-debfff44757ed777", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-integrated.html:684", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-integrated.html:684"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ecb75801222c499c", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pt.html:190", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pt.html:190"}, "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-73f7fb2e40f1b6e6", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/fk.html:114", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/fk.html:114"}, "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-48cbd482fe10bc5f", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/su.html:153", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/su.html:153"}, "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-a89db4fbb791f769", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-canada-indigenous.html:99", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-canada-indigenous.html: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-adece6b455151ab1", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ic.html:675", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ic.html:675"}, "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-1dd72c56e3a80469", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-okinawa.html:133", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-okinawa.html:133"}, "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-da8e20cf53cef854", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-canada.html:217", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-canada.html:217"}, "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-0ed3982e1ae4da78", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an-phylogeny.html:124", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an-phylogeny.html:124"}, "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-4147e8c58f67bf24", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my.html:165", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my.html: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-9524aae74bc0b1a4", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla.html:459", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla.html:459"}, "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-8957d616520b7e38", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tech-phylogenetics.html:313", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tech-phylogenetics.html:313"}, "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-a79d2e341b29bbf7", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/placeness-map.html:352", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/placeness-map.html: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-c8bde889f59649c5", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pd.html:599", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pd.html:599"}, "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-8f5b2bae2c5bbd4e", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/wiki-planner.html:164", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/wiki-planner.html:164"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47551ef8d4b511af", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ak-explorer.html:239", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ak-explorer.html:239"}, "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-2b8d42b6c6f0f29f", "name": "Insecure pattern 'dangerous_innerhtml' in dashboards/seo-execution.html:6663", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in dashboards/seo-execution.html:6663"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-818e380d20bcd939", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk.html:103", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk.html:103"}, "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-c8b24eb82e44d68c", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/transformation-unified.html:846", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/transformation-unified.html:846"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e28cf44c7f8b36db", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-okinawa.html:167", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-okinawa.html: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-e2d6953695a2ce10", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mg.html:177", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mg.html:177"}, "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-77e4525ae066d24d", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/it.html:183", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/it.html:183"}, "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-30ffca2174fc857e", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mt.html:293", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mt.html:293"}, "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-bd123f943c2e4bb1", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an.html:3673", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an.html:3673"}, "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-a24f38c98e499e5b", "name": "Possible secret in admin/index.html", "shortDescription": {"text": "Possible secret in admin/index.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-2ee51db63adfb6a5", "name": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:814", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:814"}, "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-4184e96cc8cd49cf", "name": "Insecure pattern 'local_storage_auth_token' in admin/index.html:850", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in admin/index.html:850"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fdb8a7a0ff7d5a58", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/domain-growth-analysis.html:464", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/domain-growth-analysis.html:464"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5fa65aa8ee078648", "name": "Insecure pattern 'direct_innerhtml_assignment' in book/tech-acceleration/chapters/appendix-c.html:230", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in book/tech-acceleration/chapters/appendix-c.html:230"}, "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-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-318a0c5cf014c0bf", "name": "Very large file: js/pages/cla.js (1214 lines)", "shortDescription": {"text": "Very large file: js/pages/cla.js (1214 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-65856c36b2eeb8e8", "name": "Very large file: scripts/analyze_sif.py (1616 lines)", "shortDescription": {"text": "Very large file: scripts/analyze_sif.py (1616 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 120 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01f96f71d9907a8c", "name": "README lacks setup or run instructions", "shortDescription": {"text": "README lacks setup or run instructions"}, "fullDescription": {"text": "A README exists, but it does not contain common install/setup/run markers. This matches a frequent generated-code pattern: UI is present, operational handoff is thin."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 832 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "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, tests, operator-readme. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, tests, operator-readme. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-df720b9a2c0b4b2e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-cache.js:91", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-cache.js:91"}, "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-b63189c10016adab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-loader.js:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-loader.js:7"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a361b422edf1a91", "name": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/analysis-reports.js:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/analysis-reports.js:115"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb0293d241fa4c9a", "name": "Legacy-named symbol `cla_v2` in js/pages/cla.js:716", "shortDescription": {"text": "Legacy-named symbol `cla_v2` in js/pages/cla.js:716"}, "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-83c51037cc8b7d69", "name": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/cla.js:453", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/cla.js:453"}, "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-afdb6d5ab72194ba", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_parallel_open.py:36", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_parallel_open.py:36"}, "fullDescription": {"text": "`subprocess.run(...)` 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-0bd20b6d001c08e9", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_personality_reanalysis.py:34", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_personality_reanalysis.py:34"}, "fullDescription": {"text": "`subprocess.run(...)` 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-421851be06a4ec9c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage5_ontological_role.py:33", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage5_ontological_role.py:33"}, "fullDescription": {"text": "`subprocess.run(...)` 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-ae8c68222b04cb0b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_parallel.py:51", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_parallel.py:51"}, "fullDescription": {"text": "`subprocess.run(...)` 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-97be05e54e02622b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_gta.py:34", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_gta.py:34"}, "fullDescription": {"text": "`subprocess.run(...)` 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-8186dd4430c3d820", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage4_coverage_audit.py:35", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage4_coverage_audit.py:35"}, "fullDescription": {"text": "`subprocess.run(...)` 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-c6b9c1d6a5b717c1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_classify_typology.py:14", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_classify_typology.py:14"}, "fullDescription": {"text": "`subprocess.run(...)` 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-545100cd77e311ea", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage3_behavioral_enrichment.py:33", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage3_behavioral_enrichment.py:33"}, "fullDescription": {"text": "`subprocess.run(...)` 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-6460bd03648e87f3", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage1_definition.py:26", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage1_definition.py:26"}, "fullDescription": {"text": "`subprocess.run(...)` 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-4cb3dbb9d461f495", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage2_ontological_framework.py:27", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage2_ontological_framework.py:27"}, "fullDescription": {"text": "`subprocess.run(...)` 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-511be428aedadf49", "name": "Legacy-named symbol `analyses_v2` in scripts/generate_dashboards.py:26", "shortDescription": {"text": "Legacy-named symbol `analyses_v2` in scripts/generate_dashboards.py:26"}, "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-0d2fda0bca0d1218", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_to_journal.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_to_journal.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` 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-a08e755a40d6d062", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_8questions.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_8questions.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` 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-4a1b440c3abfac4c", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures_series_v2.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures_series_v2.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` 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-9614ca4cecdc26b1", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures.py:18", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures.py:18"}, "fullDescription": {"text": "`subprocess.run(...)` 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-a809943d3cbdb412", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_methodology.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_methodology.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` 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-61166a7feebedf3d", "name": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_short_batches.py:12", "shortDescription": {"text": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_short_batches.py:12"}, "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-aa9a3fad6f62289a", "name": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_expand_batch_v2.py:12", "shortDescription": {"text": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_expand_batch_v2.py:12"}, "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-35835d6ad2bc6374", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy_assets.py:13", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy_assets.py:13"}, "fullDescription": {"text": "`subprocess.run(...)` 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-6ecc6fe746efc142", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy.py:19", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy.py:19"}, "fullDescription": {"text": "`subprocess.run(...)` 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-1e492a9ebb96067c", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/mobility-2030-2100/_deploy.py:24", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/mobility-2030-2100/_deploy.py:24"}, "fullDescription": {"text": "`subprocess.run(...)` 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-7f7e2cc668ef23bc", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/foodag-2030-2100/_deploy.py:28", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/foodag-2030-2100/_deploy.py:28"}, "fullDescription": {"text": "`subprocess.run(...)` 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-eb73ce7374d8ada7", "name": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/manufacturing-orchestra/_deploy.py:24", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/manufacturing-orchestra/_deploy.py:24"}, "fullDescription": {"text": "`subprocess.run(...)` 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-c61ff1a7978aaff8", "name": "Network/subprocess call without timeout or try/except \u2014 reports/_repo-system/build_report.py:665", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 reports/_repo-system/build_report.py:665"}, "fullDescription": {"text": "`subprocess.run(...)` 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-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/extract_system_patterns.py:hierarchical_cluster, scripts/extract_system_patterns.py:h\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9dad557909b86499", "name": "Near-duplicate function bodies in 10 places", "shortDescription": {"text": "Near-duplicate function bodies in 10 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/yokai_stage8_parallel_open.py:get_api_key, scripts/yokai_stage7_personality_reanalysis.py:get_api_key, scripts/yokai_stage5_ontological_role.py:get_api_key, scripts/yokai_stage7_parallel.py:get_api_key\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/yokai_stage7_personality_reanalysis.py:main, scripts/yokai_stage5_ontological_role.py:main, scripts/yokai_stage3_behavioral_enrichment.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndashboards/ryoiki/phase-e/_deploy_to_journal.py:get_password, dashboards/ryoiki/phase-e/_deploy_8questions.py:get_password, dashboards/ryoiki/phase-e/_deploy_futures_series_v2.py:get_password, dashboards/ryoiki/phase-e/_deploy_futures.py:get_password\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ndashboards/ryoiki/phase-e/_deploy_to_journal.py:main, dashboards/ryoiki/phase-e/_deploy_8questions.py:main, dashboards/ryoiki/phase-e/_deploy_methodology.py:main, dashboards/data-driven-foresight/_deploy.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/23501"}, "properties": {"repository": "yuyanishimura0312/miratuku-news-v2", "repoUrl": "https://github.com/yuyanishimura0312/miratuku-news-v2", "branch": "main"}, "results": [{"ruleId": "scanner-ac32e21a270f5237", "level": "note", "message": {"text": "Possibly dead Python function: generate_ngram_overlay"}, "properties": {"repobilityId": "f84c7ceb0bcb3b3f", "scanner": "scanner-primary", "fingerprint": "ac32e21a270f5237", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_cla_deep_data.py:28"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-77762e7db20f3110", "level": "note", "message": {"text": "Possibly dead Python function: generate_signal_network"}, "properties": {"repobilityId": "9df1dfcfb00534f1", "scanner": "scanner-primary", "fingerprint": "77762e7db20f3110", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_cla_deep_data.py:61"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f900cc9989f5407d", "level": "note", "message": {"text": "Possibly dead Python function: generate_evidence"}, "properties": {"repobilityId": "ffd0af363aaf08c7", "scanner": "scanner-primary", "fingerprint": "f900cc9989f5407d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_cla_deep_data.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-119951057b0f88b7", "level": "note", "message": {"text": "Possibly dead Python function: generate_myth_mapping"}, "properties": {"repobilityId": "437f3a024d44b679", "scanner": "scanner-primary", "fingerprint": "119951057b0f88b7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_cla_deep_data.py:146"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-86c36503eb3c5c10", "level": "note", "message": {"text": "Possibly dead Python function: sort_key"}, "properties": {"repobilityId": "ac2a4181eae38738", "scanner": "scanner-primary", "fingerprint": "86c36503eb3c5c10", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate_cla_text.py:193"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b48c2d675b81db1a", "level": "note", "message": {"text": "Possibly dead Python function: deduplicate_concepts"}, "properties": {"repobilityId": "cbfa87ab0824b780", "scanner": "scanner-primary", "fingerprint": "b48c2d675b81db1a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build_mg_database.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e89ffd5e6b9da24", "level": "note", "message": {"text": "Possibly dead Python function: decade_from_date"}, "properties": {"repobilityId": "80df8269d1af23cb", "scanner": "scanner-primary", "fingerprint": "9e89ffd5e6b9da24", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/crossref_patterns_news.py:143"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45d97ca2dd496444", "level": "note", "message": {"text": "Possibly dead Python function: svg_block_sub"}, "properties": {"repobilityId": "6953d51ae46d6724", "scanner": "scanner-primary", "fingerprint": "45d97ca2dd496444", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/dkb-v2/recolor_svgs.py:121"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4318b3e61db3b825", "level": "note", "message": {"text": "Possibly dead Python function: prose_humanities"}, "properties": {"repobilityId": "ff8888b5d067299e", "scanner": "scanner-primary", "fingerprint": "4318b3e61db3b825", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/_gen_ak_section.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57cdce6e65a8c7dc", "level": "note", "message": {"text": "Possibly dead Python function: prose_social"}, "properties": {"repobilityId": "d15eab3c5930787b", "scanner": "scanner-primary", "fingerprint": "57cdce6e65a8c7dc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/_gen_ak_section.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f94dbd6deffb8144", "level": "note", "message": {"text": "Possibly dead Python function: prose_natural"}, "properties": {"repobilityId": "dbb994998aeb02ee", "scanner": "scanner-primary", "fingerprint": "f94dbd6deffb8144", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/_gen_ak_section.py:130"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc80af793b7041d8", "level": "note", "message": {"text": "Possibly dead Python function: prose_engineering"}, "properties": {"repobilityId": "8238fbdfa90211f1", "scanner": "scanner-primary", "fingerprint": "bc80af793b7041d8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/_gen_ak_section.py:161"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-75262d7d41096368", "level": "note", "message": {"text": "Possibly dead Python function: prose_arts"}, "properties": {"repobilityId": "cf103405c0c11389", "scanner": "scanner-primary", "fingerprint": "75262d7d41096368", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/_gen_ak_section.py:192"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f8da3cf00a2e8873", "level": "note", "message": {"text": "Possibly dead Python function: convert_year"}, "properties": {"repobilityId": "4d43c3f8a1311979", "scanner": "scanner-primary", "fingerprint": "f8da3cf00a2e8873", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/_convert_numerals.py:18"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-88887f5175f6c8a6", "level": "note", "message": {"text": "Possibly dead Python function: render_lens_body"}, "properties": {"repobilityId": "62235bb493b0630b", "scanner": "scanner-primary", "fingerprint": "88887f5175f6c8a6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/futures-series/_build/render.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d51aae3499d4691f", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "d51aae3499d4691f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupJ1.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1474754b267cc09d", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "1474754b267cc09d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupF_v2.py:70"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a8ba42be76f31a4", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "3a8ba42be76f31a4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupF.py:70"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6deb43ae0a5e66a3", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "6deb43ae0a5e66a3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_pilot.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-29838f3e0ed6a3e6", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "29838f3e0ed6a3e6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupK1_v2.py:109"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6a29d9afbdf4ed7", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "e6a29d9afbdf4ed7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupH2.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30af6572516416c9", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "30af6572516416c9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupE_v2.py:81"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f53b7b7d438b681", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "4f53b7b7d438b681", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupB.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b0844f7710162b24", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "b0844f7710162b24", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupE.py:78"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5878f5737dad15e0", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "5878f5737dad15e0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupD.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c7efdc939f25f6ff", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "c7efdc939f25f6ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupC.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-367615279173120c", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "367615279173120c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupHI.py:81"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b48547ee2423b942", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "b48547ee2423b942", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_groupK1.py:109"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-931e3687e7c3ad47", "level": "note", "message": {"text": "Possibly dead Python function: run_codex"}, "properties": {"repobilityId": "7c0e30b787317d5c", "scanner": "scanner-primary", "fingerprint": "931e3687e7c3ad47", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ryoiki/phase-e/codex_tasks/_orchestrate_codex_full.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e22f069d091c52a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 js/pages/cla.js:450"}, "properties": {"repobilityId": "64d5bf39e85ea4aa", "scanner": "scanner-primary", "fingerprint": "e22f069d091c52a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54b2d5ef7204f459", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integrated-monetization-textbook.html:3835"}, "properties": {"repobilityId": "97e9b72ac75b7a54", "scanner": "scanner-primary", "fingerprint": "54b2d5ef7204f459", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "integrated-monetization-textbook.html"}, "region": {"startLine": 3835}}}]}, {"ruleId": "scanner-b693e1a9f73aee3b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in db-planner.html:380"}, "properties": {"repobilityId": "2dcb516cfae0de46", "scanner": "scanner-primary", "fingerprint": "b693e1a9f73aee3b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "db-planner.html"}, "region": {"startLine": 380}}}]}, {"ruleId": "scanner-46b6e2e02af0b620", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in integrated.html:296"}, "properties": {"repobilityId": "167aaad4d1d77f3b", "scanner": "scanner-primary", "fingerprint": "46b6e2e02af0b620", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "integrated.html"}, "region": {"startLine": 296}}}]}, {"ruleId": "scanner-e6db516377db1300", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in answer.html:1523"}, "properties": {"repobilityId": "dc6b7b269207ecf5", "scanner": "scanner-primary", "fingerprint": "e6db516377db1300", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "answer.html"}, "region": {"startLine": 1523}}}]}, {"ruleId": "scanner-b715b91d3e7748a2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in databases.html:1329"}, "properties": {"repobilityId": "0744018aba660e63", "scanner": "scanner-primary", "fingerprint": "b715b91d3e7748a2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "databases.html"}, "region": {"startLine": 1329}}}]}, {"ruleId": "scanner-9090af2780c59440", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in forum/esse-sense-co-creation-2026-06-03-k9m4x/edit/index.html:308"}, "properties": {"repobilityId": "0578fd5f6b0eac02", "scanner": "scanner-primary", "fingerprint": "9090af2780c59440", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "forum/esse-sense-co-creation-2026-06-03-k9m4x/edit/index.html"}, "region": {"startLine": 308}}}]}, {"ruleId": "scanner-245f46db526ad896", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/foresight.js:114"}, "properties": {"repobilityId": "0cb9f0e61c859fe9", "scanner": "scanner-primary", "fingerprint": "245f46db526ad896", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/foresight.js"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-7ddea2283e5f73b7", "level": "error", "message": {"text": "Possible secret in js/shared/firebase-config.js"}, "properties": {"repobilityId": "6ceddee01851ce46", "scanner": "scanner-primary", "fingerprint": "7ddea2283e5f73b7", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/firebase-config.js"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-20717b1c0e46d14b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/nav.js:58"}, "properties": {"repobilityId": "34be65e7340ea855", "scanner": "scanner-primary", "fingerprint": "20717b1c0e46d14b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/nav.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-11113c9eda739a6b", "level": "error", "message": {"text": "Possible secret in js/shared/i18n.js"}, "properties": {"repobilityId": "63044fcb28cef28d", "scanner": "scanner-primary", "fingerprint": "11113c9eda739a6b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/i18n.js"}, "region": {"startLine": 134}}}]}, {"ruleId": "scanner-4b63c7d8a83c8cb9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/article-modal.js:290"}, "properties": {"repobilityId": "76cfced3d29d9f41", "scanner": "scanner-primary", "fingerprint": "4b63c7d8a83c8cb9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/article-modal.js"}, "region": {"startLine": 290}}}]}, {"ruleId": "scanner-f210611a6fb1d0d2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/auth-guard.js:33"}, "properties": {"repobilityId": "db3eebe5e96112ea", "scanner": "scanner-primary", "fingerprint": "f210611a6fb1d0d2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/auth-guard.js"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-2fa2632d43307288", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/shared/ui-components.js:66"}, "properties": {"repobilityId": "6ac959f01eae65f0", "scanner": "scanner-primary", "fingerprint": "2fa2632d43307288", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/shared/ui-components.js"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-157fccb4a04da216", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/databases.js:18"}, "properties": {"repobilityId": "76a83a0218dd019a", "scanner": "scanner-primary", "fingerprint": "157fccb4a04da216", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/databases.js"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-1c16550eb8377790", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/analysis-reports.js:15"}, "properties": {"repobilityId": "ccdc82b8184994fe", "scanner": "scanner-primary", "fingerprint": "1c16550eb8377790", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/analysis-reports.js"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-66f5a7f6c6e020ae", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/home.js:70"}, "properties": {"repobilityId": "a4b0079c6872a7ac", "scanner": "scanner-primary", "fingerprint": "66f5a7f6c6e020ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/home.js"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-35244fa1425d194a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/themes.js:100"}, "properties": {"repobilityId": "2c9266f7a3fff563", "scanner": "scanner-primary", "fingerprint": "35244fa1425d194a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/themes.js"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-da96d8fc1559cd88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/guide.js:58"}, "properties": {"repobilityId": "ec46373e447899bd", "scanner": "scanner-primary", "fingerprint": "da96d8fc1559cd88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/guide.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-e7685264c3bbfc8e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/media.js:42"}, "properties": {"repobilityId": "3a23d73cc6fa991a", "scanner": "scanner-primary", "fingerprint": "e7685264c3bbfc8e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/media.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-e29dd4b8b029c67a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/user-reports.js:11"}, "properties": {"repobilityId": "07247e653615bc9d", "scanner": "scanner-primary", "fingerprint": "e29dd4b8b029c67a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/user-reports.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-fd3fa716b0a3b464", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/reports.js:33"}, "properties": {"repobilityId": "5c51091a53727c28", "scanner": "scanner-primary", "fingerprint": "fd3fa716b0a3b464", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/reports.js"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-ccf818310ab203a9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/signals.js:14"}, "properties": {"repobilityId": "09ff716eec72899b", "scanner": "scanner-primary", "fingerprint": "ccf818310ab203a9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/signals.js"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-114c5f47016c331e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/papers.js:13"}, "properties": {"repobilityId": "3d0add338766a144", "scanner": "scanner-primary", "fingerprint": "114c5f47016c331e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/papers.js"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-b676a030072f8f23", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/foresight.js:43"}, "properties": {"repobilityId": "0276613703e25d3a", "scanner": "scanner-primary", "fingerprint": "b676a030072f8f23", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/foresight.js"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-534f35d7357f615b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in js/pages/cla.js:16"}, "properties": {"repobilityId": "cba33d84e828fd21", "scanner": "scanner-primary", "fingerprint": "534f35d7357f615b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "js/pages/cla.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-4a40adb5694580e2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/upr.html:224"}, "properties": {"repobilityId": "b48a33c513bfe74a", "scanner": "scanner-primary", "fingerprint": "4a40adb5694580e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/upr.html"}, "region": {"startLine": 224}}}]}, {"ruleId": "scanner-dc60831e66e40d74", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-timeline.html:281"}, "properties": {"repobilityId": "ea2113125edfd386", "scanner": "scanner-primary", "fingerprint": "dc60831e66e40d74", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/cla-timeline.html"}, "region": {"startLine": 281}}}]}, {"ruleId": "scanner-e6ae5c8777034ac5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-map.html:191"}, "properties": {"repobilityId": "c76a411c8e3e2c35", "scanner": "scanner-primary", "fingerprint": "e6ae5c8777034ac5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/tk-map.html"}, "region": {"startLine": 191}}}]}, {"ruleId": "scanner-d74833d30f7ebb5e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/timeline-events.html:2180"}, "properties": {"repobilityId": "e384c8a8aa7a3346", "scanner": "scanner-primary", "fingerprint": "d74833d30f7ebb5e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/timeline-events.html"}, "region": {"startLine": 2180}}}]}, {"ruleId": "scanner-36e0aef15fef74c4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/yk.html:208"}, "properties": {"repobilityId": "996594eed39306b4", "scanner": "scanner-primary", "fingerprint": "36e0aef15fef74c4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/yk.html"}, "region": {"startLine": 208}}}]}, {"ruleId": "scanner-debfff44757ed777", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla-integrated.html:684"}, "properties": {"repobilityId": "d247a0e163b1d256", "scanner": "scanner-primary", "fingerprint": "debfff44757ed777", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/cla-integrated.html"}, "region": {"startLine": 684}}}]}, {"ruleId": "scanner-ecb75801222c499c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pt.html:190"}, "properties": {"repobilityId": "d0bb3e7b673d4920", "scanner": "scanner-primary", "fingerprint": "ecb75801222c499c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/pt.html"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-73f7fb2e40f1b6e6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/fk.html:114"}, "properties": {"repobilityId": "a75d364cc6e10a8f", "scanner": "scanner-primary", "fingerprint": "73f7fb2e40f1b6e6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/fk.html"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-48cbd482fe10bc5f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/su.html:153"}, "properties": {"repobilityId": "c8d11f6739aadb63", "scanner": "scanner-primary", "fingerprint": "48cbd482fe10bc5f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/su.html"}, "region": {"startLine": 153}}}]}, {"ruleId": "scanner-a89db4fbb791f769", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-canada-indigenous.html:99"}, "properties": {"repobilityId": "6231db24af2944ec", "scanner": "scanner-primary", "fingerprint": "a89db4fbb791f769", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/my-canada-indigenous.html"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-adece6b455151ab1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ic.html:675"}, "properties": {"repobilityId": "dabd72d3f0e24ed2", "scanner": "scanner-primary", "fingerprint": "adece6b455151ab1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ic.html"}, "region": {"startLine": 675}}}]}, {"ruleId": "scanner-1dd72c56e3a80469", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my-okinawa.html:133"}, "properties": {"repobilityId": "f3afe72b60df72cf", "scanner": "scanner-primary", "fingerprint": "1dd72c56e3a80469", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/my-okinawa.html"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-da8e20cf53cef854", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-canada.html:217"}, "properties": {"repobilityId": "8c571446c8e31132", "scanner": "scanner-primary", "fingerprint": "da8e20cf53cef854", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/tk-canada.html"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-0ed3982e1ae4da78", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an-phylogeny.html:124"}, "properties": {"repobilityId": "c10aee4272bc102d", "scanner": "scanner-primary", "fingerprint": "0ed3982e1ae4da78", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/an-phylogeny.html"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-4147e8c58f67bf24", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/my.html:165"}, "properties": {"repobilityId": "12cb48b6e06c1285", "scanner": "scanner-primary", "fingerprint": "4147e8c58f67bf24", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/my.html"}, "region": {"startLine": 165}}}]}, {"ruleId": "scanner-9524aae74bc0b1a4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/cla.html:459"}, "properties": {"repobilityId": "dc868139baf8857f", "scanner": "scanner-primary", "fingerprint": "9524aae74bc0b1a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/cla.html"}, "region": {"startLine": 459}}}]}, {"ruleId": "scanner-8957d616520b7e38", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tech-phylogenetics.html:313"}, "properties": {"repobilityId": "e61ae526ab2ea4bf", "scanner": "scanner-primary", "fingerprint": "8957d616520b7e38", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/tech-phylogenetics.html"}, "region": {"startLine": 313}}}]}, {"ruleId": "scanner-a79d2e341b29bbf7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/placeness-map.html:352"}, "properties": {"repobilityId": "63929e962025232b", "scanner": "scanner-primary", "fingerprint": "a79d2e341b29bbf7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/placeness-map.html"}, "region": {"startLine": 352}}}]}, {"ruleId": "scanner-c8bde889f59649c5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/pd.html:599"}, "properties": {"repobilityId": "60c4a078902f6a3f", "scanner": "scanner-primary", "fingerprint": "c8bde889f59649c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/pd.html"}, "region": {"startLine": 599}}}]}, {"ruleId": "scanner-8f5b2bae2c5bbd4e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/wiki-planner.html:164"}, "properties": {"repobilityId": "8e71c574c15a0925", "scanner": "scanner-primary", "fingerprint": "8f5b2bae2c5bbd4e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/wiki-planner.html"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-47551ef8d4b511af", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/ak-explorer.html:239"}, "properties": {"repobilityId": "578dfc043fc02a57", "scanner": "scanner-primary", "fingerprint": "47551ef8d4b511af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/ak-explorer.html"}, "region": {"startLine": 239}}}]}, {"ruleId": "scanner-2b8d42b6c6f0f29f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in dashboards/seo-execution.html:6663"}, "properties": {"repobilityId": "f69eb7bd6ced4e7f", "scanner": "scanner-primary", "fingerprint": "2b8d42b6c6f0f29f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/seo-execution.html"}, "region": {"startLine": 6663}}}]}, {"ruleId": "scanner-818e380d20bcd939", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk.html:103"}, "properties": {"repobilityId": "cb2b10d661da46a4", "scanner": "scanner-primary", "fingerprint": "818e380d20bcd939", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/tk.html"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-c8b24eb82e44d68c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/transformation-unified.html:846"}, "properties": {"repobilityId": "c3b56b5f86a43957", "scanner": "scanner-primary", "fingerprint": "c8b24eb82e44d68c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/transformation-unified.html"}, "region": {"startLine": 846}}}]}, {"ruleId": "scanner-e28cf44c7f8b36db", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/tk-okinawa.html:167"}, "properties": {"repobilityId": "b538c9315009ffe4", "scanner": "scanner-primary", "fingerprint": "e28cf44c7f8b36db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/tk-okinawa.html"}, "region": {"startLine": 167}}}]}, {"ruleId": "scanner-e2d6953695a2ce10", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mg.html:177"}, "properties": {"repobilityId": "821157f186610109", "scanner": "scanner-primary", "fingerprint": "e2d6953695a2ce10", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/mg.html"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-77e4525ae066d24d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/it.html:183"}, "properties": {"repobilityId": "4aed06a64e99d226", "scanner": "scanner-primary", "fingerprint": "77e4525ae066d24d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/it.html"}, "region": {"startLine": 183}}}]}, {"ruleId": "scanner-30ffca2174fc857e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/mt.html:293"}, "properties": {"repobilityId": "dec4c4d33ff47e60", "scanner": "scanner-primary", "fingerprint": "30ffca2174fc857e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/mt.html"}, "region": {"startLine": 293}}}]}, {"ruleId": "scanner-bd123f943c2e4bb1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboards/an.html:3673"}, "properties": {"repobilityId": "4712a25b4bd5bf39", "scanner": "scanner-primary", "fingerprint": "bd123f943c2e4bb1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboards/an.html"}, "region": {"startLine": 3673}}}]}, {"ruleId": "scanner-a24f38c98e499e5b", "level": "error", "message": {"text": "Possible secret in admin/index.html"}, "properties": {"repobilityId": "32bde00b26c28b5c", "scanner": "scanner-primary", "fingerprint": "a24f38c98e499e5b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/index.html"}, "region": {"startLine": 804}}}]}, {"ruleId": "scanner-2ee51db63adfb6a5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in admin/index.html:814"}, "properties": {"repobilityId": "d75ddf931ed139f4", "scanner": "scanner-primary", "fingerprint": "2ee51db63adfb6a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/index.html"}, "region": {"startLine": 814}}}]}, {"ruleId": "scanner-4184e96cc8cd49cf", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in admin/index.html:850"}, "properties": {"repobilityId": "eab292f5cfbe8289", "scanner": "scanner-primary", "fingerprint": "4184e96cc8cd49cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "admin/index.html"}, "region": {"startLine": 850}}}]}, {"ruleId": "scanner-fdb8a7a0ff7d5a58", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/domain-growth-analysis.html:464"}, "properties": {"repobilityId": "c3f694e44ada7dde", "scanner": "scanner-primary", "fingerprint": "fdb8a7a0ff7d5a58", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/domain-growth-analysis.html"}, "region": {"startLine": 464}}}]}, {"ruleId": "scanner-5fa65aa8ee078648", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in book/tech-acceleration/chapters/appendix-c.html:230"}, "properties": {"repobilityId": "01ffccca14e49151", "scanner": "scanner-primary", "fingerprint": "5fa65aa8ee078648", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "book/tech-acceleration/chapters/appendix-c.html"}, "region": {"startLine": 230}}}]}, {"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": 25}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8ef93418bde27bdb", "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": 27}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b70dbcc8f54d72ab", "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": 29}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "419d1ec7943efec2", "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": 34}}}]}, {"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-318a0c5cf014c0bf", "level": "note", "message": {"text": "Very large file: js/pages/cla.js (1214 lines)"}, "properties": {"repobilityId": "fbecbcaad2e7f48d", "scanner": "scanner-primary", "fingerprint": "318a0c5cf014c0bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-65856c36b2eeb8e8", "level": "note", "message": {"text": "Very large file: scripts/analyze_sif.py (1616 lines)"}, "properties": {"repobilityId": "a4b80d2c8cbdb64a", "scanner": "scanner-primary", "fingerprint": "65856c36b2eeb8e8", "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": "2d6186c6eeb29047", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-01f96f71d9907a8c", "level": "note", "message": {"text": "README lacks setup or run instructions"}, "properties": {"repobilityId": "b3da2ab6a658259c", "scanner": "scanner-primary", "fingerprint": "01f96f71d9907a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "61749ec93077fcaa", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "9f3c421be0f690d5", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "6fbf8e5eb5c9bb21", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "efedae1e8caa5ca5", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "96e836eb094ef428", "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": "b70673536e544145", "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": "51b8f7bcdc8dc643", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-df720b9a2c0b4b2e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-cache.js:91"}, "properties": {"repobilityId": "921cb7581ec0025d", "scanner": "scanner-primary", "fingerprint": "df720b9a2c0b4b2e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b63189c10016adab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/shared/data-loader.js:7"}, "properties": {"repobilityId": "7f14ec6bacb602a7", "scanner": "scanner-primary", "fingerprint": "b63189c10016adab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a361b422edf1a91", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/analysis-reports.js:115"}, "properties": {"repobilityId": "2ec59150ebf4cd56", "scanner": "scanner-primary", "fingerprint": "4a361b422edf1a91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb0293d241fa4c9a", "level": "note", "message": {"text": "Legacy-named symbol `cla_v2` in js/pages/cla.js:716"}, "properties": {"repobilityId": "f1bcf3194caafbbf", "scanner": "scanner-primary", "fingerprint": "fb0293d241fa4c9a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83c51037cc8b7d69", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 js/pages/cla.js:453"}, "properties": {"repobilityId": "dda96b6a84df31f8", "scanner": "scanner-primary", "fingerprint": "83c51037cc8b7d69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-afdb6d5ab72194ba", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_parallel_open.py:36"}, "properties": {"repobilityId": "0f2b238a2b2c0b51", "scanner": "scanner-primary", "fingerprint": "afdb6d5ab72194ba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0bd20b6d001c08e9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_personality_reanalysis.py:34"}, "properties": {"repobilityId": "28b0453d50a25314", "scanner": "scanner-primary", "fingerprint": "0bd20b6d001c08e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-421851be06a4ec9c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage5_ontological_role.py:33"}, "properties": {"repobilityId": "000ea81af41ea793", "scanner": "scanner-primary", "fingerprint": "421851be06a4ec9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae8c68222b04cb0b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage7_parallel.py:51"}, "properties": {"repobilityId": "f5543b2b441e8baa", "scanner": "scanner-primary", "fingerprint": "ae8c68222b04cb0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-97be05e54e02622b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage8_gta.py:34"}, "properties": {"repobilityId": "059223b5b2fbbeb6", "scanner": "scanner-primary", "fingerprint": "97be05e54e02622b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8186dd4430c3d820", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage4_coverage_audit.py:35"}, "properties": {"repobilityId": "6462b09240ff855e", "scanner": "scanner-primary", "fingerprint": "8186dd4430c3d820", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c6b9c1d6a5b717c1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_classify_typology.py:14"}, "properties": {"repobilityId": "8f65582d8922f172", "scanner": "scanner-primary", "fingerprint": "c6b9c1d6a5b717c1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-545100cd77e311ea", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage3_behavioral_enrichment.py:33"}, "properties": {"repobilityId": "5abf2008677a8b3e", "scanner": "scanner-primary", "fingerprint": "545100cd77e311ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6460bd03648e87f3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage1_definition.py:26"}, "properties": {"repobilityId": "794bb59050fa459f", "scanner": "scanner-primary", "fingerprint": "6460bd03648e87f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4cb3dbb9d461f495", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/yokai_stage2_ontological_framework.py:27"}, "properties": {"repobilityId": "4d6400a622406392", "scanner": "scanner-primary", "fingerprint": "4cb3dbb9d461f495", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-511be428aedadf49", "level": "note", "message": {"text": "Legacy-named symbol `analyses_v2` in scripts/generate_dashboards.py:26"}, "properties": {"repobilityId": "9205b5792b2910ba", "scanner": "scanner-primary", "fingerprint": "511be428aedadf49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0d2fda0bca0d1218", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_to_journal.py:19"}, "properties": {"repobilityId": "484dac7a33d3978b", "scanner": "scanner-primary", "fingerprint": "0d2fda0bca0d1218", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a08e755a40d6d062", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_8questions.py:19"}, "properties": {"repobilityId": "4ae306ef0ad024a5", "scanner": "scanner-primary", "fingerprint": "a08e755a40d6d062", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4a1b440c3abfac4c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures_series_v2.py:19"}, "properties": {"repobilityId": "766b7f8a38ed8c61", "scanner": "scanner-primary", "fingerprint": "4a1b440c3abfac4c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9614ca4cecdc26b1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_futures.py:18"}, "properties": {"repobilityId": "3bf7aee546fde5d4", "scanner": "scanner-primary", "fingerprint": "9614ca4cecdc26b1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a809943d3cbdb412", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/ryoiki/phase-e/_deploy_methodology.py:19"}, "properties": {"repobilityId": "c7d272fb70073fc7", "scanner": "scanner-primary", "fingerprint": "a809943d3cbdb412", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-61166a7feebedf3d", "level": "note", "message": {"text": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_short_batches.py:12"}, "properties": {"repobilityId": "69c6d1f9d1320a8b", "scanner": "scanner-primary", "fingerprint": "61166a7feebedf3d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aa9a3fad6f62289a", "level": "note", "message": {"text": "Legacy-named symbol `expand_brief_v2` in dashboards/ryoiki/phase-e/futures-series/_build/build_expand_batch_v2.py:12"}, "properties": {"repobilityId": "8cfe7056a076bfda", "scanner": "scanner-primary", "fingerprint": "aa9a3fad6f62289a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35835d6ad2bc6374", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy_assets.py:13"}, "properties": {"repobilityId": "1c01d5c74ccbba23", "scanner": "scanner-primary", "fingerprint": "35835d6ad2bc6374", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6ecc6fe746efc142", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/data-driven-foresight/_deploy.py:19"}, "properties": {"repobilityId": "cd2f77311a08d3d8", "scanner": "scanner-primary", "fingerprint": "6ecc6fe746efc142", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1e492a9ebb96067c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/mobility-2030-2100/_deploy.py:24"}, "properties": {"repobilityId": "6a56dbc1ff94c069", "scanner": "scanner-primary", "fingerprint": "1e492a9ebb96067c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f7e2cc668ef23bc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/foodag-2030-2100/_deploy.py:28"}, "properties": {"repobilityId": "b4addcd309fbb99f", "scanner": "scanner-primary", "fingerprint": "7f7e2cc668ef23bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb73ce7374d8ada7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 dashboards/reports-public/manufacturing-orchestra/_deploy.py:24"}, "properties": {"repobilityId": "9d6596f574d1d3a8", "scanner": "scanner-primary", "fingerprint": "eb73ce7374d8ada7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c61ff1a7978aaff8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 reports/_repo-system/build_report.py:665"}, "properties": {"repobilityId": "f8d5f5c8e287adbd", "scanner": "scanner-primary", "fingerprint": "c61ff1a7978aaff8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c3cbea0e8fa52e16", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "8c2936d843cdfffc", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2edad95f803f117f", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "41a7eb3667edae67", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6c6496d67ad38c5d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "736a3f14375a7b64", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "690b4fbc22ac7fad", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "e92967912ebf323a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2be86d602c353457", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "91b112ea66524ebb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "1f78c496e5dba2dd", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "7338c2d4a6dea7ed", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "766cd3b18f7083de", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "cd0f0e8e591a6068", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "37ae41d058ecd6ee", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a5770b68b06e3e20", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "85864baf8db24f60", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "f02b8a267719b315", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8a954186d975b3c9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "b69b508baa4b0149", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}