{"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-aa605f62bc9607dd", "name": "Possibly dead Python function: stop", "shortDescription": {"text": "Possibly dead Python function: stop"}, "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-87957682dcb6d6f5", "name": "Possibly dead Python function: judge_entry", "shortDescription": {"text": "Possibly dead Python function: judge_entry"}, "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-aa887a20ffcd25a3", "name": "Possibly dead Python function: refresh_wallet_positions", "shortDescription": {"text": "Possibly dead Python function: refresh_wallet_positions"}, "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-703985cac2e46834", "name": "Possibly dead Python function: list_claims", "shortDescription": {"text": "Possibly dead Python function: list_claims"}, "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-51eaac0b829845b0", "name": "Possibly dead Python function: stop", "shortDescription": {"text": "Possibly dead Python function: stop"}, "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-398e56e76b6dcee6", "name": "Possibly dead Python function: stop", "shortDescription": {"text": "Possibly dead Python function: stop"}, "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-def1dd66f11decf3", "name": "Possibly dead Python function: fetch_one", "shortDescription": {"text": "Possibly dead Python function: fetch_one"}, "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-39140a6370bc10f4", "name": "Possibly dead Python function: fetch_one", "shortDescription": {"text": "Possibly dead Python function: fetch_one"}, "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-4d2e17093a9b4d3e", "name": "Very large file: judgment.py (1343 lines)", "shortDescription": {"text": "Very large file: judgment.py (1343 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-9361f59bdc28fdb6", "name": "Very large file: config.py (1403 lines)", "shortDescription": {"text": "Very large file: config.py (1403 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-3be5e845441c298a", "name": "Very large file: paper_judge_bot.py (4629 lines)", "shortDescription": {"text": "Very large file: paper_judge_bot.py (4629 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-534342a45bf5e4fd", "name": "Very large file: nn_shadow_worker.py (3171 lines)", "shortDescription": {"text": "Very large file: nn_shadow_worker.py (3171 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-35c42a99fa2d2d30", "name": "Very large file: cell_mae_table.py (1218 lines)", "shortDescription": {"text": "Very large file: cell_mae_table.py (1218 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 47 source file(s) (ratio 0.02). 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 134 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 12 placeholder/mock markers across 3 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-b8ab36a37965fddc", "name": "Commented-code block (6 lines) in live_data.py:63", "shortDescription": {"text": "Commented-code block (6 lines) in live_data.py:63"}, "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-331a1848a53fe7e3", "name": "Commented-code block (5 lines) in kalshi_client.py:433", "shortDescription": {"text": "Commented-code block (5 lines) in kalshi_client.py:433"}, "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-0de773364fa2ed88", "name": "Commented-code block (6 lines) in nn_shadow_strategy.py:271", "shortDescription": {"text": "Commented-code block (6 lines) in nn_shadow_strategy.py:271"}, "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-db5adcb537bdf8de", "name": "Commented-code block (5 lines) in nn_shadow.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in nn_shadow.py:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c08087a2c0eb86c", "name": "Commented-code block (7 lines) in nn_match_fast.py:333", "shortDescription": {"text": "Commented-code block (7 lines) in nn_match_fast.py:333"}, "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-ad6100c2eecbe88d", "name": "Commented-code block (11 lines) in judgment.py:254", "shortDescription": {"text": "Commented-code block (11 lines) in judgment.py:254"}, "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-081f86f0270e0e2c", "name": "Legacy-named symbol `pace_curves_v2` in config.py:672", "shortDescription": {"text": "Legacy-named symbol `pace_curves_v2` in config.py:672"}, "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-d488a1c0696b6952", "name": "Commented-code block (13 lines) in config.py:66", "shortDescription": {"text": "Commented-code block (13 lines) in config.py:66"}, "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-7f0d0a52e2358522", "name": "Legacy-named symbol `paper_min_bot_v2` in shared_cache_reader.py:3", "shortDescription": {"text": "Legacy-named symbol `paper_min_bot_v2` in shared_cache_reader.py:3"}, "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-ef2a3565ea24308b", "name": "Commented-code block (5 lines) in shared_cache_reader.py:61", "shortDescription": {"text": "Commented-code block (5 lines) in shared_cache_reader.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f084b7e83cbefd3", "name": "Legacy-named symbol `pace_curves_v2` in paper_judge_bot.py:89", "shortDescription": {"text": "Legacy-named symbol `pace_curves_v2` in paper_judge_bot.py:89"}, "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-584a81c76f858ad1", "name": "Commented-code block (6 lines) in paper_judge_bot.py:208", "shortDescription": {"text": "Commented-code block (6 lines) in paper_judge_bot.py:208"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6fef7c9ab225e133", "name": "Legacy-named symbol `nbp_cache_v1` in nbp_reader.py:3", "shortDescription": {"text": "Legacy-named symbol `nbp_cache_v1` in nbp_reader.py:3"}, "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-0929bb3e12e344a0", "name": "Commented-code block (7 lines) in low_post_probe.py:194", "shortDescription": {"text": "Commented-code block (7 lines) in low_post_probe.py:194"}, "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-8ce2967eec050672", "name": "Legacy-named symbol `pace_curves_v2` in nn_shadow_worker.py:681", "shortDescription": {"text": "Legacy-named symbol `pace_curves_v2` in nn_shadow_worker.py:681"}, "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-6fff65012be644a8", "name": "Commented-code block (6 lines) in nn_shadow_worker.py:76", "shortDescription": {"text": "Commented-code block (6 lines) in nn_shadow_worker.py:76"}, "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-2729a3e852c2b3ca", "name": "Commented-code block (10 lines) in market_universe.py:23", "shortDescription": {"text": "Commented-code block (10 lines) in market_universe.py:23"}, "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-95d113ea74a0b5d3", "name": "Commented-code block (5 lines) in wethr_client.py:210", "shortDescription": {"text": "Commented-code block (5 lines) in wethr_client.py:210"}, "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-2d13893b7e0b3f02", "name": "Commented-code block (7 lines) in kalshi_ws.py:42", "shortDescription": {"text": "Commented-code block (7 lines) in kalshi_ws.py:42"}, "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-a15a752c8243cd0b", "name": "Commented-code block (6 lines) in decide_entry_code.py:374", "shortDescription": {"text": "Commented-code block (6 lines) in decide_entry_code.py:374"}, "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-e387b4f4b37603f7", "name": "Commented-code block (36 lines) in push_window_overrides.py:1", "shortDescription": {"text": "Commented-code block (36 lines) in push_window_overrides.py:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0b17c8c07a7421d", "name": "8 env vars used in code but missing from .env.example", "shortDescription": {"text": "8 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ANTHROPIC_API_KEY`, `DISCORD_BOT_TOKEN`, `DISCORD_CHANNEL_ID`, `DISCORD_TRADE_CHANNEL_ID`, `JUDGE_NWS_FC_HISTORY_DIR`, `JUDGE_PRES_HISTORY_DIR`, `OPEN_METEO_API_KEY`, `WETHR_API_KEY`. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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:\nkalshi_client.py:get_orderbook, kalshi_client.py:get_order\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/25639"}, "properties": {"repository": "elsenorchris-openclaw/judgebot", "repoUrl": "https://github.com/elsenorchris-openclaw/judgebot", "branch": "main"}, "results": [{"ruleId": "scanner-aa605f62bc9607dd", "level": "note", "message": {"text": "Possibly dead Python function: stop"}, "properties": {"repobilityId": "ba22d90d343a0bd9", "scanner": "scanner-primary", "fingerprint": "aa605f62bc9607dd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "obs_refresh.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87957682dcb6d6f5", "level": "note", "message": {"text": "Possibly dead Python function: judge_entry"}, "properties": {"repobilityId": "3234b418348b6f2d", "scanner": "scanner-primary", "fingerprint": "87957682dcb6d6f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "judgment.py:1288"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa887a20ffcd25a3", "level": "note", "message": {"text": "Possibly dead Python function: refresh_wallet_positions"}, "properties": {"repobilityId": "1e781f11ca75684d", "scanner": "scanner-primary", "fingerprint": "aa887a20ffcd25a3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "paper_judge_bot.py:288"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-703985cac2e46834", "level": "note", "message": {"text": "Possibly dead Python function: list_claims"}, "properties": {"repobilityId": "fb7ac45a661f3ef8", "scanner": "scanner-primary", "fingerprint": "703985cac2e46834", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:190"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51eaac0b829845b0", "level": "note", "message": {"text": "Possibly dead Python function: stop"}, "properties": {"repobilityId": "ba22d90d343a0bd9", "scanner": "scanner-primary", "fingerprint": "51eaac0b829845b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nn_shadow_worker.py:3156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-398e56e76b6dcee6", "level": "note", "message": {"text": "Possibly dead Python function: stop"}, "properties": {"repobilityId": "ba22d90d343a0bd9", "scanner": "scanner-primary", "fingerprint": "398e56e76b6dcee6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wethr_rm.py:139"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-def1dd66f11decf3", "level": "note", "message": {"text": "Possibly dead Python function: fetch_one"}, "properties": {"repobilityId": "87b4aa7c92d11833", "scanner": "scanner-primary", "fingerprint": "def1dd66f11decf3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wethr_rm.py:145"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-39140a6370bc10f4", "level": "note", "message": {"text": "Possibly dead Python function: fetch_one"}, "properties": {"repobilityId": "87b4aa7c92d11833", "scanner": "scanner-primary", "fingerprint": "39140a6370bc10f4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wethr_client.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d2e17093a9b4d3e", "level": "note", "message": {"text": "Very large file: judgment.py (1343 lines)"}, "properties": {"repobilityId": "0cb717ef56c0cf30", "scanner": "scanner-primary", "fingerprint": "4d2e17093a9b4d3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9361f59bdc28fdb6", "level": "note", "message": {"text": "Very large file: config.py (1403 lines)"}, "properties": {"repobilityId": "eb0ea9c835ca014b", "scanner": "scanner-primary", "fingerprint": "9361f59bdc28fdb6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3be5e845441c298a", "level": "note", "message": {"text": "Very large file: paper_judge_bot.py (4629 lines)"}, "properties": {"repobilityId": "b44c957ae0dc954d", "scanner": "scanner-primary", "fingerprint": "3be5e845441c298a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-534342a45bf5e4fd", "level": "note", "message": {"text": "Very large file: nn_shadow_worker.py (3171 lines)"}, "properties": {"repobilityId": "7cf7b25bfe1d791e", "scanner": "scanner-primary", "fingerprint": "534342a45bf5e4fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-35c42a99fa2d2d30", "level": "note", "message": {"text": "Very large file: cell_mae_table.py (1218 lines)"}, "properties": {"repobilityId": "a62a05bf141ab622", "scanner": "scanner-primary", "fingerprint": "35c42a99fa2d2d30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "1a1cae2a558506ac", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7aed94505ee566bc", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "21af6d895e0475b4", "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": "262f35055cb224b8", "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": "dff89d3ab17e0ee5", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b8ab36a37965fddc", "level": "none", "message": {"text": "Commented-code block (6 lines) in live_data.py:63"}, "properties": {"repobilityId": "ade40ed5d7fac50a", "scanner": "scanner-primary", "fingerprint": "b8ab36a37965fddc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-331a1848a53fe7e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in kalshi_client.py:433"}, "properties": {"repobilityId": "82b0eb4459918dd0", "scanner": "scanner-primary", "fingerprint": "331a1848a53fe7e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0de773364fa2ed88", "level": "none", "message": {"text": "Commented-code block (6 lines) in nn_shadow_strategy.py:271"}, "properties": {"repobilityId": "61394a22fb59744d", "scanner": "scanner-primary", "fingerprint": "0de773364fa2ed88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db5adcb537bdf8de", "level": "none", "message": {"text": "Commented-code block (5 lines) in nn_shadow.py:36"}, "properties": {"repobilityId": "13e0c2baf57d00cc", "scanner": "scanner-primary", "fingerprint": "db5adcb537bdf8de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c08087a2c0eb86c", "level": "none", "message": {"text": "Commented-code block (7 lines) in nn_match_fast.py:333"}, "properties": {"repobilityId": "4dd2b16f27d94337", "scanner": "scanner-primary", "fingerprint": "7c08087a2c0eb86c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad6100c2eecbe88d", "level": "none", "message": {"text": "Commented-code block (11 lines) in judgment.py:254"}, "properties": {"repobilityId": "a8a4ea31ebbdb8cf", "scanner": "scanner-primary", "fingerprint": "ad6100c2eecbe88d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-081f86f0270e0e2c", "level": "note", "message": {"text": "Legacy-named symbol `pace_curves_v2` in config.py:672"}, "properties": {"repobilityId": "d274f912198bd5f9", "scanner": "scanner-primary", "fingerprint": "081f86f0270e0e2c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d488a1c0696b6952", "level": "none", "message": {"text": "Commented-code block (13 lines) in config.py:66"}, "properties": {"repobilityId": "192a350a412a3d50", "scanner": "scanner-primary", "fingerprint": "d488a1c0696b6952", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f0d0a52e2358522", "level": "note", "message": {"text": "Legacy-named symbol `paper_min_bot_v2` in shared_cache_reader.py:3"}, "properties": {"repobilityId": "fb077579a746f256", "scanner": "scanner-primary", "fingerprint": "7f0d0a52e2358522", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ef2a3565ea24308b", "level": "none", "message": {"text": "Commented-code block (5 lines) in shared_cache_reader.py:61"}, "properties": {"repobilityId": "25e72dcffbd53087", "scanner": "scanner-primary", "fingerprint": "ef2a3565ea24308b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f084b7e83cbefd3", "level": "note", "message": {"text": "Legacy-named symbol `pace_curves_v2` in paper_judge_bot.py:89"}, "properties": {"repobilityId": "9f8eee716ca0d5df", "scanner": "scanner-primary", "fingerprint": "3f084b7e83cbefd3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-584a81c76f858ad1", "level": "none", "message": {"text": "Commented-code block (6 lines) in paper_judge_bot.py:208"}, "properties": {"repobilityId": "f86fcedfe276c6f9", "scanner": "scanner-primary", "fingerprint": "584a81c76f858ad1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fef7c9ab225e133", "level": "note", "message": {"text": "Legacy-named symbol `nbp_cache_v1` in nbp_reader.py:3"}, "properties": {"repobilityId": "7032f49e9c588a76", "scanner": "scanner-primary", "fingerprint": "6fef7c9ab225e133", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0929bb3e12e344a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in low_post_probe.py:194"}, "properties": {"repobilityId": "060aa0d7a47f860b", "scanner": "scanner-primary", "fingerprint": "0929bb3e12e344a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ce2967eec050672", "level": "note", "message": {"text": "Legacy-named symbol `pace_curves_v2` in nn_shadow_worker.py:681"}, "properties": {"repobilityId": "cc350c37526b5122", "scanner": "scanner-primary", "fingerprint": "8ce2967eec050672", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6fff65012be644a8", "level": "none", "message": {"text": "Commented-code block (6 lines) in nn_shadow_worker.py:76"}, "properties": {"repobilityId": "685d7beebe2a7a23", "scanner": "scanner-primary", "fingerprint": "6fff65012be644a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2729a3e852c2b3ca", "level": "none", "message": {"text": "Commented-code block (10 lines) in market_universe.py:23"}, "properties": {"repobilityId": "74e2416a9d1b3b1e", "scanner": "scanner-primary", "fingerprint": "2729a3e852c2b3ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95d113ea74a0b5d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in wethr_client.py:210"}, "properties": {"repobilityId": "2f41f320d0222fec", "scanner": "scanner-primary", "fingerprint": "95d113ea74a0b5d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d13893b7e0b3f02", "level": "none", "message": {"text": "Commented-code block (7 lines) in kalshi_ws.py:42"}, "properties": {"repobilityId": "8ed3d434ab99f212", "scanner": "scanner-primary", "fingerprint": "2d13893b7e0b3f02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a15a752c8243cd0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in decide_entry_code.py:374"}, "properties": {"repobilityId": "9fd98b6380485cc6", "scanner": "scanner-primary", "fingerprint": "a15a752c8243cd0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e387b4f4b37603f7", "level": "none", "message": {"text": "Commented-code block (36 lines) in push_window_overrides.py:1"}, "properties": {"repobilityId": "7d881a8d358ffe72", "scanner": "scanner-primary", "fingerprint": "e387b4f4b37603f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0b17c8c07a7421d", "level": "note", "message": {"text": "8 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "17fe720e8247f9df", "scanner": "scanner-primary", "fingerprint": "d0b17c8c07a7421d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c3dd2cdec8d0abc4", "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": "b59d20a720d08035", "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": "d6de2f9c3ffe432a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}