← Legacy view v2 (rp.*)

antoinezambelli/forge

https://github.com/antoinezambelli/forge.git · lang: python · LOC: · source: both

Quality
90.6
Grade A
Security
100.0
Findings
83
1 critical · 58 high
Status
completed
May 21, 2026 14:10
high: 58 info: 11 medium: 9 low: 4 critical: 1
Top rules by occurrence
RuleSeverityCount
MINED108 self.attribute used but never assigned in __init__ high 25
MINED106 Phantom test coverage (assertion-free test) high 25
MINED111 Bare except continues silently medium 8
MINED050 Stub Only Function info 4
MINED062 Python Dataclass No Fields info 4
COMP001 [COMP001] High cognitive complexity: Function `load_yfinanc… low 4
AIC003 Duplicated implementation block across source files low 3
MINED115 GitHub Action pinned to mutable ref (not 40-char SHA) high 3
MINED001 Bare Except Pass high 2
MINED116 GHA pull_request workflow leaks secrets to forks critical 1
First 83 findings (severity-sorted)
critical MINED116 GHA pull_request workflow leaks secrets to forks CWE-829
.github/workflows/tests.yml:34 · conf 0.90
[MINED116] Workflow uses `secrets.CODECOV_TOKEN` on a `pull_request` trigger: This workflow triggers on `pull_request`, which checks out the FORK's code. Referencing `${ secrets.CODECOV_TOKEN }` lets…
high COMP001 [COMP001] High cognitive complexity: Function `load_yfinance_data` has cognitive complexity 9 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested branches, boolean chains, and recursion all weigh in. Breakdown: except=1, for=1, if=2, nested_bonus=3, or=2.
scripts/run_ablation.py:102 · conf 0.95
[COMP001] High cognitive complexity: Function `main` has cognitive complexity 36 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested branche…
high MINED001 Bare Except Pass CWE-755
src/forge/core/slot_worker.py:54 · conf 1.00
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
high MINED001 Bare Except Pass CWE-755
src/forge/prompts/templates.py:211 · conf 1.00
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows everything including KeyboardInterrupt and bugs.
high MINED006 Overcatch Baseexception CWE-705
src/forge/proxy/__main__.py:107 · conf 1.00
[MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and SystemExit from working.
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_guardrails.py:160 · conf 1.00
[MINED106] Phantom test coverage: test_is_frozen: Test function `test_is_frozen` runs code but contains no assert / expect / should call — it passes regardless of behaviour. Adds line coverage withou…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_messages.py:46 · conf 1.00
[MINED106] Phantom test coverage: test_is_frozen: Test function `test_is_frozen` runs code but contains no assert / expect / should call — it passes regardless of behaviour. Adds line coverage withou…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_ollama_client.py:862 · conf 1.00
[MINED106] Phantom test coverage: test_strict_unknown_model_raises: Test function `test_strict_unknown_model_raises` runs code but contains no assert / expect / should call — it passes regardless of …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_response_validator.py:12 · conf 1.00
[MINED106] Phantom test coverage: test_frozen: Test function `test_frozen` runs code but contains no assert / expect / should call — it passes regardless of behaviour. Adds line coverage without veri…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:447 · conf 1.00
[MINED106] Phantom test coverage: test_unknown_tool_consumes_iteration: Test function `test_unknown_tool_consumes_iteration` runs code but contains no assert / expect / should call — it passes regard…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:459 · conf 1.00
[MINED106] Phantom test coverage: test_unknown_tool_exhausts_retries: Test function `test_unknown_tool_exhausts_retries` runs code but contains no assert / expect / should call — it passes regardless…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:472 · conf 1.00
[MINED106] Phantom test coverage: test_unknown_tool_and_text_response_share_retry_counter: Test function `test_unknown_tool_and_text_response_share_retry_counter` runs code but contains no assert / e…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:647 · conf 1.00
[MINED106] Phantom test coverage: test_tool_error_consumes_iteration: Test function `test_tool_error_consumes_iteration` runs code but contains no assert / expect / should call — it passes regardless…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:776 · conf 1.00
[MINED106] Phantom test coverage: test_stream_without_final_chunk_raises_stream_error: Test function `test_stream_without_final_chunk_raises_stream_error` runs code but contains no assert / expect / …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:1617 · conf 1.00
[MINED106] Phantom test coverage: test_resolution_error_does_not_increment_consecutive_tool_errors: Test function `test_resolution_error_does_not_increment_consecutive_tool_errors` runs code but cont…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_runner.py:1817 · conf 1.00
[MINED106] Phantom test coverage: test_prereq_exhaustion_raises: Test function `test_prereq_exhaustion_raises` runs code but contains no assert / expect / should call — it passes regardless of behavi…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_server.py:229 · conf 1.00
[MINED106] Phantom test coverage: test_start_noop_for_ollama: Test function `test_start_noop_for_ollama` runs code but contains no assert / expect / should call — it passes regardless of behaviour. A…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_server.py:261 · conf 1.00
[MINED106] Phantom test coverage: test_start_llamafile_no_runtime_raises: Test function `test_start_llamafile_no_runtime_raises` runs code but contains no assert / expect / should call — it passes re…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_server.py:382 · conf 1.00
[MINED106] Phantom test coverage: test_stop_terminates_process: Test function `test_stop_terminates_process` runs code but contains no assert / expect / should call — it passes regardless of behaviou…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:56 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_unknown_required_step: Test function `test_raises_on_unknown_required_step` runs code but contains no assert / expect / should call — it passes regard…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:60 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_unknown_terminal_tool: Test function `test_raises_on_unknown_terminal_tool` runs code but contains no assert / expect / should call — it passes regard…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:64 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_key_name_mismatch: Test function `test_raises_on_key_name_mismatch` runs code but contains no assert / expect / should call — it passes regardless of …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:69 · conf 1.00
[MINED106] Phantom test coverage: test_raises_when_terminal_tool_in_required_steps: Test function `test_raises_when_terminal_tool_in_required_steps` runs code but contains no assert / expect / should…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:96 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_unknown_terminal_tool_in_list: Test function `test_raises_on_unknown_terminal_tool_in_list` runs code but contains no assert / expect / should call — …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:103 · conf 1.00
[MINED106] Phantom test coverage: test_raises_when_any_terminal_tool_in_required_steps: Test function `test_raises_when_any_terminal_tool_in_required_steps` runs code but contains no assert / expect …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:111 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_unknown_prerequisite_name_only: Test function `test_raises_on_unknown_prerequisite_name_only` runs code but contains no assert / expect / should call …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:117 · conf 1.00
[MINED106] Phantom test coverage: test_raises_on_unknown_prerequisite_arg_matched: Test function `test_raises_on_unknown_prerequisite_arg_matched` runs code but contains no assert / expect / should c…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:164 · conf 1.00
[MINED106] Phantom test coverage: test_get_callable_raises_keyerror_for_unknown: Test function `test_get_callable_raises_keyerror_for_unknown` runs code but contains no assert / expect / should call …
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:182 · conf 1.00
[MINED106] Phantom test coverage: test_validates_on_construction: Test function `test_validates_on_construction` runs code but contains no assert / expect / should call — it passes regardless of beha…
high MINED106 Phantom test coverage (assertion-free test) CWE-1126
tests/unit/test_workflow.py:200 · conf 1.00
[MINED106] Phantom test coverage: test_validates_on_construction: Test function `test_validates_on_construction` runs code but contains no assert / expect / should call — it passes regardless of beha…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/eval/eval_runner.py:95 · conf 1.00
[MINED108] `self._collect_usage` used but never assigned in __init__: Method `send` of class `CountingClientWrapper` reads `self._collect_usage`, but no assignment to it exists in __init__ (and no cl…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/eval/eval_runner.py:107 · conf 1.00
[MINED108] `self._collect_usage` used but never assigned in __init__: Method `send_stream` of class `CountingClientWrapper` reads `self._collect_usage`, but no assignment to it exists in __init__ (an…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/eval/report.py:127 · conf 1.00
[MINED108] `self._tag` used but never assigned in __init__: Method `label` of class `ConfigKey` reads `self._tag`, but no assignment to it exists in __init__ (and no class-level fallback). This raise…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/eval/report.py:142 · conf 1.00
[MINED108] `self._tag` used but never assigned in __init__: Method `short_label` of class `ConfigKey` reads `self._tag`, but no assignment to it exists in __init__ (and no class-level fallback). This…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_runner.py:63 · conf 1.00
[MINED108] `self._next` used but never assigned in __init__: Method `send` of class `MockClient` reads `self._next`, but no assignment to it exists in __init__ (and no class-level fallback). This rai…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_runner.py:72 · conf 1.00
[MINED108] `self._next` used but never assigned in __init__: Method `send_stream` of class `MockClient` reads `self._next`, but no assignment to it exists in __init__ (and no class-level fallback). T…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:13 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `setup_method` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (and no class-…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:20 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_no_terminal_no_nudge` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:26 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_before_steps_nudges` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:34 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_escalation_tiers` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (and …
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:35 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_escalation_tiers` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (and …
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:36 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_escalation_tiers` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (and …
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:44 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_tier_caps_at_3` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in __init__ (and no…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:48 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_after_steps_satisfied_no_nudge` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it e…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:49 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_after_steps_satisfied_no_nudge` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it e…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:51 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_after_steps_satisfied_no_nudge` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it e…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:55 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_with_partial_steps_nudges` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:57 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_terminal_with_partial_steps_nudges` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:63 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_non_terminal_tools_always_pass` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in …
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:71 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_batch_with_terminal_and_others` of class `TestStepEnforcerCheck` reads `self.enforcer`, but no assignment to it exists in …
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:79 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `setup_method` of class `TestStepEnforcerRecord` reads `self.enforcer`, but no assignment to it exists in __init__ (and no class…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:85 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_initially_not_satisfied` of class `TestStepEnforcerRecord` reads `self.enforcer`, but no assignment to it exists in __init…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:88 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_partial_not_satisfied` of class `TestStepEnforcerRecord` reads `self.enforcer`, but no assignment to it exists in __init__…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:89 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_partial_not_satisfied` of class `TestStepEnforcerRecord` reads `self.enforcer`, but no assignment to it exists in __init__…
high MINED108 self.attribute used but never assigned in __init__ CWE-476
tests/unit/test_step_enforcer.py:90 · conf 1.00
[MINED108] `self.enforcer` used but never assigned in __init__: Method `test_partial_not_satisfied` of class `TestStepEnforcerRecord` reads `self.enforcer`, but no assignment to it exists in __init__…
high MINED115 GitHub Action pinned to mutable ref (not 40-char SHA) CWE-829
.github/workflows/tests.yml:17 · conf 0.90
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-a…
high MINED115 GitHub Action pinned to mutable ref (not 40-char SHA) CWE-829
.github/workflows/tests.yml:20 · conf 0.90
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v5`: `uses: actions/setup-python@v5` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made …
high MINED115 GitHub Action pinned to mutable ref (not 40-char SHA) CWE-829
.github/workflows/tests.yml:32 · conf 0.90
[MINED115] Action `codecov/codecov-action` pinned to mutable ref `@v5`: `uses: codecov/codecov-action@v5` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that m…
high SEC029 Server-Side Request Forgery (SSRF) — outbound HTTP from user input
src/forge/proxy/proxy.py:81 · conf 1.00
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.25…
medium COMP001 [COMP001] High cognitive complexity: Function `load_yfinance_data` has cognitive complexity 9 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested branches, boolean chains, and recursion all weigh in. Breakdown: except=1, for=1, if=2, nested_bonus=3, or=2.
src/forge/context/strategies.py:204 · conf 0.95
[COMP001] High cognitive complexity: Function `_phase1` has cognitive complexity 15 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested bran…
medium MINED111 Bare except continues silently
src/forge/core/runner.py:324 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
src/forge/core/slot_worker.py:137 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
src/forge/proxy/server.py:98 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
tests/eval/batch_eval.py:473 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
tests/eval/eval_runner.py:293 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
tests/eval/eval_runner.py:303 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
tests/eval/eval_runner.py:338 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
medium MINED111 Bare except continues silently
tests/eval/eval_runner.py:613 · conf 1.00
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose.
low AIC003 Duplicated implementation block across source files
tests/eval/eval_runner.py:424 · conf 0.86
Duplicated implementation block across source files
low AIC003 Duplicated implementation block across source files
tests/eval/scenarios/_stateful_model_quality.py:8 · conf 0.86
Duplicated implementation block across source files
low AIC003 Duplicated implementation block across source files
tests/eval/scenarios/_stateful_plumbing.py:7 · conf 0.86
Duplicated implementation block across source files
low COMP001 [COMP001] High cognitive complexity: Function `load_yfinance_data` has cognitive complexity 9 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested branches, boolean chains, and recursion all weigh in. Breakdown: except=1, for=1, if=2, nested_bonus=3, or=2.
scripts/smoke_test_proxy.py:71 · conf 0.95
[COMP001] High cognitive complexity: Function `mock_backend_with_health` has cognitive complexity 10 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to underst…
info COMP001 [COMP001] High cognitive complexity: Function `load_yfinance_data` has cognitive complexity 9 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand — nested branches, boolean chains, and recursion all weigh in. Breakdown: except=1, for=1, if=2, nested_bonus=3, or=2.
· conf 0.20
[COMP001] High cognitive complexity (and 15 more): Same pattern found in 15 additional files. Review if needed.
info MINED043 Http Not Https CWE-319
src/forge/proxy/proxy.py:111 · conf 1.00
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data.
info MINED050 Stub Only Function CWE-1188
· conf 0.20
[MINED050] Stub Only Function (and 2 more): Same pattern found in 2 additional files. Review if needed.
info MINED050 Stub Only Function CWE-1188
src/forge/clients/base.py:105 · conf 1.00
[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment.
info MINED050 Stub Only Function CWE-1188
src/forge/context/strategies.py:48 · conf 1.00
[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment.
info MINED050 Stub Only Function CWE-1188
src/forge/core/slot_worker.py:55 · conf 1.00
[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment.
info MINED062 Python Dataclass No Fields
· conf 0.20
[MINED062] Python Dataclass No Fields (and 8 more): Same pattern found in 8 additional files. Review if needed.
info MINED062 Python Dataclass No Fields
src/forge/clients/base.py:13 · conf 1.00
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
info MINED062 Python Dataclass No Fields
src/forge/context/hardware.py:29 · conf 1.00
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
info MINED062 Python Dataclass No Fields
src/forge/context/manager.py:12 · conf 1.00
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
info MINED064 Python Input Call
src/forge/context/strategies.py:46 · conf 1.00
[MINED064] Python Input Call: input() blocks for stdin. Inappropriate in services.

Reading from rp.scan + rp.finding + rp.rule (unified schema, R78 series). Legacy data path unchanged. Compare with /scan/7430f221-46c3-4fa9-9c80-8e0d3e844062/.