{"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-bb4882401649d573", "name": "Possibly dead Python function: green", "shortDescription": {"text": "Possibly dead Python function: green"}, "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-6a2b84069adc90a5", "name": "Possibly dead Python function: blue", "shortDescription": {"text": "Possibly dead Python function: blue"}, "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-ee9496ec29f7f385", "name": "Possibly dead Python function: log_task_exception", "shortDescription": {"text": "Possibly dead Python function: log_task_exception"}, "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-731cfbfad928ea6a", "name": "Possibly dead Python function: safe_filename", "shortDescription": {"text": "Possibly dead Python function: safe_filename"}, "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-79b903b6620db967", "name": "Possibly dead Python function: aclose", "shortDescription": {"text": "Possibly dead Python function: aclose"}, "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-b1d4229afbb97498", "name": "Possibly dead Python function: aclose", "shortDescription": {"text": "Possibly dead Python function: aclose"}, "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-6cdcd8e96eee4e8a", "name": "Possibly dead Python function: safe_channel_send", "shortDescription": {"text": "Possibly dead Python function: safe_channel_send"}, "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-24bddfe754974eb5", "name": "Possibly dead Python function: split_for_discord", "shortDescription": {"text": "Possibly dead Python function: split_for_discord"}, "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-956aeafc7a05736c", "name": "Possibly dead Python function: fs_decode", "shortDescription": {"text": "Possibly dead Python function: fs_decode"}, "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-655b94261fb974ec", "name": "Possibly dead Python function: callback", "shortDescription": {"text": "Possibly dead Python function: callback"}, "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-abda58cb19c0b750", "name": "Possibly dead Python function: interaction_check", "shortDescription": {"text": "Possibly dead Python function: interaction_check"}, "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-144f7e100439ed2d", "name": "Possibly dead Python function: extract_image_attachments", "shortDescription": {"text": "Possibly dead Python function: extract_image_attachments"}, "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-6ad33152e4f6f20a", "name": "Possibly dead Python function: reload_config", "shortDescription": {"text": "Possibly dead Python function: reload_config"}, "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-d11af7e705dad4ab", "name": "Possibly dead Python function: callback", "shortDescription": {"text": "Possibly dead Python function: callback"}, "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-90d5a5620a586faf", "name": "Possibly dead Python function: interaction_check", "shortDescription": {"text": "Possibly dead Python function: interaction_check"}, "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-6f33efa303b6c6b7", "name": "Possibly dead Python function: set_offline", "shortDescription": {"text": "Possibly dead Python function: set_offline"}, "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-d56ba32a542eadf1", "name": "Possibly dead Python function: tail_events", "shortDescription": {"text": "Possibly dead Python function: tail_events"}, "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-4a8e6a59499a5f87", "name": "Possibly dead Python function: parse_sse_stream", "shortDescription": {"text": "Possibly dead Python function: parse_sse_stream"}, "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-d70732f116cbf1ac", "name": "Possibly dead Python function: callback", "shortDescription": {"text": "Possibly dead Python function: callback"}, "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-5bb6daedf4ff9179", "name": "Possibly dead Python function: interaction_check", "shortDescription": {"text": "Possibly dead Python function: interaction_check"}, "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-faafdd3ec34cca9e", "name": "Possibly dead Python function: callback", "shortDescription": {"text": "Possibly dead Python function: callback"}, "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-64fb26c09bb22d1d", "name": "Possibly dead Python function: interaction_check", "shortDescription": {"text": "Possibly dead Python function: interaction_check"}, "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-0515ce2318ce90ff", "name": "Possibly dead Python function: query_usage", "shortDescription": {"text": "Possibly dead Python function: query_usage"}, "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-7f37d36c989be2e0", "name": "Possibly dead Python function: purge_older_than", "shortDescription": {"text": "Possibly dead Python function: purge_older_than"}, "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-045ce503c02f16c5", "name": "Possibly dead Python function: wrapped_progress_cb", "shortDescription": {"text": "Possibly dead Python function: wrapped_progress_cb"}, "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-26a1028ea4c4d768", "name": "Very large file: openflip/openai_conversation.py (1923 lines)", "shortDescription": {"text": "Very large file: openflip/openai_conversation.py (1923 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-c4a146bb942879ff", "name": "Very large file: openflip/anthropic_conversation.py (2351 lines)", "shortDescription": {"text": "Very large file: openflip/anthropic_conversation.py (2351 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-1dbb0955e918c239", "name": "Very large file: openflip/runtime.py (3844 lines)", "shortDescription": {"text": "Very large file: openflip/runtime.py (3844 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-f81eaddf6a4eff87", "name": "Very large file: openflip/commands.py (1163 lines)", "shortDescription": {"text": "Very large file: openflip/commands.py (1163 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": "2 test file(s) for 78 source file(s) (ratio 0.03). 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 21 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 15 placeholder/mock markers across 8 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-0bfc695639a8a2d3", "name": "Commented-code block (7 lines) in openflip/utils.py:196", "shortDescription": {"text": "Commented-code block (7 lines) in openflip/utils.py:196"}, "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-3a3cc83785d14d97", "name": "Commented-code block (5 lines) in openflip/openai_conversation.py:64", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/openai_conversation.py:64"}, "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-2e8a364843a1564c", "name": "Commented-code block (5 lines) in openflip/dream_autofire.py:226", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/dream_autofire.py:226"}, "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-69c1a0ddcdab5f6f", "name": "Commented-code block (8 lines) in openflip/anthropic_conversation.py:30", "shortDescription": {"text": "Commented-code block (8 lines) in openflip/anthropic_conversation.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-35bd2050113b0720", "name": "Commented-code block (5 lines) in openflip/restart_sentinel.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/restart_sentinel.py:24"}, "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-c97e62a6d27a790c", "name": "Commented-code block (9 lines) in openflip/_conversation_io.py:29", "shortDescription": {"text": "Commented-code block (9 lines) in openflip/_conversation_io.py:29"}, "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-3b3cb0886f54ae27", "name": "Commented-code block (6 lines) in openflip/session.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in openflip/session.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-5f56d8521c129de0", "name": "Commented-code block (7 lines) in openflip/pipeline.py:11", "shortDescription": {"text": "Commented-code block (7 lines) in openflip/pipeline.py:11"}, "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-66ec386f3a40d665", "name": "Commented-code block (5 lines) in openflip/config_global.py:28", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/config_global.py:28"}, "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-063ced3d5c04c447", "name": "Commented-code block (11 lines) in openflip/cron.py:418", "shortDescription": {"text": "Commented-code block (11 lines) in openflip/cron.py:418"}, "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-36af606920ee4807", "name": "Legacy-named symbol `_migrate_if_legacy` in openflip/agent_state.py:56", "shortDescription": {"text": "Legacy-named symbol `_migrate_if_legacy` in openflip/agent_state.py:56"}, "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-69bb767059eac258", "name": "Commented-code block (5 lines) in openflip/agent_state.py:75", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/agent_state.py:75"}, "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-ac7b017168da1707", "name": "Commented-code block (6 lines) in openflip/tool_executor.py:22", "shortDescription": {"text": "Commented-code block (6 lines) in openflip/tool_executor.py:22"}, "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-46ad38d451aad3ef", "name": "Commented-code block (10 lines) in openflip/conversation.py:68", "shortDescription": {"text": "Commented-code block (10 lines) in openflip/conversation.py:68"}, "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-967f813f78a22d49", "name": "Commented-code block (5 lines) in openflip/stop_hooks.py:135", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/stop_hooks.py:135"}, "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-ac5b8bef23674971", "name": "Commented-code block (7 lines) in openflip/agent.py:17", "shortDescription": {"text": "Commented-code block (7 lines) in openflip/agent.py:17"}, "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-9121bbe4f1a3e7b1", "name": "Commented-code block (7 lines) in openflip/runtime.py:41", "shortDescription": {"text": "Commented-code block (7 lines) in openflip/runtime.py:41"}, "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-149e60caf6a01bd8", "name": "Commented-code block (7 lines) in openflip/_anthropic_stream.py:393", "shortDescription": {"text": "Commented-code block (7 lines) in openflip/_anthropic_stream.py:393"}, "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-831da2ba4e8042ff", "name": "Commented-code block (6 lines) in openflip/main.py:24", "shortDescription": {"text": "Commented-code block (6 lines) in openflip/main.py:24"}, "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-85b92ae67a56e3d2", "name": "Commented-code block (5 lines) in openflip/_constants.py:9", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/_constants.py:9"}, "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-845ea65e632ed71b", "name": "Commented-code block (5 lines) in openflip/text_commands.py:95", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/text_commands.py:95"}, "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-f6303fca0e062f25", "name": "Commented-code block (5 lines) in openflip/acl.py:121", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/acl.py:121"}, "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-37fb9b95eb2a7696", "name": "Commented-code block (6 lines) in openflip/usage_ledger.py:29", "shortDescription": {"text": "Commented-code block (6 lines) in openflip/usage_ledger.py:29"}, "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-5216e30b4d1ab3c6", "name": "Legacy-named symbol `latest_backup` in openflip/commands.py:203", "shortDescription": {"text": "Legacy-named symbol `latest_backup` in openflip/commands.py:203"}, "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-109cebc34d196271", "name": "Commented-code block (5 lines) in openflip/commands.py:59", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/commands.py:59"}, "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-0f6a72d2072f8e8f", "name": "Commented-code block (5 lines) in openflip/ollama_api/ollama_api.py:351", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/ollama_api/ollama_api.py:351"}, "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-a0cb34a6eb58cace", "name": "Commented-code block (11 lines) in openflip/tools/files.py:144", "shortDescription": {"text": "Commented-code block (11 lines) in openflip/tools/files.py:144"}, "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-1a03f43127d6313c", "name": "Commented-code block (5 lines) in openflip/tools/send_message.py:115", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/tools/send_message.py:115"}, "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-818221af06c8ae5e", "name": "Commented-code block (5 lines) in openflip/tools/inject_context.py:84", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/tools/inject_context.py:84"}, "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-68597bbf056030cb", "name": "Commented-code block (8 lines) in openflip/tools/talk_to_agent.py:99", "shortDescription": {"text": "Commented-code block (8 lines) in openflip/tools/talk_to_agent.py:99"}, "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-9a67cd934e168f78", "name": "Commented-code block (5 lines) in openflip/tools/fetch_url.py:226", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/tools/fetch_url.py:226"}, "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-adeb6cec8fcd864d", "name": "Commented-code block (5 lines) in openflip/tools/_base.py:98", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/tools/_base.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-693add9567b20bfd", "name": "Commented-code block (8 lines) in openflip/tools/restart.py:245", "shortDescription": {"text": "Commented-code block (8 lines) in openflip/tools/restart.py:245"}, "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-14fa361920dd1ccb", "name": "Commented-code block (5 lines) in openflip/tools/cron_jobs.py:208", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/tools/cron_jobs.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-d9c691f164f1c9a3", "name": "Stub function `send_file` (body is just `pass`/`return`) \u2014 openflip/transports/null.py:98", "shortDescription": {"text": "Stub function `send_file` (body is just `pass`/`return`) \u2014 openflip/transports/null.py:98"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5423ea3e36d02db7", "name": "Commented-code block (5 lines) in openflip/transports/discord.py:60", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/transports/discord.py:60"}, "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-e2b3f13820643439", "name": "Commented-code block (5 lines) in openflip/transports/channel_shim.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/transports/channel_shim.py:97"}, "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-8a43071987eca773", "name": "Commented-code block (5 lines) in openflip/transports/imessage.py:70", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/transports/imessage.py:70"}, "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-c05615e8050517ba", "name": "Commented-code block (5 lines) in openflip/web/watcher.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/web/watcher.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-ef5e6d7885bb2130", "name": "Commented-code block (5 lines) in openflip/web/config.py:28", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/web/config.py:28"}, "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-62c7dd9aaac785b9", "name": "Commented-code block (6 lines) in openflip/web/app.py:46", "shortDescription": {"text": "Commented-code block (6 lines) in openflip/web/app.py:46"}, "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-720af0c3b276cc5b", "name": "Commented-code block (5 lines) in openflip/web/openflip_data.py:138", "shortDescription": {"text": "Commented-code block (5 lines) in openflip/web/openflip_data.py:138"}, "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-b1446d2506b609b0", "name": "Commented-code block (6 lines) in tests/test_per_user_paths.py:101", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_per_user_paths.py:101"}, "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-67586229d06d3e5c", "name": "Commented-code block (9 lines) in tests/test_chain_terminator_surfacing.py:133", "shortDescription": {"text": "Commented-code block (9 lines) in tests/test_chain_terminator_surfacing.py:133"}, "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:\nopenflip/openai_conversation.py:load, openflip/anthropic_conversation.py:load\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nopenflip/models_ui.py:callback, openflip/models_ui.py:callback, openflip/models_ui.py:callback, openflip/models_ui.py:callback\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nopenflip/models_ui.py:on_timeout, openflip/agent_ui.py:on_timeout, openflip/agent_ui.py:on_timeout, openflip/agents_ui.py:on_timeout\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nopenflip/agent_ui.py:callback, openflip/agent_ui.py:callback, openflip/agent_ui.py:callback, openflip/agent_ui.py:callback\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nopenflip/agents_ui.py:callback, openflip/agents_ui.py:callback, openflip/agents_ui.py:callback, openflip/agents_ui.py:callback\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nopenflip/toolset_ui.py:callback, openflip/toolset_ui.py:callback, openflip/toolset_ui.py:callback, openflip/toolset_ui.py:callback\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b0752d4eaf7bd65", "name": "Flask mutation route `setup` without `@login_required` \u2014 openflip/web/app.py:113", "shortDescription": {"text": "Flask mutation route `setup` without `@login_required` \u2014 openflip/web/app.py:113"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d951e030c3fa8aea", "name": "Flask mutation route `login` without `@login_required` \u2014 openflip/web/app.py:137", "shortDescription": {"text": "Flask mutation route `login` without `@login_required` \u2014 openflip/web/app.py:137"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-95d78e2d24160ea6", "name": "Flask mutation route `trigger_agent` without `@login_required` \u2014 openflip/web/app.py:787", "shortDescription": {"text": "Flask mutation route `trigger_agent` without `@login_required` \u2014 openflip/web/app.py:787"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/25029"}, "properties": {"repository": "cmooref17/OpenFlip", "repoUrl": "https://github.com/cmooref17/OpenFlip", "branch": "main"}, "results": [{"ruleId": "scanner-bb4882401649d573", "level": "note", "message": {"text": "Possibly dead Python function: green"}, "properties": {"repobilityId": "8a0c7346c288b5cf", "scanner": "scanner-primary", "fingerprint": "bb4882401649d573", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/utils.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a2b84069adc90a5", "level": "note", "message": {"text": "Possibly dead Python function: blue"}, "properties": {"repobilityId": "240f2e70df407149", "scanner": "scanner-primary", "fingerprint": "6a2b84069adc90a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/utils.py:38"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee9496ec29f7f385", "level": "note", "message": {"text": "Possibly dead Python function: log_task_exception"}, "properties": {"repobilityId": "1938cbfcca679bfc", "scanner": "scanner-primary", "fingerprint": "ee9496ec29f7f385", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/utils.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-731cfbfad928ea6a", "level": "note", "message": {"text": "Possibly dead Python function: safe_filename"}, "properties": {"repobilityId": "5b004ff328a271d8", "scanner": "scanner-primary", "fingerprint": "731cfbfad928ea6a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/utils.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-79b903b6620db967", "level": "note", "message": {"text": "Possibly dead Python function: aclose"}, "properties": {"repobilityId": "e08341c67c30fbd0", "scanner": "scanner-primary", "fingerprint": "79b903b6620db967", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/openai_conversation.py:1167"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b1d4229afbb97498", "level": "note", "message": {"text": "Possibly dead Python function: aclose"}, "properties": {"repobilityId": "e08341c67c30fbd0", "scanner": "scanner-primary", "fingerprint": "b1d4229afbb97498", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/anthropic_conversation.py:1502"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6cdcd8e96eee4e8a", "level": "note", "message": {"text": "Possibly dead Python function: safe_channel_send"}, "properties": {"repobilityId": "2ed05e55c2d77a28", "scanner": "scanner-primary", "fingerprint": "6cdcd8e96eee4e8a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/discord_io.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-24bddfe754974eb5", "level": "note", "message": {"text": "Possibly dead Python function: split_for_discord"}, "properties": {"repobilityId": "1da24174d48e57fa", "scanner": "scanner-primary", "fingerprint": "24bddfe754974eb5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/discord_io.py:41"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-956aeafc7a05736c", "level": "note", "message": {"text": "Possibly dead Python function: fs_decode"}, "properties": {"repobilityId": "e7fb55f66d160d4e", "scanner": "scanner-primary", "fingerprint": "956aeafc7a05736c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/_conversation_io.py:77"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-655b94261fb974ec", "level": "note", "message": {"text": "Possibly dead Python function: callback"}, "properties": {"repobilityId": "d86912f8937c65c2", "scanner": "scanner-primary", "fingerprint": "655b94261fb974ec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/models_ui.py:121"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abda58cb19c0b750", "level": "note", "message": {"text": "Possibly dead Python function: interaction_check"}, "properties": {"repobilityId": "eec73f533b72b7af", "scanner": "scanner-primary", "fingerprint": "abda58cb19c0b750", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/models_ui.py:143"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-144f7e100439ed2d", "level": "note", "message": {"text": "Possibly dead Python function: extract_image_attachments"}, "properties": {"repobilityId": "f641d8c9d3030bba", "scanner": "scanner-primary", "fingerprint": "144f7e100439ed2d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/pipeline.py:206"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ad33152e4f6f20a", "level": "note", "message": {"text": "Possibly dead Python function: reload_config"}, "properties": {"repobilityId": "c45461f481d39dd4", "scanner": "scanner-primary", "fingerprint": "6ad33152e4f6f20a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/config_global.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d11af7e705dad4ab", "level": "note", "message": {"text": "Possibly dead Python function: callback"}, "properties": {"repobilityId": "d86912f8937c65c2", "scanner": "scanner-primary", "fingerprint": "d11af7e705dad4ab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/agent_ui.py:606"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-90d5a5620a586faf", "level": "note", "message": {"text": "Possibly dead Python function: interaction_check"}, "properties": {"repobilityId": "eec73f533b72b7af", "scanner": "scanner-primary", "fingerprint": "90d5a5620a586faf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/agent_ui.py:563"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f33efa303b6c6b7", "level": "note", "message": {"text": "Possibly dead Python function: set_offline"}, "properties": {"repobilityId": "ef47cea14ca64c9c", "scanner": "scanner-primary", "fingerprint": "6f33efa303b6c6b7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/agent_state.py:196"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d56ba32a542eadf1", "level": "note", "message": {"text": "Possibly dead Python function: tail_events"}, "properties": {"repobilityId": "5e6d8a7e39ea9856", "scanner": "scanner-primary", "fingerprint": "d56ba32a542eadf1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/events_log.py:125"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a8e6a59499a5f87", "level": "note", "message": {"text": "Possibly dead Python function: parse_sse_stream"}, "properties": {"repobilityId": "df91986e7e5489b4", "scanner": "scanner-primary", "fingerprint": "4a8e6a59499a5f87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/_anthropic_stream.py:34"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d70732f116cbf1ac", "level": "note", "message": {"text": "Possibly dead Python function: callback"}, "properties": {"repobilityId": "d86912f8937c65c2", "scanner": "scanner-primary", "fingerprint": "d70732f116cbf1ac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/agents_ui.py:267"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bb6daedf4ff9179", "level": "note", "message": {"text": "Possibly dead Python function: interaction_check"}, "properties": {"repobilityId": "eec73f533b72b7af", "scanner": "scanner-primary", "fingerprint": "5bb6daedf4ff9179", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/agents_ui.py:291"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-faafdd3ec34cca9e", "level": "note", "message": {"text": "Possibly dead Python function: callback"}, "properties": {"repobilityId": "d86912f8937c65c2", "scanner": "scanner-primary", "fingerprint": "faafdd3ec34cca9e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/toolset_ui.py:377"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64fb26c09bb22d1d", "level": "note", "message": {"text": "Possibly dead Python function: interaction_check"}, "properties": {"repobilityId": "eec73f533b72b7af", "scanner": "scanner-primary", "fingerprint": "64fb26c09bb22d1d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/toolset_ui.py:273"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0515ce2318ce90ff", "level": "note", "message": {"text": "Possibly dead Python function: query_usage"}, "properties": {"repobilityId": "b32d00460d43c440", "scanner": "scanner-primary", "fingerprint": "0515ce2318ce90ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/usage_ledger.py:222"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f37d36c989be2e0", "level": "note", "message": {"text": "Possibly dead Python function: purge_older_than"}, "properties": {"repobilityId": "f46c3281c7078f3f", "scanner": "scanner-primary", "fingerprint": "7f37d36c989be2e0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/usage_ledger.py:387"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-045ce503c02f16c5", "level": "note", "message": {"text": "Possibly dead Python function: wrapped_progress_cb"}, "properties": {"repobilityId": "c5ef1d1574b0c780", "scanner": "scanner-primary", "fingerprint": "045ce503c02f16c5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/commands.py:1077"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26a1028ea4c4d768", "level": "note", "message": {"text": "Very large file: openflip/openai_conversation.py (1923 lines)"}, "properties": {"repobilityId": "958f8e239be8d15c", "scanner": "scanner-primary", "fingerprint": "26a1028ea4c4d768", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4a146bb942879ff", "level": "note", "message": {"text": "Very large file: openflip/anthropic_conversation.py (2351 lines)"}, "properties": {"repobilityId": "0df00ac18a4125ee", "scanner": "scanner-primary", "fingerprint": "c4a146bb942879ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1dbb0955e918c239", "level": "note", "message": {"text": "Very large file: openflip/runtime.py (3844 lines)"}, "properties": {"repobilityId": "2e73a5eef4d8a910", "scanner": "scanner-primary", "fingerprint": "1dbb0955e918c239", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f81eaddf6a4eff87", "level": "note", "message": {"text": "Very large file: openflip/commands.py (1163 lines)"}, "properties": {"repobilityId": "2f5e7ce106e6ae18", "scanner": "scanner-primary", "fingerprint": "f81eaddf6a4eff87", "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": "3b76def3b571de89", "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": "7938d27d5e22889e", "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": "d619c1063ffede28", "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": "52bd3da1f626ac2a", "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": "bc2c47a8dffe3610", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-0bfc695639a8a2d3", "level": "none", "message": {"text": "Commented-code block (7 lines) in openflip/utils.py:196"}, "properties": {"repobilityId": "da5b9ce346df8c4d", "scanner": "scanner-primary", "fingerprint": "0bfc695639a8a2d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a3cc83785d14d97", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/openai_conversation.py:64"}, "properties": {"repobilityId": "7b36af12907753cd", "scanner": "scanner-primary", "fingerprint": "3a3cc83785d14d97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e8a364843a1564c", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/dream_autofire.py:226"}, "properties": {"repobilityId": "b6f96f0bc339efd3", "scanner": "scanner-primary", "fingerprint": "2e8a364843a1564c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69c1a0ddcdab5f6f", "level": "none", "message": {"text": "Commented-code block (8 lines) in openflip/anthropic_conversation.py:30"}, "properties": {"repobilityId": "c74223f397299b73", "scanner": "scanner-primary", "fingerprint": "69c1a0ddcdab5f6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35bd2050113b0720", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/restart_sentinel.py:24"}, "properties": {"repobilityId": "65bd121ad83be554", "scanner": "scanner-primary", "fingerprint": "35bd2050113b0720", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c97e62a6d27a790c", "level": "none", "message": {"text": "Commented-code block (9 lines) in openflip/_conversation_io.py:29"}, "properties": {"repobilityId": "0403160ea54db483", "scanner": "scanner-primary", "fingerprint": "c97e62a6d27a790c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b3cb0886f54ae27", "level": "none", "message": {"text": "Commented-code block (6 lines) in openflip/session.py:42"}, "properties": {"repobilityId": "2f305ec39dbc757a", "scanner": "scanner-primary", "fingerprint": "3b3cb0886f54ae27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f56d8521c129de0", "level": "none", "message": {"text": "Commented-code block (7 lines) in openflip/pipeline.py:11"}, "properties": {"repobilityId": "8816e1dee75984c5", "scanner": "scanner-primary", "fingerprint": "5f56d8521c129de0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66ec386f3a40d665", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/config_global.py:28"}, "properties": {"repobilityId": "82497abf4dbf9f79", "scanner": "scanner-primary", "fingerprint": "66ec386f3a40d665", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-063ced3d5c04c447", "level": "none", "message": {"text": "Commented-code block (11 lines) in openflip/cron.py:418"}, "properties": {"repobilityId": "45d13cd1cf6e5d35", "scanner": "scanner-primary", "fingerprint": "063ced3d5c04c447", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36af606920ee4807", "level": "note", "message": {"text": "Legacy-named symbol `_migrate_if_legacy` in openflip/agent_state.py:56"}, "properties": {"repobilityId": "1bbcf70f91c29a19", "scanner": "scanner-primary", "fingerprint": "36af606920ee4807", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-69bb767059eac258", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/agent_state.py:75"}, "properties": {"repobilityId": "2d848f098e474e94", "scanner": "scanner-primary", "fingerprint": "69bb767059eac258", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac7b017168da1707", "level": "none", "message": {"text": "Commented-code block (6 lines) in openflip/tool_executor.py:22"}, "properties": {"repobilityId": "1b397d96839a5d01", "scanner": "scanner-primary", "fingerprint": "ac7b017168da1707", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46ad38d451aad3ef", "level": "none", "message": {"text": "Commented-code block (10 lines) in openflip/conversation.py:68"}, "properties": {"repobilityId": "425f063c6cd0bd15", "scanner": "scanner-primary", "fingerprint": "46ad38d451aad3ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-967f813f78a22d49", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/stop_hooks.py:135"}, "properties": {"repobilityId": "d79ef81032356c75", "scanner": "scanner-primary", "fingerprint": "967f813f78a22d49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac5b8bef23674971", "level": "none", "message": {"text": "Commented-code block (7 lines) in openflip/agent.py:17"}, "properties": {"repobilityId": "0572b8613124252d", "scanner": "scanner-primary", "fingerprint": "ac5b8bef23674971", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9121bbe4f1a3e7b1", "level": "none", "message": {"text": "Commented-code block (7 lines) in openflip/runtime.py:41"}, "properties": {"repobilityId": "a373525898643500", "scanner": "scanner-primary", "fingerprint": "9121bbe4f1a3e7b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-149e60caf6a01bd8", "level": "none", "message": {"text": "Commented-code block (7 lines) in openflip/_anthropic_stream.py:393"}, "properties": {"repobilityId": "374062cdd1457047", "scanner": "scanner-primary", "fingerprint": "149e60caf6a01bd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-831da2ba4e8042ff", "level": "none", "message": {"text": "Commented-code block (6 lines) in openflip/main.py:24"}, "properties": {"repobilityId": "acfc10b980ddf3ac", "scanner": "scanner-primary", "fingerprint": "831da2ba4e8042ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85b92ae67a56e3d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/_constants.py:9"}, "properties": {"repobilityId": "2c764d81a91afca2", "scanner": "scanner-primary", "fingerprint": "85b92ae67a56e3d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-845ea65e632ed71b", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/text_commands.py:95"}, "properties": {"repobilityId": "ee63e7c45bcd8623", "scanner": "scanner-primary", "fingerprint": "845ea65e632ed71b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6303fca0e062f25", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/acl.py:121"}, "properties": {"repobilityId": "cf58f034d07804bc", "scanner": "scanner-primary", "fingerprint": "f6303fca0e062f25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37fb9b95eb2a7696", "level": "none", "message": {"text": "Commented-code block (6 lines) in openflip/usage_ledger.py:29"}, "properties": {"repobilityId": "1474418d625ccdf0", "scanner": "scanner-primary", "fingerprint": "37fb9b95eb2a7696", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5216e30b4d1ab3c6", "level": "note", "message": {"text": "Legacy-named symbol `latest_backup` in openflip/commands.py:203"}, "properties": {"repobilityId": "ee4340aec080c70b", "scanner": "scanner-primary", "fingerprint": "5216e30b4d1ab3c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-109cebc34d196271", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/commands.py:59"}, "properties": {"repobilityId": "bcf25cf92dd170e9", "scanner": "scanner-primary", "fingerprint": "109cebc34d196271", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f6a72d2072f8e8f", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/ollama_api/ollama_api.py:351"}, "properties": {"repobilityId": "fc2a0ebb4bec0884", "scanner": "scanner-primary", "fingerprint": "0f6a72d2072f8e8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0cb34a6eb58cace", "level": "none", "message": {"text": "Commented-code block (11 lines) in openflip/tools/files.py:144"}, "properties": {"repobilityId": "850b4a396bce2dca", "scanner": "scanner-primary", "fingerprint": "a0cb34a6eb58cace", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a03f43127d6313c", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/tools/send_message.py:115"}, "properties": {"repobilityId": "279278ed3b595d83", "scanner": "scanner-primary", "fingerprint": "1a03f43127d6313c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-818221af06c8ae5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/tools/inject_context.py:84"}, "properties": {"repobilityId": "ab36734399c6beb5", "scanner": "scanner-primary", "fingerprint": "818221af06c8ae5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68597bbf056030cb", "level": "none", "message": {"text": "Commented-code block (8 lines) in openflip/tools/talk_to_agent.py:99"}, "properties": {"repobilityId": "5825d5bfae178b77", "scanner": "scanner-primary", "fingerprint": "68597bbf056030cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a67cd934e168f78", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/tools/fetch_url.py:226"}, "properties": {"repobilityId": "422db9c632319075", "scanner": "scanner-primary", "fingerprint": "9a67cd934e168f78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-adeb6cec8fcd864d", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/tools/_base.py:98"}, "properties": {"repobilityId": "80ba78e39b291c5d", "scanner": "scanner-primary", "fingerprint": "adeb6cec8fcd864d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-693add9567b20bfd", "level": "none", "message": {"text": "Commented-code block (8 lines) in openflip/tools/restart.py:245"}, "properties": {"repobilityId": "e7bd3583a51647f8", "scanner": "scanner-primary", "fingerprint": "693add9567b20bfd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14fa361920dd1ccb", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/tools/cron_jobs.py:208"}, "properties": {"repobilityId": "7a4e613265d7abed", "scanner": "scanner-primary", "fingerprint": "14fa361920dd1ccb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9c691f164f1c9a3", "level": "note", "message": {"text": "Stub function `send_file` (body is just `pass`/`return`) \u2014 openflip/transports/null.py:98"}, "properties": {"repobilityId": "de44caf6e282a5f4", "scanner": "scanner-primary", "fingerprint": "d9c691f164f1c9a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-5423ea3e36d02db7", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/transports/discord.py:60"}, "properties": {"repobilityId": "0f5659bf5248974c", "scanner": "scanner-primary", "fingerprint": "5423ea3e36d02db7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2b3f13820643439", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/transports/channel_shim.py:97"}, "properties": {"repobilityId": "bddab7966e735481", "scanner": "scanner-primary", "fingerprint": "e2b3f13820643439", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a43071987eca773", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/transports/imessage.py:70"}, "properties": {"repobilityId": "2377785836898eac", "scanner": "scanner-primary", "fingerprint": "8a43071987eca773", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c05615e8050517ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/web/watcher.py:36"}, "properties": {"repobilityId": "84ea1393734ccb2d", "scanner": "scanner-primary", "fingerprint": "c05615e8050517ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef5e6d7885bb2130", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/web/config.py:28"}, "properties": {"repobilityId": "2d251355b638b888", "scanner": "scanner-primary", "fingerprint": "ef5e6d7885bb2130", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62c7dd9aaac785b9", "level": "none", "message": {"text": "Commented-code block (6 lines) in openflip/web/app.py:46"}, "properties": {"repobilityId": "5c05ece274f5ad9c", "scanner": "scanner-primary", "fingerprint": "62c7dd9aaac785b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-720af0c3b276cc5b", "level": "none", "message": {"text": "Commented-code block (5 lines) in openflip/web/openflip_data.py:138"}, "properties": {"repobilityId": "60a93f869f3d5218", "scanner": "scanner-primary", "fingerprint": "720af0c3b276cc5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1446d2506b609b0", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_per_user_paths.py:101"}, "properties": {"repobilityId": "33f6d0e1baec51d8", "scanner": "scanner-primary", "fingerprint": "b1446d2506b609b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67586229d06d3e5c", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/test_chain_terminator_surfacing.py:133"}, "properties": {"repobilityId": "9820249cce93f51c", "scanner": "scanner-primary", "fingerprint": "67586229d06d3e5c", "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": "392d67adaf3420d8", "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": "287fc7e39035d787", "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": "7e9ab8260195b538", "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": "61b1bdae0732868f", "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": "14d655ea8901495b", "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": "188f740f65386289", "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": "b5aa80b2262091be", "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": "8ec3a0e24350eeac", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "6aea4642aeac2b42", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "88eeb27fd13507d9", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "cbb85c4dbfb2d428", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "0fa043a09c4710c7", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "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": "80de20dc1712c40d", "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": "e39532e0572555a2", "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": "f8c975299e91b797", "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": "5d415024777c4022", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "a17e96740ff09109", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "37210bb12eb0d806", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "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": "faf6bd51b498ca20", "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": "ec7310edd6ef2399", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-7b0752d4eaf7bd65", "level": "error", "message": {"text": "Flask mutation route `setup` without `@login_required` \u2014 openflip/web/app.py:113"}, "properties": {"repobilityId": "f425ee86333c4016", "scanner": "scanner-primary", "fingerprint": "7b0752d4eaf7bd65", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/web/app.py"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-d951e030c3fa8aea", "level": "error", "message": {"text": "Flask mutation route `login` without `@login_required` \u2014 openflip/web/app.py:137"}, "properties": {"repobilityId": "c3faea57a0eb4258", "scanner": "scanner-primary", "fingerprint": "d951e030c3fa8aea", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/web/app.py"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-95d78e2d24160ea6", "level": "error", "message": {"text": "Flask mutation route `trigger_agent` without `@login_required` \u2014 openflip/web/app.py:787"}, "properties": {"repobilityId": "eab5048595ef1eb8", "scanner": "scanner-primary", "fingerprint": "95d78e2d24160ea6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "openflip/web/app.py"}, "region": {"startLine": 787}}}]}]}]}