{"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-e477249f4244de40", "name": "Possibly dead Python function: fmt", "shortDescription": {"text": "Possibly dead Python function: fmt"}, "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-17be72b9d5110960", "name": "Possibly dead Python function: pctile_bar", "shortDescription": {"text": "Possibly dead Python function: pctile_bar"}, "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-c346d2d79c497393", "name": "Possibly dead Python function: onoff_html", "shortDescription": {"text": "Possibly dead Python function: onoff_html"}, "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-696fca91e6f26bb4", "name": "Possibly dead Python function: gauge_dial", "shortDescription": {"text": "Possibly dead Python function: gauge_dial"}, "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-ed220a4a462ed521", "name": "Possibly dead Python function: style_df", "shortDescription": {"text": "Possibly dead Python function: style_df"}, "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-d1ed14fed2e35844", "name": "Possibly dead Python function: zone_leader_map", "shortDescription": {"text": "Possibly dead Python function: zone_leader_map"}, "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-8347388cdfc8258b", "name": "Possibly dead Python function: hot_zones", "shortDescription": {"text": "Possibly dead Python function: hot_zones"}, "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-41ce4fa6e2dce628", "name": "Possibly dead Python function: archive_open", "shortDescription": {"text": "Possibly dead Python function: archive_open"}, "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-c092f3dcb9c150ac", "name": "Possibly dead Python function: paint_fga", "shortDescription": {"text": "Possibly dead Python function: paint_fga"}, "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-5b174230f78944a8", "name": "Possibly dead Python function: app", "shortDescription": {"text": "Possibly dead Python function: app"}, "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-519712e90c317a40", "name": "Possibly dead Python function: team_game_ids", "shortDescription": {"text": "Possibly dead Python function: team_game_ids"}, "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-7ed63e57348e8160", "name": "Possibly dead Python function: player_unit_summary", "shortDescription": {"text": "Possibly dead Python function: player_unit_summary"}, "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-256a7ac77062c5ac", "name": "Possibly dead Python function: rgb", "shortDescription": {"text": "Possibly dead Python function: rgb"}, "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-960df28b3348641d", "name": "Possibly dead Python function: season_picker", "shortDescription": {"text": "Possibly dead Python function: season_picker"}, "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-be9448365b213a3d", "name": "Possibly dead Python function: style_fig", "shortDescription": {"text": "Possibly dead Python function: style_fig"}, "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-d4d66a5f347520a5", "name": "Possibly dead Python function: kpi", "shortDescription": {"text": "Possibly dead Python function: kpi"}, "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-dc2ffa28d59ef424", "name": "Possibly dead Python function: grid", "shortDescription": {"text": "Possibly dead Python function: grid"}, "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-d94950bed3b19637", "name": "Possibly dead Python function: chart", "shortDescription": {"text": "Possibly dead Python function: chart"}, "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-4a4f8808777e4c8f", "name": "Possibly dead Python function: loading", "shortDescription": {"text": "Possibly dead Python function: loading"}, "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-ca79a5c2738133f2", "name": "Possibly dead Python function: set_team", "shortDescription": {"text": "Possibly dead Python function: set_team"}, "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-4fba0f9164e219cd", "name": "Possibly dead Python function: has_tracked_access", "shortDescription": {"text": "Possibly dead Python function: has_tracked_access"}, "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-0f7bd2f95648a306", "name": "Possibly dead Python function: pool_team_ids", "shortDescription": {"text": "Possibly dead Python function: pool_team_ids"}, "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-1409f9841fb43fed", "name": "Possibly dead Python function: current_api_user", "shortDescription": {"text": "Possibly dead Python function: current_api_user"}, "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-15f014706df02d84", "name": "Possibly dead Python function: load_teams", "shortDescription": {"text": "Possibly dead Python function: load_teams"}, "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-1cea0572274b72f7", "name": "Insecure pattern 'direct_innerhtml_assignment' in APP5.0/tracker/static/app.js:279", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in APP5.0/tracker/static/app.js:279"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "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-faaf784b717ffced", "name": "Very large file: APP5.0/helpers/stats.py (1630 lines)", "shortDescription": {"text": "Very large file: APP5.0/helpers/stats.py (1630 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-92d2c90359e1aef2", "name": "Very large file: APP5.0/helpers/team_analytics.py (1808 lines)", "shortDescription": {"text": "Very large file: APP5.0/helpers/team_analytics.py (1808 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-7ea9560d68b813e9", "name": "Very large file: APP5.0/helpers/box_score.py (1344 lines)", "shortDescription": {"text": "Very large file: APP5.0/helpers/box_score.py (1344 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-a9ee074d527fabc9", "name": "Very large file: APP5.0/tracker/static/app.js (1546 lines)", "shortDescription": {"text": "Very large file: APP5.0/tracker/static/app.js (1546 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-d5a6e4c470132592", "name": "Very large file: APP5.0/pages/5_Rankings.py (2001 lines)", "shortDescription": {"text": "Very large file: APP5.0/pages/5_Rankings.py (2001 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-c90a890bb5822532", "name": "Very large file: APP5.0/pages/6_Team_Dashboard.py (4452 lines)", "shortDescription": {"text": "Very large file: APP5.0/pages/6_Team_Dashboard.py (4452 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-52f46725542f21fd", "name": "Very large file: APP5.0/pages/7_Players.py (2219 lines)", "shortDescription": {"text": "Very large file: APP5.0/pages/7_Players.py (2219 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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "9 tests / 69 src (ratio 0.13)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 12 placeholder/mock markers across 9 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, 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-a06c41c553a59ad1", "name": "Network/subprocess call without timeout or try/except \u2014 APP5.0/run.py:16", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 APP5.0/run.py:16"}, "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-81424c6dc036eddc", "name": "Commented-code block (5 lines) in APP5.0/helpers/player_ratings.py:403", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/helpers/player_ratings.py:403"}, "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-fba048cde53c4284", "name": "Commented-code block (6 lines) in APP5.0/helpers/scout.py:183", "shortDescription": {"text": "Commented-code block (6 lines) in APP5.0/helpers/scout.py:183"}, "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-3cc5ee0c1254caf5", "name": "Commented-code block (10 lines) in APP5.0/helpers/stats.py:631", "shortDescription": {"text": "Commented-code block (10 lines) in APP5.0/helpers/stats.py:631"}, "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-d0d85ab678c51397", "name": "Commented-code block (7 lines) in APP5.0/helpers/team_analytics.py:83", "shortDescription": {"text": "Commented-code block (7 lines) in APP5.0/helpers/team_analytics.py:83"}, "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-2290e4bc45fc8bfd", "name": "Commented-code block (5 lines) in APP5.0/helpers/ui.py:267", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/helpers/ui.py:267"}, "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-81f3549a9970268b", "name": "Commented-code block (9 lines) in APP5.0/helpers/box_score.py:275", "shortDescription": {"text": "Commented-code block (9 lines) in APP5.0/helpers/box_score.py:275"}, "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-0aa8e401bbebdecb", "name": "Commented-code block (10 lines) in APP5.0/helpers/badges.py:55", "shortDescription": {"text": "Commented-code block (10 lines) in APP5.0/helpers/badges.py:55"}, "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-771bfb9cf098052d", "name": "Commented-code block (5 lines) in APP5.0/helpers/dashboard/scout_tab.py:30", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/helpers/dashboard/scout_tab.py:30"}, "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-4d4927d840163e56", "name": "Legacy-named symbol `g_old` in APP5.0/tracker/test_seasons.py:48", "shortDescription": {"text": "Legacy-named symbol `g_old` in APP5.0/tracker/test_seasons.py:48"}, "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-e24dbb4fa7eea174", "name": "Commented-code block (5 lines) in APP5.0/tracker/test_shot_fix.py:98", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/tracker/test_shot_fix.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67e9d47376972e4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 APP5.0/tracker/static/sw.js:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 APP5.0/tracker/static/sw.js:71"}, "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-3ec95d557d682aa8", "name": "Commented-code block (5 lines) in APP5.0/pages/5_Rankings.py:308", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/pages/5_Rankings.py:308"}, "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-a9945ae1b8f4159c", "name": "Commented-code block (5 lines) in APP5.0/pages/6_Team_Dashboard.py:647", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/pages/6_Team_Dashboard.py:647"}, "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-bce916a5c279eea2", "name": "Commented-code block (6 lines) in APP5.0/pages/3_Event_Editor.py:199", "shortDescription": {"text": "Commented-code block (6 lines) in APP5.0/pages/3_Event_Editor.py:199"}, "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-3bbffd721607cd80", "name": "Commented-code block (5 lines) in APP5.0/pages/2_Game_Tracker.py:599", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/pages/2_Game_Tracker.py:599"}, "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-5d724bc3054f4e36", "name": "Legacy-named symbol `mig_shares_pool_v1` in APP5.0/database/db.py:422", "shortDescription": {"text": "Legacy-named symbol `mig_shares_pool_v1` in APP5.0/database/db.py:422"}, "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-eae8448621993e7e", "name": "Commented-code block (5 lines) in APP5.0/database/db.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in APP5.0/database/db.py:20"}, "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:\nAPP5.0/helpers/stats.py:percentile, APP5.0/helpers/stats.py:per\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/25051"}, "properties": {"repository": "colbylfarrar-ai/basketball_event_logger", "repoUrl": "https://github.com/colbylfarrar-ai/basketball_event_logger", "branch": "main"}, "results": [{"ruleId": "scanner-e477249f4244de40", "level": "note", "message": {"text": "Possibly dead Python function: fmt"}, "properties": {"repobilityId": "cbd3d18445d097f2", "scanner": "scanner-primary", "fingerprint": "e477249f4244de40", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/cards.py:43"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17be72b9d5110960", "level": "note", "message": {"text": "Possibly dead Python function: pctile_bar"}, "properties": {"repobilityId": "b2868cae936a08aa", "scanner": "scanner-primary", "fingerprint": "17be72b9d5110960", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/cards.py:84"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c346d2d79c497393", "level": "note", "message": {"text": "Possibly dead Python function: onoff_html"}, "properties": {"repobilityId": "e7e3db7a4ebe266d", "scanner": "scanner-primary", "fingerprint": "c346d2d79c497393", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/cards.py:120"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-696fca91e6f26bb4", "level": "note", "message": {"text": "Possibly dead Python function: gauge_dial"}, "properties": {"repobilityId": "0c3555a339d45c95", "scanner": "scanner-primary", "fingerprint": "696fca91e6f26bb4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/cards.py:179"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed220a4a462ed521", "level": "note", "message": {"text": "Possibly dead Python function: style_df"}, "properties": {"repobilityId": "9c41aef59f47f5b6", "scanner": "scanner-primary", "fingerprint": "ed220a4a462ed521", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/cards.py:207"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d1ed14fed2e35844", "level": "note", "message": {"text": "Possibly dead Python function: zone_leader_map"}, "properties": {"repobilityId": "528eca086a6212ff", "scanner": "scanner-primary", "fingerprint": "d1ed14fed2e35844", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/court.py:167"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8347388cdfc8258b", "level": "note", "message": {"text": "Possibly dead Python function: hot_zones"}, "properties": {"repobilityId": "f7eecbde5048c848", "scanner": "scanner-primary", "fingerprint": "8347388cdfc8258b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/court.py:295"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41ce4fa6e2dce628", "level": "note", "message": {"text": "Possibly dead Python function: archive_open"}, "properties": {"repobilityId": "641ad8fe860b199f", "scanner": "scanner-primary", "fingerprint": "41ce4fa6e2dce628", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/seasons.py:42"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c092f3dcb9c150ac", "level": "note", "message": {"text": "Possibly dead Python function: paint_fga"}, "properties": {"repobilityId": "ac04c6ef1e1c4227", "scanner": "scanner-primary", "fingerprint": "c092f3dcb9c150ac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/stats.py:310"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b174230f78944a8", "level": "note", "message": {"text": "Possibly dead Python function: app"}, "properties": {"repobilityId": "db1663a96501c30e", "scanner": "scanner-primary", "fingerprint": "5b174230f78944a8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/stats.py:503"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-519712e90c317a40", "level": "note", "message": {"text": "Possibly dead Python function: team_game_ids"}, "properties": {"repobilityId": "0ee722f164d7fab2", "scanner": "scanner-primary", "fingerprint": "519712e90c317a40", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/stats.py:1209"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ed63e57348e8160", "level": "note", "message": {"text": "Possibly dead Python function: player_unit_summary"}, "properties": {"repobilityId": "f058261ac4f1afd4", "scanner": "scanner-primary", "fingerprint": "7ed63e57348e8160", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/lineups.py:164"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-256a7ac77062c5ac", "level": "note", "message": {"text": "Possibly dead Python function: rgb"}, "properties": {"repobilityId": "126abf2b23862f32", "scanner": "scanner-primary", "fingerprint": "256a7ac77062c5ac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:161"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-960df28b3348641d", "level": "note", "message": {"text": "Possibly dead Python function: season_picker"}, "properties": {"repobilityId": "bd451f9b46387a43", "scanner": "scanner-primary", "fingerprint": "960df28b3348641d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:197"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-be9448365b213a3d", "level": "note", "message": {"text": "Possibly dead Python function: style_fig"}, "properties": {"repobilityId": "7f2ef0dd146aa785", "scanner": "scanner-primary", "fingerprint": "be9448365b213a3d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:243"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d4d66a5f347520a5", "level": "note", "message": {"text": "Possibly dead Python function: kpi"}, "properties": {"repobilityId": "41721a260f02c8ad", "scanner": "scanner-primary", "fingerprint": "d4d66a5f347520a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:313"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc2ffa28d59ef424", "level": "note", "message": {"text": "Possibly dead Python function: grid"}, "properties": {"repobilityId": "dd78b45721a5bdce", "scanner": "scanner-primary", "fingerprint": "dc2ffa28d59ef424", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:325"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d94950bed3b19637", "level": "note", "message": {"text": "Possibly dead Python function: chart"}, "properties": {"repobilityId": "7afea62a97f07f60", "scanner": "scanner-primary", "fingerprint": "d94950bed3b19637", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:357"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a4f8808777e4c8f", "level": "note", "message": {"text": "Possibly dead Python function: loading"}, "properties": {"repobilityId": "f5fad823d24182be", "scanner": "scanner-primary", "fingerprint": "4a4f8808777e4c8f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/ui.py:393"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca79a5c2738133f2", "level": "note", "message": {"text": "Possibly dead Python function: set_team"}, "properties": {"repobilityId": "aaf36e268fe075b7", "scanner": "scanner-primary", "fingerprint": "ca79a5c2738133f2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/auth.py:159"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4fba0f9164e219cd", "level": "note", "message": {"text": "Possibly dead Python function: has_tracked_access"}, "properties": {"repobilityId": "7a0a837cec9b6a42", "scanner": "scanner-primary", "fingerprint": "4fba0f9164e219cd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/auth.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f7bd2f95648a306", "level": "note", "message": {"text": "Possibly dead Python function: pool_team_ids"}, "properties": {"repobilityId": "d18347ce503a11d7", "scanner": "scanner-primary", "fingerprint": "0f7bd2f95648a306", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/helpers/entitlement.py:116"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1409f9841fb43fed", "level": "note", "message": {"text": "Possibly dead Python function: current_api_user"}, "properties": {"repobilityId": "f83aa61da363bb1a", "scanner": "scanner-primary", "fingerprint": "1409f9841fb43fed", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/tracker/api.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-15f014706df02d84", "level": "note", "message": {"text": "Possibly dead Python function: load_teams"}, "properties": {"repobilityId": "fc3c9411efd69794", "scanner": "scanner-primary", "fingerprint": "15f014706df02d84", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/pages/1_Input_Hub.py:58"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1cea0572274b72f7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in APP5.0/tracker/static/app.js:279"}, "properties": {"repobilityId": "ae110011ebc8fbae", "scanner": "scanner-primary", "fingerprint": "1cea0572274b72f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "APP5.0/tracker/static/app.js"}, "region": {"startLine": 279}}}]}, {"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-faaf784b717ffced", "level": "note", "message": {"text": "Very large file: APP5.0/helpers/stats.py (1630 lines)"}, "properties": {"repobilityId": "c9748467a8291feb", "scanner": "scanner-primary", "fingerprint": "faaf784b717ffced", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92d2c90359e1aef2", "level": "note", "message": {"text": "Very large file: APP5.0/helpers/team_analytics.py (1808 lines)"}, "properties": {"repobilityId": "e713c9b115e6ea50", "scanner": "scanner-primary", "fingerprint": "92d2c90359e1aef2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ea9560d68b813e9", "level": "note", "message": {"text": "Very large file: APP5.0/helpers/box_score.py (1344 lines)"}, "properties": {"repobilityId": "d9df9e6a3554e7bb", "scanner": "scanner-primary", "fingerprint": "7ea9560d68b813e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a9ee074d527fabc9", "level": "note", "message": {"text": "Very large file: APP5.0/tracker/static/app.js (1546 lines)"}, "properties": {"repobilityId": "9ed5d82c90fc1553", "scanner": "scanner-primary", "fingerprint": "a9ee074d527fabc9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d5a6e4c470132592", "level": "note", "message": {"text": "Very large file: APP5.0/pages/5_Rankings.py (2001 lines)"}, "properties": {"repobilityId": "f1c8917932961926", "scanner": "scanner-primary", "fingerprint": "d5a6e4c470132592", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c90a890bb5822532", "level": "note", "message": {"text": "Very large file: APP5.0/pages/6_Team_Dashboard.py (4452 lines)"}, "properties": {"repobilityId": "20ca847ec18886d7", "scanner": "scanner-primary", "fingerprint": "c90a890bb5822532", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-52f46725542f21fd", "level": "note", "message": {"text": "Very large file: APP5.0/pages/7_Players.py (2219 lines)"}, "properties": {"repobilityId": "d763de4d09c1e349", "scanner": "scanner-primary", "fingerprint": "52f46725542f21fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "a86aed0fc9b454b1", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "74d22c883f5b5f28", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "c6cb3610d27df1dc", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "af880927822b5ab7", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-a06c41c553a59ad1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 APP5.0/run.py:16"}, "properties": {"repobilityId": "8987e5e20a6dd3c2", "scanner": "scanner-primary", "fingerprint": "a06c41c553a59ad1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-81424c6dc036eddc", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/helpers/player_ratings.py:403"}, "properties": {"repobilityId": "1ad1479087916c72", "scanner": "scanner-primary", "fingerprint": "81424c6dc036eddc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fba048cde53c4284", "level": "none", "message": {"text": "Commented-code block (6 lines) in APP5.0/helpers/scout.py:183"}, "properties": {"repobilityId": "8999b775c7a9193a", "scanner": "scanner-primary", "fingerprint": "fba048cde53c4284", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3cc5ee0c1254caf5", "level": "none", "message": {"text": "Commented-code block (10 lines) in APP5.0/helpers/stats.py:631"}, "properties": {"repobilityId": "20d50397035977c3", "scanner": "scanner-primary", "fingerprint": "3cc5ee0c1254caf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0d85ab678c51397", "level": "none", "message": {"text": "Commented-code block (7 lines) in APP5.0/helpers/team_analytics.py:83"}, "properties": {"repobilityId": "c452e80b2f6fe368", "scanner": "scanner-primary", "fingerprint": "d0d85ab678c51397", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2290e4bc45fc8bfd", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/helpers/ui.py:267"}, "properties": {"repobilityId": "d1a0f951d1092d19", "scanner": "scanner-primary", "fingerprint": "2290e4bc45fc8bfd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81f3549a9970268b", "level": "none", "message": {"text": "Commented-code block (9 lines) in APP5.0/helpers/box_score.py:275"}, "properties": {"repobilityId": "ffb656d8bb5f12ff", "scanner": "scanner-primary", "fingerprint": "81f3549a9970268b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0aa8e401bbebdecb", "level": "none", "message": {"text": "Commented-code block (10 lines) in APP5.0/helpers/badges.py:55"}, "properties": {"repobilityId": "ee53d9bc5a8e1fb7", "scanner": "scanner-primary", "fingerprint": "0aa8e401bbebdecb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-771bfb9cf098052d", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/helpers/dashboard/scout_tab.py:30"}, "properties": {"repobilityId": "f425722fba5dd8dc", "scanner": "scanner-primary", "fingerprint": "771bfb9cf098052d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d4927d840163e56", "level": "note", "message": {"text": "Legacy-named symbol `g_old` in APP5.0/tracker/test_seasons.py:48"}, "properties": {"repobilityId": "a3632bf870db2498", "scanner": "scanner-primary", "fingerprint": "4d4927d840163e56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e24dbb4fa7eea174", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/tracker/test_shot_fix.py:98"}, "properties": {"repobilityId": "d77d97d91fb4d9f5", "scanner": "scanner-primary", "fingerprint": "e24dbb4fa7eea174", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67e9d47376972e4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 APP5.0/tracker/static/sw.js:71"}, "properties": {"repobilityId": "3fcb3c1e45b75982", "scanner": "scanner-primary", "fingerprint": "67e9d47376972e4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3ec95d557d682aa8", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/pages/5_Rankings.py:308"}, "properties": {"repobilityId": "7bf754828aac4240", "scanner": "scanner-primary", "fingerprint": "3ec95d557d682aa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9945ae1b8f4159c", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/pages/6_Team_Dashboard.py:647"}, "properties": {"repobilityId": "0973fa2a271e25ff", "scanner": "scanner-primary", "fingerprint": "a9945ae1b8f4159c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bce916a5c279eea2", "level": "none", "message": {"text": "Commented-code block (6 lines) in APP5.0/pages/3_Event_Editor.py:199"}, "properties": {"repobilityId": "76a791d2e4779df5", "scanner": "scanner-primary", "fingerprint": "bce916a5c279eea2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bbffd721607cd80", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/pages/2_Game_Tracker.py:599"}, "properties": {"repobilityId": "79b7ec7c406ffc76", "scanner": "scanner-primary", "fingerprint": "3bbffd721607cd80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d724bc3054f4e36", "level": "note", "message": {"text": "Legacy-named symbol `mig_shares_pool_v1` in APP5.0/database/db.py:422"}, "properties": {"repobilityId": "7dfb02a8096031c9", "scanner": "scanner-primary", "fingerprint": "5d724bc3054f4e36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eae8448621993e7e", "level": "none", "message": {"text": "Commented-code block (5 lines) in APP5.0/database/db.py:20"}, "properties": {"repobilityId": "96663e3e6539f897", "scanner": "scanner-primary", "fingerprint": "eae8448621993e7e", "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": "a65910e12317e58d", "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": "816742788a3da527", "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": "2b8d4edf63fcf651", "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": "5817f4e24b690bf3", "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": "53e23f52d77694eb", "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": "2d980f6ae23394da", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}