{"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-9215a436bffa6330", "name": "Possibly dead Python function: hamta_standardbanor", "shortDescription": {"text": "Possibly dead Python function: hamta_standardbanor"}, "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-033d6bb93f187360", "name": "Possibly dead Python function: sort_nyckel", "shortDescription": {"text": "Possibly dead Python function: sort_nyckel"}, "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-cf525d18982d656d", "name": "Possibly dead Python function: skapa_kort", "shortDescription": {"text": "Possibly dead Python function: skapa_kort"}, "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-0d1547ed73840b74", "name": "Possibly dead Python function: do_print", "shortDescription": {"text": "Possibly dead Python function: do_print"}, "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-dc1c7596b0cac737", "name": "Possibly dead Python function: do_cancel", "shortDescription": {"text": "Possibly dead Python function: do_cancel"}, "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-1049dc0a05bf1170", "name": "Possibly dead Python function: visa_spelplan_forhandsvisning", "shortDescription": {"text": "Possibly dead Python function: visa_spelplan_forhandsvisning"}, "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-6fb5c62c77f65013", "name": "Possibly dead Python function: har_pdf_stod", "shortDescription": {"text": "Possibly dead Python function: har_pdf_stod"}, "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-52726b96dc4e2dc2", "name": "Possibly dead Python function: validera_spelplan", "shortDescription": {"text": "Possibly dead Python function: validera_spelplan"}, "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-c38c88e9af1ac17b", "name": "Possibly dead Python function: hamta_medlemmar", "shortDescription": {"text": "Possibly dead Python function: hamta_medlemmar"}, "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-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-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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6626ea232d93c82", "name": "Legacy-named symbol `Databas_backup` in skapa_bruksanvisning.py:639", "shortDescription": {"text": "Legacy-named symbol `Databas_backup` in skapa_bruksanvisning.py:639"}, "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-ceeaf37352f647f6", "name": "Legacy-named symbol `skapa_backup` in main.py:37", "shortDescription": {"text": "Legacy-named symbol `skapa_backup` in main.py:37"}, "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-d84e2cb3be5215a9", "name": "Commented-code block (5 lines) in spelplan.py:420", "shortDescription": {"text": "Commented-code block (5 lines) in spelplan.py:420"}, "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-8eeababe78f5a70a", "name": "Network/subprocess call without timeout or try/except \u2014 utskrift.py:274", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 utskrift.py:274"}, "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-7e94babc9331ed9b", "name": "Legacy-named symbol `skapa_backup` in databas.py:303", "shortDescription": {"text": "Legacy-named symbol `skapa_backup` in databas.py:303"}, "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-752789d528406f81", "name": "Legacy-named symbol `skapa_backup` in tests/test_databas.py:110", "shortDescription": {"text": "Legacy-named symbol `skapa_backup` in tests/test_databas.py:110"}, "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}}]}}, "automationDetails": {"id": "repobility/24847"}, "properties": {"repository": "CasperW04/boule-programmet", "repoUrl": "https://github.com/CasperW04/boule-programmet", "branch": "main"}, "results": [{"ruleId": "scanner-9215a436bffa6330", "level": "note", "message": {"text": "Possibly dead Python function: hamta_standardbanor"}, "properties": {"repobilityId": "d07a0afd4f7aa02d", "scanner": "scanner-primary", "fingerprint": "9215a436bffa6330", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lottning.py:392"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-033d6bb93f187360", "level": "note", "message": {"text": "Possibly dead Python function: sort_nyckel"}, "properties": {"repobilityId": "01a143755cef2541", "scanner": "scanner-primary", "fingerprint": "033d6bb93f187360", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "resultat.py:378"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf525d18982d656d", "level": "note", "message": {"text": "Possibly dead Python function: skapa_kort"}, "properties": {"repobilityId": "c12937b10a94d709", "scanner": "scanner-primary", "fingerprint": "cf525d18982d656d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tema.py:177"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d1547ed73840b74", "level": "note", "message": {"text": "Possibly dead Python function: do_print"}, "properties": {"repobilityId": "eb4ee4b00ae4435a", "scanner": "scanner-primary", "fingerprint": "0d1547ed73840b74", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utskrift.py:314"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc1c7596b0cac737", "level": "note", "message": {"text": "Possibly dead Python function: do_cancel"}, "properties": {"repobilityId": "1dcf1eca6cee0bc8", "scanner": "scanner-primary", "fingerprint": "dc1c7596b0cac737", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utskrift.py:318"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1049dc0a05bf1170", "level": "note", "message": {"text": "Possibly dead Python function: visa_spelplan_forhandsvisning"}, "properties": {"repobilityId": "71b4c25617704374", "scanner": "scanner-primary", "fingerprint": "1049dc0a05bf1170", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utskrift.py:901"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fb5c62c77f65013", "level": "note", "message": {"text": "Possibly dead Python function: har_pdf_stod"}, "properties": {"repobilityId": "bd6a2cb3be55bb86", "scanner": "scanner-primary", "fingerprint": "6fb5c62c77f65013", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utskrift.py:993"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52726b96dc4e2dc2", "level": "note", "message": {"text": "Possibly dead Python function: validera_spelplan"}, "properties": {"repobilityId": "a0e250c8887a8d3e", "scanner": "scanner-primary", "fingerprint": "52726b96dc4e2dc2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "databas.py:244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c38c88e9af1ac17b", "level": "note", "message": {"text": "Possibly dead Python function: hamta_medlemmar"}, "properties": {"repobilityId": "344107125cf66d4a", "scanner": "scanner-primary", "fingerprint": "c38c88e9af1ac17b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "medlemmar.py:323"}, "region": {"startLine": 1}}}]}, {"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-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "6ba2df84cc97c2d6", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "757646e637d049a0", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-c6626ea232d93c82", "level": "note", "message": {"text": "Legacy-named symbol `Databas_backup` in skapa_bruksanvisning.py:639"}, "properties": {"repobilityId": "66ed2f14d5f8d6ff", "scanner": "scanner-primary", "fingerprint": "c6626ea232d93c82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ceeaf37352f647f6", "level": "note", "message": {"text": "Legacy-named symbol `skapa_backup` in main.py:37"}, "properties": {"repobilityId": "e261d2224b073ba1", "scanner": "scanner-primary", "fingerprint": "ceeaf37352f647f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d84e2cb3be5215a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in spelplan.py:420"}, "properties": {"repobilityId": "9b541b78b5a3a02b", "scanner": "scanner-primary", "fingerprint": "d84e2cb3be5215a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8eeababe78f5a70a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 utskrift.py:274"}, "properties": {"repobilityId": "8da7b3c578e057f2", "scanner": "scanner-primary", "fingerprint": "8eeababe78f5a70a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e94babc9331ed9b", "level": "note", "message": {"text": "Legacy-named symbol `skapa_backup` in databas.py:303"}, "properties": {"repobilityId": "3dc8a26271446863", "scanner": "scanner-primary", "fingerprint": "7e94babc9331ed9b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-752789d528406f81", "level": "note", "message": {"text": "Legacy-named symbol `skapa_backup` in tests/test_databas.py:110"}, "properties": {"repobilityId": "e1812912d8e73b8b", "scanner": "scanner-primary", "fingerprint": "752789d528406f81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}]}]}