{"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-24f6693356ca8bef", "name": "Possibly dead Python function: process_topnav_file", "shortDescription": {"text": "Possibly dead Python function: process_topnav_file"}, "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-aebd3cd0ac513491", "name": "Possibly dead Python function: warn", "shortDescription": {"text": "Possibly dead Python function: warn"}, "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-70956c5b93432e58", "name": "Possibly dead Python function: fill_attr", "shortDescription": {"text": "Possibly dead Python function: fill_attr"}, "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-2dfc0b1ed255a29f", "name": "Possibly dead Python function: fill_style", "shortDescription": {"text": "Possibly dead Python function: fill_style"}, "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-3875c99228ef32b5", "name": "Possibly dead Python function: stroke_attr", "shortDescription": {"text": "Possibly dead Python function: stroke_attr"}, "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-7a9cd5a3f0cbe729", "name": "Possibly dead Python function: fix_style_block", "shortDescription": {"text": "Possibly dead Python function: fix_style_block"}, "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-e1bb26ba6dc1cb99", "name": "Possibly dead Python function: rule", "shortDescription": {"text": "Possibly dead Python function: rule"}, "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-65f5a280bdbb4d42", "name": "Possibly dead Python function: f", "shortDescription": {"text": "Possibly dead Python function: f"}, "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-ff71202cfc718e6f", "name": "Possibly dead Python function: s", "shortDescription": {"text": "Possibly dead Python function: s"}, "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-f16ad1ffc47bdb55", "name": "Stray `console.log` in TS/JS \u2014 scripts/pdf-render.js:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pdf-render.js:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9122bff73e818a88", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/orbital-witness/index.html:853", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/orbital-witness/index.html:853"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-615ae9a3fdcd4a7b", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/eolas-medical/index.html:1050", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/eolas-medical/index.html:1050"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0002b940f9624e9c", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/maia-technology/index.html:1160", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/maia-technology/index.html:1160"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af35225482f4be9f", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/accure/index.html:737", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/accure/index.html:737"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9b2e81b960498f0", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/united-manufacturing-hub/index.html:1515", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/united-manufacturing-hub/index.html:1515"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e33616b602e000ee", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/aikido-security/index.html:1549", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/aikido-security/index.html:1549"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7248211cca58a5b3", "name": "Insecure pattern 'direct_innerhtml_assignment' in prospects/embankment/index.html:1100", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/embankment/index.html:1100"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8b32cfe622250f6", "name": "Insecure pattern 'direct_innerhtml_assignment' in decks/operator-intensive.html:2934", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in decks/operator-intensive.html:2934"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27ad05bcf693aea7", "name": "Insecure pattern 'direct_innerhtml_assignment' in internal/website-committee-2026-06-08.html:989", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in internal/website-committee-2026-06-08.html:989"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0e328f57b1f1d7f", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/maritime-domain-awareness-2026/index.html:2791", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/maritime-domain-awareness-2026/index.html:2791"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c276c6179f870d3b", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/launch-strategy.html:1467", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/launch-strategy.html:1467"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0dda06ead47aaa1c", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/irm.html:1984", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/irm.html:1984"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-90df5a566499e35e", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dlp.html:2291", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dlp.html:2291"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-77726472ad2ed201", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dspm.html:2021", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dspm.html:2021"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b711a29a95e1bb9", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/convergence.html:1520", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/convergence.html:1520"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b2de84d422f3397", "name": "Insecure pattern 'direct_innerhtml_assignment' in research/cellebrite-cognyte-merger/index.html:1105", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/cellebrite-cognyte-merger/index.html:1105"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f8a6c9c140bd1d4", "name": "Insecure pattern 'direct_innerhtml_assignment' in scripts/pdf-render.js:77", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scripts/pdf-render.js:77"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e744acd5a0d188ad", "name": "Insecure pattern 'direct_innerhtml_assignment' in insights/accure/brief/index.html:737", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in insights/accure/brief/index.html:737"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08dba9ccdce0880d", "name": "Insecure pattern 'direct_innerhtml_assignment' in insights/qibb/brief/index.html:926", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in insights/qibb/brief/index.html:926"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8c16b089e957329a", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/showcase.html:545", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/showcase.html:545"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51b74c77481804da", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/competitive-landscape.html:1315", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/competitive-landscape.html:1315"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8594fd1fe4f411b4", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/content-calendar.html:1330", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/content-calendar.html:1330"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-982fa2a7ea233129", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/positioning-messaging.html:1278", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/positioning-messaging.html:1278"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c64b2c2dfebc7f15", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/week-1-posts.html:947", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/week-1-posts.html:947"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f4e5f545f543b10", "name": "Insecure pattern 'exec_used' in planning/presentations/business-case.html:908", "shortDescription": {"text": "Insecure pattern 'exec_used' in planning/presentations/business-case.html:908"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e901cd5b3c5d636", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/business-case.html:1189", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/business-case.html:1189"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1af29455383b582a", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/gtm-strategy.html:1471", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/gtm-strategy.html:1471"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4affdbff3e4af494", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/vision-statement.html:925", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/vision-statement.html:925"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e790b551b06cf1b", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/value-proposition-offering.html:1614", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/value-proposition-offering.html:1614"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa182edbc9504b5c", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/signal-radar-implementation-plan.html:1141", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/signal-radar-implementation-plan.html:1141"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa87a49ea972b342", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/market-analysis.html:998", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/market-analysis.html:998"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c63af134d91f9eeb", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/productbeacon-strategic-narrative.html:1202", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/productbeacon-strategic-narrative.html:1202"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e62db333060b5641", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/brand-voice-design.html:1831", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/brand-voice-design.html:1831"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bf00d546af1395a8", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/pricing-strategy.html:1428", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/pricing-strategy.html:1428"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "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 12 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-faccb9061e9b52a0", "name": "No README detected", "shortDescription": {"text": "No README detected"}, "fullDescription": {"text": "No README file was found. Generated repos without README context are hard to operate, validate, or safely hand off."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 65 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests, operator-readme. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-e668cd3fc8550918", "name": "Commented-code block (5 lines) in scripts/make-redirect-stubs.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/make-redirect-stubs.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-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/pdf-relight.py:stroke_dark, scripts/pdf-relight.py:s\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/23275"}, "properties": {"repository": "yohayetsion/ProductBeacon", "repoUrl": "https://github.com/yohayetsion/ProductBeacon", "branch": "main"}, "results": [{"ruleId": "scanner-24f6693356ca8bef", "level": "note", "message": {"text": "Possibly dead Python function: process_topnav_file"}, "properties": {"repobilityId": "61776834e146677e", "scanner": "scanner-primary", "fingerprint": "24f6693356ca8bef", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/migrate-chrome.py:554"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aebd3cd0ac513491", "level": "note", "message": {"text": "Possibly dead Python function: warn"}, "properties": {"repobilityId": "ef681b5db7b88c81", "scanner": "scanner-primary", "fingerprint": "aebd3cd0ac513491", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify-migration.py:133"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-70956c5b93432e58", "level": "note", "message": {"text": "Possibly dead Python function: fill_attr"}, "properties": {"repobilityId": "fe7d7c374be2893d", "scanner": "scanner-primary", "fingerprint": "70956c5b93432e58", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:33"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2dfc0b1ed255a29f", "level": "note", "message": {"text": "Possibly dead Python function: fill_style"}, "properties": {"repobilityId": "3226b70b2ea063f2", "scanner": "scanner-primary", "fingerprint": "2dfc0b1ed255a29f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:39"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3875c99228ef32b5", "level": "note", "message": {"text": "Possibly dead Python function: stroke_attr"}, "properties": {"repobilityId": "d80a5013db9eb670", "scanner": "scanner-primary", "fingerprint": "3875c99228ef32b5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:46"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7a9cd5a3f0cbe729", "level": "note", "message": {"text": "Possibly dead Python function: fix_style_block"}, "properties": {"repobilityId": "1ccf450c37a94b5d", "scanner": "scanner-primary", "fingerprint": "7a9cd5a3f0cbe729", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:54"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1bb26ba6dc1cb99", "level": "note", "message": {"text": "Possibly dead Python function: rule"}, "properties": {"repobilityId": "2d4df4e6b5b8340c", "scanner": "scanner-primary", "fingerprint": "e1bb26ba6dc1cb99", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65f5a280bdbb4d42", "level": "note", "message": {"text": "Possibly dead Python function: f"}, "properties": {"repobilityId": "353d09b5558cba0b", "scanner": "scanner-primary", "fingerprint": "65f5a280bdbb4d42", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:59"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ff71202cfc718e6f", "level": "note", "message": {"text": "Possibly dead Python function: s"}, "properties": {"repobilityId": "78504dd8b241175f", "scanner": "scanner-primary", "fingerprint": "ff71202cfc718e6f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-relight.py:64"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f16ad1ffc47bdb55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pdf-render.js:87"}, "properties": {"repobilityId": "7066a5fcfc954dab", "scanner": "scanner-primary", "fingerprint": "f16ad1ffc47bdb55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9122bff73e818a88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/orbital-witness/index.html:853"}, "properties": {"repobilityId": "b808052afbe1ac43", "scanner": "scanner-primary", "fingerprint": "9122bff73e818a88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/orbital-witness/index.html"}, "region": {"startLine": 853}}}]}, {"ruleId": "scanner-615ae9a3fdcd4a7b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/eolas-medical/index.html:1050"}, "properties": {"repobilityId": "edc8f07f05ebddaf", "scanner": "scanner-primary", "fingerprint": "615ae9a3fdcd4a7b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/eolas-medical/index.html"}, "region": {"startLine": 1050}}}]}, {"ruleId": "scanner-0002b940f9624e9c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/maia-technology/index.html:1160"}, "properties": {"repobilityId": "54f0f28a5ecebd8b", "scanner": "scanner-primary", "fingerprint": "0002b940f9624e9c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/maia-technology/index.html"}, "region": {"startLine": 1160}}}]}, {"ruleId": "scanner-af35225482f4be9f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/accure/index.html:737"}, "properties": {"repobilityId": "d263ffa7001ee839", "scanner": "scanner-primary", "fingerprint": "af35225482f4be9f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/accure/index.html"}, "region": {"startLine": 737}}}]}, {"ruleId": "scanner-f9b2e81b960498f0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/united-manufacturing-hub/index.html:1515"}, "properties": {"repobilityId": "8678242183765b43", "scanner": "scanner-primary", "fingerprint": "f9b2e81b960498f0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/united-manufacturing-hub/index.html"}, "region": {"startLine": 1515}}}]}, {"ruleId": "scanner-e33616b602e000ee", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/aikido-security/index.html:1549"}, "properties": {"repobilityId": "f6f8a57e523420a7", "scanner": "scanner-primary", "fingerprint": "e33616b602e000ee", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/aikido-security/index.html"}, "region": {"startLine": 1549}}}]}, {"ruleId": "scanner-7248211cca58a5b3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in prospects/embankment/index.html:1100"}, "properties": {"repobilityId": "56203a9f6c5163b1", "scanner": "scanner-primary", "fingerprint": "7248211cca58a5b3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "prospects/embankment/index.html"}, "region": {"startLine": 1100}}}]}, {"ruleId": "scanner-b8b32cfe622250f6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in decks/operator-intensive.html:2934"}, "properties": {"repobilityId": "357422cfbbe0aaab", "scanner": "scanner-primary", "fingerprint": "b8b32cfe622250f6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "decks/operator-intensive.html"}, "region": {"startLine": 2934}}}]}, {"ruleId": "scanner-27ad05bcf693aea7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in internal/website-committee-2026-06-08.html:989"}, "properties": {"repobilityId": "cf2aea20a87f3fb7", "scanner": "scanner-primary", "fingerprint": "27ad05bcf693aea7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "internal/website-committee-2026-06-08.html"}, "region": {"startLine": 989}}}]}, {"ruleId": "scanner-a0e328f57b1f1d7f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/maritime-domain-awareness-2026/index.html:2791"}, "properties": {"repobilityId": "9ce9bc5d3c5324c2", "scanner": "scanner-primary", "fingerprint": "a0e328f57b1f1d7f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/maritime-domain-awareness-2026/index.html"}, "region": {"startLine": 2791}}}]}, {"ruleId": "scanner-c276c6179f870d3b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/launch-strategy.html:1467"}, "properties": {"repobilityId": "b458464012ea0913", "scanner": "scanner-primary", "fingerprint": "c276c6179f870d3b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/state-of-cyber-2026/launch-strategy.html"}, "region": {"startLine": 1467}}}]}, {"ruleId": "scanner-0dda06ead47aaa1c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/irm.html:1984"}, "properties": {"repobilityId": "435289cb541f470b", "scanner": "scanner-primary", "fingerprint": "0dda06ead47aaa1c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/state-of-cyber-2026/irm.html"}, "region": {"startLine": 1984}}}]}, {"ruleId": "scanner-90df5a566499e35e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dlp.html:2291"}, "properties": {"repobilityId": "5ae2ffa03d2697be", "scanner": "scanner-primary", "fingerprint": "90df5a566499e35e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/state-of-cyber-2026/dlp.html"}, "region": {"startLine": 2291}}}]}, {"ruleId": "scanner-77726472ad2ed201", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/dspm.html:2021"}, "properties": {"repobilityId": "7431fedf993eba3a", "scanner": "scanner-primary", "fingerprint": "77726472ad2ed201", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/state-of-cyber-2026/dspm.html"}, "region": {"startLine": 2021}}}]}, {"ruleId": "scanner-7b711a29a95e1bb9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/state-of-cyber-2026/convergence.html:1520"}, "properties": {"repobilityId": "2bb609676cfd0538", "scanner": "scanner-primary", "fingerprint": "7b711a29a95e1bb9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/state-of-cyber-2026/convergence.html"}, "region": {"startLine": 1520}}}]}, {"ruleId": "scanner-2b2de84d422f3397", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in research/cellebrite-cognyte-merger/index.html:1105"}, "properties": {"repobilityId": "ede82097df196c04", "scanner": "scanner-primary", "fingerprint": "2b2de84d422f3397", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "research/cellebrite-cognyte-merger/index.html"}, "region": {"startLine": 1105}}}]}, {"ruleId": "scanner-8f8a6c9c140bd1d4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in scripts/pdf-render.js:77"}, "properties": {"repobilityId": "24900bd43496ca3b", "scanner": "scanner-primary", "fingerprint": "8f8a6c9c140bd1d4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pdf-render.js"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-e744acd5a0d188ad", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in insights/accure/brief/index.html:737"}, "properties": {"repobilityId": "ac345759e527fa8e", "scanner": "scanner-primary", "fingerprint": "e744acd5a0d188ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "insights/accure/brief/index.html"}, "region": {"startLine": 737}}}]}, {"ruleId": "scanner-08dba9ccdce0880d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in insights/qibb/brief/index.html:926"}, "properties": {"repobilityId": "233f4115640ab331", "scanner": "scanner-primary", "fingerprint": "08dba9ccdce0880d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "insights/qibb/brief/index.html"}, "region": {"startLine": 926}}}]}, {"ruleId": "scanner-8c16b089e957329a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/showcase.html:545"}, "properties": {"repobilityId": "ff052cbcc46bad62", "scanner": "scanner-primary", "fingerprint": "8c16b089e957329a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/showcase.html"}, "region": {"startLine": 545}}}]}, {"ruleId": "scanner-51b74c77481804da", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/competitive-landscape.html:1315"}, "properties": {"repobilityId": "5e6cbd646f1e79cc", "scanner": "scanner-primary", "fingerprint": "51b74c77481804da", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/competitive-landscape.html"}, "region": {"startLine": 1315}}}]}, {"ruleId": "scanner-8594fd1fe4f411b4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/content-calendar.html:1330"}, "properties": {"repobilityId": "10b4d1547088e33d", "scanner": "scanner-primary", "fingerprint": "8594fd1fe4f411b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/content-calendar.html"}, "region": {"startLine": 1330}}}]}, {"ruleId": "scanner-982fa2a7ea233129", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/positioning-messaging.html:1278"}, "properties": {"repobilityId": "3edef2bcea05aff4", "scanner": "scanner-primary", "fingerprint": "982fa2a7ea233129", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/positioning-messaging.html"}, "region": {"startLine": 1278}}}]}, {"ruleId": "scanner-c64b2c2dfebc7f15", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/week-1-posts.html:947"}, "properties": {"repobilityId": "822c3f665d08dab3", "scanner": "scanner-primary", "fingerprint": "c64b2c2dfebc7f15", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/week-1-posts.html"}, "region": {"startLine": 947}}}]}, {"ruleId": "scanner-5f4e5f545f543b10", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in planning/presentations/business-case.html:908"}, "properties": {"repobilityId": "4dea872efe6848a2", "scanner": "scanner-primary", "fingerprint": "5f4e5f545f543b10", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/business-case.html"}, "region": {"startLine": 908}}}]}, {"ruleId": "scanner-7e901cd5b3c5d636", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/business-case.html:1189"}, "properties": {"repobilityId": "867187cee4f560bf", "scanner": "scanner-primary", "fingerprint": "7e901cd5b3c5d636", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/business-case.html"}, "region": {"startLine": 1189}}}]}, {"ruleId": "scanner-1af29455383b582a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/gtm-strategy.html:1471"}, "properties": {"repobilityId": "55f54d886242cb7c", "scanner": "scanner-primary", "fingerprint": "1af29455383b582a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/gtm-strategy.html"}, "region": {"startLine": 1471}}}]}, {"ruleId": "scanner-4affdbff3e4af494", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/vision-statement.html:925"}, "properties": {"repobilityId": "4651849a44a160ef", "scanner": "scanner-primary", "fingerprint": "4affdbff3e4af494", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/vision-statement.html"}, "region": {"startLine": 925}}}]}, {"ruleId": "scanner-3e790b551b06cf1b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/value-proposition-offering.html:1614"}, "properties": {"repobilityId": "ad7f7a9c279c3acb", "scanner": "scanner-primary", "fingerprint": "3e790b551b06cf1b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/value-proposition-offering.html"}, "region": {"startLine": 1614}}}]}, {"ruleId": "scanner-fa182edbc9504b5c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/signal-radar-implementation-plan.html:1141"}, "properties": {"repobilityId": "11bdb54e0cf469b4", "scanner": "scanner-primary", "fingerprint": "fa182edbc9504b5c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/signal-radar-implementation-plan.html"}, "region": {"startLine": 1141}}}]}, {"ruleId": "scanner-aa87a49ea972b342", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/market-analysis.html:998"}, "properties": {"repobilityId": "1264414dee64dca0", "scanner": "scanner-primary", "fingerprint": "aa87a49ea972b342", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/market-analysis.html"}, "region": {"startLine": 998}}}]}, {"ruleId": "scanner-c63af134d91f9eeb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/productbeacon-strategic-narrative.html:1202"}, "properties": {"repobilityId": "ad28ff99587cda42", "scanner": "scanner-primary", "fingerprint": "c63af134d91f9eeb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/productbeacon-strategic-narrative.html"}, "region": {"startLine": 1202}}}]}, {"ruleId": "scanner-e62db333060b5641", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/brand-voice-design.html:1831"}, "properties": {"repobilityId": "71ee0d3d35da098b", "scanner": "scanner-primary", "fingerprint": "e62db333060b5641", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/brand-voice-design.html"}, "region": {"startLine": 1831}}}]}, {"ruleId": "scanner-bf00d546af1395a8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning/presentations/pricing-strategy.html:1428"}, "properties": {"repobilityId": "a829d5c72f29d9a4", "scanner": "scanner-primary", "fingerprint": "bf00d546af1395a8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning/presentations/pricing-strategy.html"}, "region": {"startLine": 1428}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"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": "56f38e6b5e985002", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-faccb9061e9b52a0", "level": "note", "message": {"text": "No README detected"}, "properties": {"repobilityId": "e3a1055c131ac64c", "scanner": "scanner-primary", "fingerprint": "faccb9061e9b52a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2d58f49b1facf0d7", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "b9bf091beb028049", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "7e464ea06a8015dd", "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": "7b1b4b2a66452cee", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e668cd3fc8550918", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/make-redirect-stubs.py:52"}, "properties": {"repobilityId": "e25a0728f17ebca4", "scanner": "scanner-primary", "fingerprint": "e668cd3fc8550918", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7f3ee796b24482bb", "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": "728cb86b02553ceb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}