RepoTrust

Leaderboard github.com

tude-alt/testrun

hash

  • View repository ↗
  • Python
  • ★ 0
  • commit 26e86c3f8732
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

0%

possible

Confidence
65%
Coverage
100%

Estimated share of AI-generated code. Explicit attribution is a lower bound.

Code quality

77/100

adequate

Confidence
90%
Coverage
100%

Complexity, duplication, lint density, tests, CI, docs and review process.

Security

46/100

poor

Confidence
85%
Coverage
100%

Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.

AI provenance

0% possible

Weak signals consistent with AI-assisted development.

How the score is built

  • Explicitly attributed share0%
  • Unattributed share in AI-pace bursts59%
  • Estimated AI-generated share0%
  • AI tool configuration files2
  • Work sessions at AI pace69
  • Releases at AI pacenot measured
  • Coding-style index (1.0+ means possible)0.15

Lines added per month all AI-attributed share

  1. 2024-06292 · 0% AI
  2. 2024-073 · 0% AI
  3. 2024-10691 · 0% AI
  4. 2024-121,170 · 0% AI
  5. 2025-01106 · 0% AI
  6. 2025-02350 · 0% AI
  7. 2025-03223 · 0% AI
  8. 2025-045 · 0% AI
  9. 2025-060 · 0% AI
  10. 2025-072,364 · 0% AI
  11. 2025-0810,960 · 0% AI
  12. 2025-098,978 · 0% AI
  13. 2025-1013 · 0% AI
  14. 2025-11395 · 0% AI
  15. 2025-12607 · 0% AI
  16. 2026-01209 · 0% AI
  17. 2026-024,358 · 0% AI
  18. 2026-032,279 · 0% AI
  19. 2026-046,386 · 0% AI
  20. 2026-0569,089 · 0% AI
  21. 2026-0613,871 · 0% AI
  22. 2026-0761,080 · 0% AI
  23. 2026-0882,628 · 0% AI
  24. 2026-09146,393 · 0% AI
  25. 2026-101,524 · 0% AI

Evidence by analyzer

Explicit AI attributionok
attributed_commit_share
0.0%
attributed_commits
0
attributed_loc
0
attributed_loc_share
0.0%
commits
1,374
effective_loc
413,974
tools_detected
0
AI tool configurationok2 items
artifacts
1
earliest_adoption
2025-08-23
tools_configured
2
workflow_agents
1
Commit velocityok15 items
excluded_import_loc
75,016
flagged_loc
246,230
flagged_loc_share
72.6%
flagged_units
69
max_loc_per_hour
3,464.52
measured_loc
338,958
median_loc_per_hour
278.66
pr_timed_units
0
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
0
work_units
331
Release velocityskipped
Coding styleok
count:assistant_voice
0
count:emoji_in_code
31
count:narrated_steps
0
count:placeholder
0
files:assistant_voice
0
files:emoji_in_code
15
files:narrated_steps
0
files:placeholder
0
index
0.15
lines_scanned
102,156
per_kloc:assistant_voice
0
per_kloc:emoji_in_code
0.30
per_kloc:narrated_steps
0
per_kloc:placeholder
0

Code quality

77 adequate

Code quality is adequate: test-to-source ratio 1.78, CI runs tests; 6% of function code in complex or long functions; 1% duplicated lines. Weakest area: type safety.

How the score is built

  • Complexity84
  • Duplication92
  • Lint and smells50
  • Tests and CI100
  • Documentation65
  • Type safety0
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok10 items
complex_functions
51
function_nloc
47,493
functions
3,421
long_functions
5
many_param_functions
33
mean_ccn
4.26
p90_ccn
9
risky_nloc_share
5.9%
Duplication (jscpd)ok10 items
compared_lines
77,650
duplicated_lines
1,101
duplicated_share
1.4%
files
332
Lintok
category:best-practice
45
category:correctness
142
category:maintainability
85
findings
272
scanned_lines
102,156
weighted_findings
285.25
Tests and CIok12 items
  • CI config: .github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml .github/workflows/YOUR_EXISTING_MANTIC_WORKFLOW.yml
  • CI config: .github/workflows/ci.yaml .github/workflows/ci.yaml
  • CI config: .github/workflows/claude.yml .github/workflows/claude.yml
  • CI config: .github/workflows/docker-compose.yml .github/workflows/docker-compose.yml
  • CI config: .github/workflows/fetch_diagnostic.yaml .github/workflows/fetch_diagnostic.yaml
  • CI config: .github/workflows/run_bot_on_mantic.yaml .github/workflows/run_bot_on_mantic.yaml
  • CI config: .github/workflows/run_bot_on_metaculus_cup.yaml .github/workflows/run_bot_on_metaculus_cup.yaml
  • CI config: .github/workflows/run_bot_on_minibench.yaml .github/workflows/run_bot_on_minibench.yaml
  • CI config: .github/workflows/run_bot_on_tournament.yaml .github/workflows/run_bot_on_tournament.yaml
  • CI config: .github/workflows/test_bot.yaml .github/workflows/test_bot.yaml
  • CI runs tests (pytest, npm run test)
  • CI runs linters (ruff, pyright, pre-commit)
check:ci_present
yes
check:ci_runs_lint
yes
check:ci_runs_tests
yes
check:has_tests
yes
check:test_ratio
yes
check:tests_cochange
yes
ci_files
11
cochange_commits
202
cochange_share
74.8%
source_lines
102,156
test_lines
182,025
test_ratio
1.78
Documentationok2 items
  • README.md README.md
  • LICENSE LICENSE
check:changelog
no
check:contributing
no
check:license
yes
check:readme
yes
readme_lines
129
Type safetyok
check:low_escape_density
no
check:strict_config
no
escapes
927
escapes_per_kloc
9.10

Security

46 poor

Security posture is poor: 156 known vulnerabilities in 17 dependencies; 10 high-severity SAST findings; 30 high-severity workflow issues. Weakest area: posture.

How the score is built

  • Secrets82
  • Static analysis (SAST)97
  • Vulnerable dependencies6
  • CI workflows0
  • Security posture0
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesok
checked
56
declared
56
lookup_errors
0
missing
0
recent
0
Secrets (gitleaks)ok
secrets_current
0
secrets_history
0
secrets_low_confidence
0
secrets_nonprod
6
Static analysis (opengrep)ok
findings
14
findings_high
10
findings_low
0
findings_medium
4
parse_errors
8
scanned_lines
102,156
weighted_findings
9.55
Dependencies (osv-scanner)ok
penalty
173
vulnerabilities
156
vulnerable_packages
17
vulns_critical
11
vulns_high
81
vulns_low
9
vulns_medium
54
vulns_unknown
1
CI workflows (zizmor)ok
findings
53
findings_high
30
findings_low
0
findings_medium
23
penalty
396
workflows
11
Security postureok
check:dependency_updates
no
check:lockfiles
yes
check:security_policy
no
check:signed_commits
no
signed_commit_share
5.0%
unpinned_manifests
0
Release downloadsok1 item
  • gives an archive password README.md
binary_assets
0
signals
1
suspicious
0

Findings

11 critical128 high275 medium15 low

SeverityRuleLocationMessageTool
critical osv/GHSA-332p-7hrc-92wf uv.lock [email protected] (PyPI) is affected by GHSA-332p-7hrc-92wf Dependencies (osv-scanner)
critical osv/GHSA-5x8w-8jj5-q52h uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h Dependencies (osv-scanner)
critical osv/GHSA-6q48-6c7w-9gw2 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 Dependencies (osv-scanner)
critical osv/GHSA-7hp6-4w63-5g45 uv.lock [email protected] (PyPI) is affected by GHSA-7hp6-4w63-5g45 Dependencies (osv-scanner)
critical osv/GHSA-8g5g-8vmr-9782 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782 Dependencies (osv-scanner)
critical osv/GHSA-9v8h-qqgm-4m35 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 Dependencies (osv-scanner)
critical osv/GHSA-ffc3-869f-jxw9 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4145, GHSA-ffc3-869f-jxw9 Dependencies (osv-scanner)
critical osv/GHSA-p423-j2cm-9vmq uv.lock [email protected] (PyPI) is affected by PYSEC-2026-36, GHSA-p423-j2cm-9vmq Dependencies (osv-scanner)
critical osv/GHSA-v9pv-5gc8-w2m6 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4339, GHSA-v9pv-5gc8-w2m6 Dependencies (osv-scanner)
critical osv/GHSA-w889-685w-c8fh uv.lock [email protected] (PyPI) is affected by GHSA-w889-685w-c8fh Dependencies (osv-scanner)
critical osv/GHSA-xvh5-g6gv-559v uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v Dependencies (osv-scanner)
high opengrep/python.lang.best-practice.arbitrary-sleep metaculus_bot/performance_analysis/collector.py:130 time.sleep() call; did you mean to leave this in? Lint
high opengrep/python.lang.best-practice.arbitrary-sleep metaculus_bot/performance_analysis/collector.py:147 time.sleep() call; did you mean to leave this in? Lint
high opengrep/python.lang.maintainability.useless-inner-function metaculus_bot/research/providers.py:225 function `_fetch_impl` is defined inside a function but never used Lint
high opengrep/python.lang.best-practice.arbitrary-sleep scripts/backfill_research_from_comments.py:233 time.sleep() call; did you mean to leave this in? Lint
high opengrep/python.lang.best-practice.arbitrary-sleep scripts/backfill_research_from_comments.py:71 time.sleep() call; did you mean to leave this in? Lint
high opengrep/python.lang.best-practice.arbitrary-sleep scripts/cronjob_dispatch_setup.py:209 time.sleep() call; did you mean to leave this in? Lint
high opengrep/python.lang.best-practice.arbitrary-sleep scripts/supply_probe.py:497 time.sleep() call; did you mean to leave this in? Lint
high zizmor/unpinned-uses .github/workflows/ci.yaml:20 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:21 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:44 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:50 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:67 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:94 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/ci.yaml:95 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/claude.yml:36 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/dangerous-triggers .github/workflows/claude.yml:4 use of fundamentally insecure workflow trigger [confidence medium] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/claude.yml:42 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/fetch_diagnostic.yaml:41 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/fetch_diagnostic.yaml:43 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_mantic.yaml:228 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_mantic.yaml:64 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_mantic.yaml:66 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_metaculus_cup.yaml:203 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_metaculus_cup.yaml:52 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_metaculus_cup.yaml:54 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_minibench.yaml:190 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_minibench.yaml:42 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_minibench.yaml:44 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_tournament.yaml:194 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_tournament.yaml:43 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/run_bot_on_tournament.yaml:45 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot.yaml:179 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot.yaml:36 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot.yaml:38 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot_basic.yaml:197 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot_basic.yaml:50 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/test_bot_basic.yaml:52 unpinned action reference [confidence high] CI workflows (zizmor)
high opengrep/python.lang.security.audit.dangerous-asyncio-create-exec-audit metaculus_bot/ablation/claude_cli.py:86 Detected 'create_subprocess_exec' function without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an... Static analysis (opengrep)
high opengrep/python.lang.security.use-defused-xml metaculus_bot/research/fred_rendering.py:22 The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause... Static analysis (opengrep)
high opengrep/python.lang.security.use-defused-xml metaculus_bot/research/known_api/backends.py:30 The Python documentation recommends using `defusedxml` instead of `xml` because the native Python `xml` library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/backfill_research_from_logs.py:140 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/backfill_research_from_logs.py:158 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/derive_mini_comment_fixture.py:236 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/dispatch_watch.py:206 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/download_run_logs.py:101 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/gha_artifacts.py:134 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit scripts/gha_artifacts.py:254 Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external... Static analysis (opengrep)
high osv/GHSA-22hg-r758-rrw9 uv.lock [email protected] (PyPI) is affected by GHSA-22hg-r758-rrw9 Dependencies (osv-scanner)
high osv/GHSA-27h8-gf7j-v5hc uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4326, GHSA-27h8-gf7j-v5hc Dependencies (osv-scanner)
high osv/GHSA-2g87-pp6c-29x5 uv.lock [email protected] (PyPI) is affected by GHSA-2g87-pp6c-29x5 Dependencies (osv-scanner)
high osv/GHSA-2qm8-x737-gmw5 uv.lock [email protected] (PyPI) is affected by GHSA-2qm8-x737-gmw5 Dependencies (osv-scanner)
high osv/GHSA-394h-qwmc-48pf uv.lock [email protected] (PyPI) is affected by GHSA-394h-qwmc-48pf Dependencies (osv-scanner)
high osv/GHSA-3j72-p6qg-6xp7 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4341, GHSA-3j72-p6qg-6xp7 Dependencies (osv-scanner)
high osv/GHSA-42gh-23hr-vphw uv.lock [email protected] (PyPI) is affected by GHSA-42gh-23hr-vphw Dependencies (osv-scanner)
high osv/GHSA-4558-3h8r-v8xp uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4327, GHSA-4558-3h8r-v8xp Dependencies (osv-scanner)
high osv/GHSA-45c3-73f7-pv4m uv.lock [email protected] (PyPI) is affected by GHSA-45c3-73f7-pv4m Dependencies (osv-scanner)
high osv/GHSA-4rr5-89j8-mwwm uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4328, GHSA-4rr5-89j8-mwwm Dependencies (osv-scanner)
high osv/GHSA-4vqv-7265-gm2w uv.lock [email protected] (PyPI) is affected by GHSA-4vqv-7265-gm2w Dependencies (osv-scanner)
high osv/GHSA-537c-gmf6-5ccf uv.lock [email protected] (PyPI) is affected by GHSA-537c-gmf6-5ccf Dependencies (osv-scanner)
high osv/GHSA-5849-834g-hvw5 uv.lock [email protected] (PyPI) is affected by GHSA-5849-834g-hvw5 Dependencies (osv-scanner)
high osv/GHSA-58r4-6rv3-gfh8 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4329, GHSA-58r4-6rv3-gfh8 Dependencies (osv-scanner)
high osv/GHSA-5jq2-8x83-x246 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4153, GHSA-5jq2-8x83-x246 Dependencies (osv-scanner)
high osv/GHSA-5vjq-rrrf-7h2q uv.lock [email protected] (PyPI) is affected by GHSA-5vjq-rrrf-7h2q Dependencies (osv-scanner)
high osv/GHSA-5wr8-gcqf-gqf3 uv.lock [email protected] (PyPI) is affected by GHSA-5wr8-gcqf-gqf3 Dependencies (osv-scanner)
high osv/GHSA-5xm2-6676-qcp9 uv.lock [email protected] (PyPI) is affected by GHSA-5xm2-6676-qcp9 Dependencies (osv-scanner)
high osv/GHSA-62m5-6wh8-28x7 uv.lock [email protected] (PyPI) is affected by GHSA-62m5-6wh8-28x7 Dependencies (osv-scanner)
high osv/GHSA-65qm-jvmh-6pqg uv.lock [email protected] (PyPI) is affected by GHSA-65qm-jvmh-6pqg Dependencies (osv-scanner)
high osv/GHSA-6655-6qjp-jx7x uv.lock [email protected] (PyPI) is affected by GHSA-6655-6qjp-jx7x Dependencies (osv-scanner)
high osv/GHSA-6c7f-9265-g8fw uv.lock [email protected] (PyPI) is affected by GHSA-6c7f-9265-g8fw Dependencies (osv-scanner)
high osv/GHSA-6w3r-xr62-4xcp uv.lock [email protected] (PyPI) is affected by GHSA-6w3r-xr62-4xcp Dependencies (osv-scanner)
high osv/GHSA-78g4-xqwv-q3g8 uv.lock [email protected] (PyPI) is affected by GHSA-78g4-xqwv-q3g8 Dependencies (osv-scanner)
high osv/GHSA-7mwm-ghpf-9vrm uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4331, GHSA-7mwm-ghpf-9vrm Dependencies (osv-scanner)
high osv/GHSA-84m7-p3x7-pcfv uv.lock [email protected] (PyPI) is affected by GHSA-84m7-p3x7-pcfv Dependencies (osv-scanner)
high osv/GHSA-8988-9cw3-xx77 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4175, GHSA-8988-9cw3-xx77 Dependencies (osv-scanner)
high osv/GHSA-8rjx-v5ww-45pp uv.lock [email protected] (PyPI) is affected by GHSA-8rjx-v5ww-45pp Dependencies (osv-scanner)
high osv/GHSA-94p9-xgh2-xp45 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4011, GHSA-94p9-xgh2-xp45 Dependencies (osv-scanner)
high osv/GHSA-9j54-fg26-wv3r uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4143, GHSA-9j54-fg26-wv3r Dependencies (osv-scanner)
high osv/GHSA-9m75-vc3g-4x39 uv.lock [email protected] (PyPI) is affected by GHSA-9m75-vc3g-4x39 Dependencies (osv-scanner)
high osv/GHSA-9v7f-9g4p-ffgj uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4144, GHSA-9v7f-9g4p-ffgj Dependencies (osv-scanner)
high osv/GHSA-9v9v-9qvf-h2hj uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4343, GHSA-9v9v-9qvf-h2hj Dependencies (osv-scanner)
high osv/GHSA-9xw5-w5jj-pvcg uv.lock [email protected] (PyPI) is affected by GHSA-9xw5-w5jj-pvcg Dependencies (osv-scanner)
high osv/GHSA-c2m8-h5v5-343r uv.lock [email protected] (PyPI) is affected by GHSA-c2m8-h5v5-343r Dependencies (osv-scanner)
high osv/GHSA-c6hw-5grf-ff96 uv.lock [email protected] (PyPI) is affected by GHSA-c6hw-5grf-ff96 Dependencies (osv-scanner)
high osv/GHSA-c947-3pg5-gm8q uv.lock [email protected] (PyPI) is affected by GHSA-c947-3pg5-gm8q Dependencies (osv-scanner)
high osv/GHSA-c978-59m8-c77v uv.lock [email protected] (PyPI) is affected by GHSA-c978-59m8-c77v Dependencies (osv-scanner)
high osv/GHSA-cggf-277g-3q54 uv.lock [email protected] (PyPI) is affected by GHSA-cggf-277g-3q54 Dependencies (osv-scanner)
high osv/GHSA-chx6-46f5-w4vp uv.lock [email protected] (PyPI) is affected by GHSA-chx6-46f5-w4vp Dependencies (osv-scanner)
high osv/GHSA-cp9v-662q-vvx9 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4333, GHSA-cp9v-662q-vvx9 Dependencies (osv-scanner)
high osv/GHSA-f2g6-542v-9j58 uv.lock [email protected] (PyPI) is affected by GHSA-f2g6-542v-9j58 Dependencies (osv-scanner)
high osv/GHSA-fm9c-5rcf-2q5p uv.lock [email protected] (PyPI) is affected by GHSA-fm9c-5rcf-2q5p Dependencies (osv-scanner)
high osv/GHSA-fp3h-c4fm-7vvf uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4154, GHSA-fp3h-c4fm-7vvf Dependencies (osv-scanner)
high osv/GHSA-g4qv-2jxx-769h uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4342, GHSA-g4qv-2jxx-769h Dependencies (osv-scanner)
high osv/GHSA-g6cj-pr64-35w5 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5 Dependencies (osv-scanner)
high osv/GHSA-g7cr-3p24-7wf7 uv.lock [email protected] (PyPI) is affected by GHSA-g7cr-3p24-7wf7 Dependencies (osv-scanner)
high osv/GHSA-g842-9rc4-69pw uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4338, GHSA-g842-9rc4-69pw Dependencies (osv-scanner)
high osv/GHSA-g9cg-prrw-2r8q uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4155, GHSA-g9cg-prrw-2r8q Dependencies (osv-scanner)
high osv/GHSA-gg2r-wvfm-q9rx uv.lock [email protected] (PyPI) is affected by GHSA-gg2r-wvfm-q9rx Dependencies (osv-scanner)
high osv/GHSA-gmh7-3g9r-mjh5 uv.lock [email protected] (PyPI) is affected by GHSA-gmh7-3g9r-mjh5 Dependencies (osv-scanner)
high osv/GHSA-j4m9-6w36-pw47 uv.lock [email protected] (PyPI) is affected by GHSA-j4m9-6w36-pw47 Dependencies (osv-scanner)
high osv/GHSA-jg86-v3jv-hrpm uv.lock [email protected] (PyPI) is affected by GHSA-jg86-v3jv-hrpm Dependencies (osv-scanner)
high osv/GHSA-jr96-gvgh-j3r4 uv.lock [email protected] (PyPI) is affected by GHSA-jr96-gvgh-j3r4 Dependencies (osv-scanner)
high osv/GHSA-jw7q-gvrg-4vj3 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4156, GHSA-jw7q-gvrg-4vj3 Dependencies (osv-scanner)
high osv/GHSA-jwv3-5hgf-82ww uv.lock [email protected] (PyPI) is affected by PYSEC-2026-3553, GHSA-jwv3-5hgf-82ww Dependencies (osv-scanner)
high osv/GHSA-mfr5-77xh-9j7h uv.lock [email protected] (PyPI) is affected by GHSA-mfr5-77xh-9j7h Dependencies (osv-scanner)
high osv/GHSA-mm57-4v3p-rchx uv.lock [email protected] (PyPI) is affected by GHSA-mm57-4v3p-rchx Dependencies (osv-scanner)
high osv/GHSA-mmhr-3c5m-f64f uv.lock [email protected] (PyPI) is affected by GHSA-mmhr-3c5m-f64f Dependencies (osv-scanner)
high osv/GHSA-mrfp-p49p-3hf2 uv.lock [email protected] (PyPI) is affected by GHSA-mrfp-p49p-3hf2 Dependencies (osv-scanner)
high osv/GHSA-p4g4-x82p-q773 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4149, GHSA-p4g4-x82p-q773 Dependencies (osv-scanner)
high osv/GHSA-p4wg-p73j-c528 uv.lock [email protected] (PyPI) is affected by GHSA-p4wg-p73j-c528 Dependencies (osv-scanner)
high osv/GHSA-p58f-9548-mpm2 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4013, GHSA-p58f-9548-mpm2 Dependencies (osv-scanner)
high osv/GHSA-pchr-8j38-3x4p uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4334, GHSA-pchr-8j38-3x4p Dependencies (osv-scanner)
high osv/GHSA-php9-fj8v-98fj uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4157, GHSA-php9-fj8v-98fj Dependencies (osv-scanner)
high osv/GHSA-pxh4-856f-4h89 uv.lock [email protected] (PyPI) is affected by GHSA-pxh4-856f-4h89 Dependencies (osv-scanner)
high osv/GHSA-q45j-58j2-45rg uv.lock [email protected] (PyPI) is affected by GHSA-q45j-58j2-45rg Dependencies (osv-scanner)
high osv/GHSA-qv6h-rv94-w285 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4158, GHSA-qv6h-rv94-w285 Dependencies (osv-scanner)
high osv/GHSA-r6x4-923q-g947 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4150, GHSA-r6x4-923q-g947 Dependencies (osv-scanner)
high osv/GHSA-v247-6f48-mgcj uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4159, GHSA-v247-6f48-mgcj Dependencies (osv-scanner)
high osv/GHSA-v4x8-3wr5-3wq8 uv.lock [email protected] (PyPI) is affected by GHSA-v4x8-3wr5-3wq8 Dependencies (osv-scanner)
high osv/GHSA-vvf4-9x63-8xvv uv.lock [email protected] (PyPI) is affected by GHSA-vvf4-9x63-8xvv Dependencies (osv-scanner)
high osv/GHSA-vxj4-q4g9-crj7 uv.lock [email protected] (PyPI) is affected by GHSA-vxj4-q4g9-crj7 Dependencies (osv-scanner)
high osv/GHSA-vxq7-64xx-v4gw uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4177, GHSA-vxq7-64xx-v4gw Dependencies (osv-scanner)
high osv/GHSA-w23x-9jrw-r45c uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4160, GHSA-w23x-9jrw-r45c Dependencies (osv-scanner)
high osv/GHSA-w2cx-738m-mc7w uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4151, GHSA-w2cx-738m-mc7w Dependencies (osv-scanner)
high osv/GHSA-x33g-cr3x-6449 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4183, GHSA-x33g-cr3x-6449 Dependencies (osv-scanner)
high osv/GHSA-x3rh-gjgm-fmqc uv.lock [email protected] (PyPI) is affected by GHSA-x3rh-gjgm-fmqc Dependencies (osv-scanner)
high osv/GHSA-x78j-v8h9-3j2q uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4014, GHSA-x78j-v8h9-3j2q Dependencies (osv-scanner)
high osv/GHSA-xcvg-w56q-r89m uv.lock [email protected] (PyPI) is affected by GHSA-xcvg-w56q-r89m Dependencies (osv-scanner)
high osv/GHSA-xgh8-jp6q-p5x8 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4335, GHSA-xgh8-jp6q-p5x8 Dependencies (osv-scanner)
medium opengrep/python.lang.best-practice.unspecified-open-encoding analyze_correlations.py:561 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding analyze_correlations.py:58 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling community_benchmark.py:130 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling community_benchmark.py:131 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:625 Is "is_saturated_stack" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack() because score.is_saturated_stack is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:627 Is "is_saturated_stack_aug" a function or an attribute? If it is a function, you may have meant score.is_saturated_stack_aug() because score.is_saturated_stack_aug is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:629 Is "is_saturated_pdf_min1" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min1() because score.is_saturated_pdf_min1 is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:631 Is "is_saturated_pdf_min2" a function or an attribute? If it is a function, you may have meant score.is_saturated_pdf_min2() because score.is_saturated_pdf_min2 is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:633 Is "is_saturated_median" a function or an attribute? If it is a function, you may have meant score.is_saturated_median() because score.is_saturated_median is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring.py:635 Is "is_saturated_mean" a function or an attribute? If it is a function, you may have meant score.is_saturated_mean() because score.is_saturated_mean is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:120 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:124 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:131 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:135 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring_report.py:166 Is "is_saturated_stack" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack() because s.is_saturated_stack is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring_report.py:167 Is "is_saturated_stack_aug" a function or an attribute? If it is a function, you may have meant s.is_saturated_stack_aug() because s.is_saturated_stack_aug is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/ablation/scoring_report.py:168 Is "is_saturated_median" a function or an attribute? If it is a function, you may have meant s.is_saturated_median() because s.is_saturated_median is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:314 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:318 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:320 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:323 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:362 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:47 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ablation/scoring_report.py:51 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/aggregation_pipeline.py:81 `return` only makes sense inside a function Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling metaculus_bot/backtest/question_prep.py:500 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/credit_telemetry.py:707 Is "is_byok" a function or an attribute? If it is a function, you may have meant usage.is_byok() because usage.is_byok is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ensemble_analysis/correlation_analysis.py:626 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/ensemble_analysis/correlation_analysis.py:665 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/ensemble_analysis/correlation_analysis.py:711 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling metaculus_bot/fallback_openrouter.py:586 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/forecaster.py:180 Is "is_benchmarking" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/forecaster.py:649 Is "is_exhausted" a function or an attribute? If it is a function, you may have meant time_budget.is_exhausted() because time_budget.is_exhausted is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/forecaster.py:743 Is "is_benchmarking" a function or an attribute? If it is a function, you may have meant self.is_benchmarking() because self.is_benchmarking is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/forecaster_runners.py:501 Is "is_discrete_integer" a function or an attribute? If it is a function, you may have meant outcome_result.is_discrete_integer() because outcome_result.is_discrete_integer is always true. Lint
medium opengrep/python.requests.best-practice.use-raise-for-status metaculus_bot/mantic.py:190 There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... Lint
medium opengrep/python.lang.best-practice.manual-defaultdict-list-create metaculus_bot/performance_analysis/analysis.py:198 manually creating a defaultdict - use collections.defaultdict(list) Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/analysis.py:256 Is "is_interval" a function or an attribute? If it is a function, you may have meant self.is_interval() because self.is_interval is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/analysis.py:373 Is "is_interval" a function or an attribute? If it is a function, you may have meant reading.is_interval() because reading.is_interval is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/analysis.py:844 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/analysis.py:849 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/analysis.py:933 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/clip_threshold.py:94 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:100 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:120 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:123 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:125 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:128 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:130 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:136 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:140 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:144 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:149 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:162 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:171 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:302 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:342 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:398 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:423 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:442 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:474 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:487 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:567 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:620 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:706 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:717 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/clip_threshold_report.py:98 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:214 Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:224 Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:246 Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:255 Is "is_binary" a function or an attribute? If it is a function, you may have meant self.is_binary() because self.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:440 Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:470 Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:490 Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_sweep.py:497 Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_tables.py:512 Is "is_binary" a function or an attribute? If it is a function, you may have meant record.is_binary() because record.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_tables.py:671 Is "is_binary" a function or an attribute? If it is a function, you may have meant r.is_binary() because r.is_binary is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_windows.py:172 Is "is_era_slice" a function or an attribute? If it is a function, you may have meant w.is_era_slice() because w.is_era_slice is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/performance_analysis/clip_threshold_windows.py:80 Is "is_era_slice" a function or an attribute? If it is a function, you may have meant self.is_era_slice() because self.is_era_slice is always true. Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/cluster_structure.py:138 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/cluster_structure.py:370 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/cluster_structure.py:413 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/cluster_structure.py:422 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/collector.py:600 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/collector.py:661 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.requests.best-practice.use-raise-for-status metaculus_bot/performance_analysis/collector.py:77 There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/era_gap.py:130 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.maintainability.code-after-unconditional-return metaculus_bot/performance_analysis/era_gap.py:412 code after return statement will not be executed Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:412 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.code-after-unconditional-return metaculus_bot/performance_analysis/era_gap.py:419 code after return statement will not be executed Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:419 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:419 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:437 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.code-after-unconditional-return metaculus_bot/performance_analysis/era_gap.py:438 code after return statement will not be executed Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:438 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:438 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.code-after-unconditional-return metaculus_bot/performance_analysis/era_gap.py:458 code after return statement will not be executed Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:458 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/performance_analysis/era_gap.py:458 `return` only makes sense inside a function Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:671 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:678 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:689 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:704 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:719 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/era_gap.py:729 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/era_gap.py:809 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/outer_tail.py:495 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/outer_tail.py:505 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/outer_tail.py:509 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/outer_tail.py:515 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/outer_tail.py:521 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/performance_analysis/rescore_diff.py:244 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_dataset.py:190 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_dataset.py:253 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_dataset.py:415 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_dataset.py:429 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_dataset.py:642 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/round_outputs.py:182 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.manual-defaultdict-list-create metaculus_bot/performance_analysis/stacker_detection.py:189 manually creating a defaultdict - use collections.defaultdict(list) Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/width_monitor.py:621 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding metaculus_bot/performance_analysis/width_monitor.py:626 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:1230 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:1233 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:1283 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:1286 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:626 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:632 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/prompts.py:638 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/agentic/gates.py:341 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/agentic/tool_schemas.py:171 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/agentic/tool_schemas.py:177 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/currency_pegs.py:118 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/currency_pegs.py:150 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/currency_pegs.py:87 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/document_text.py:468 Is "is_encrypted" a function or an attribute? If it is a function, you may have meant reader.is_encrypted() because reader.is_encrypted is always true. Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/research/fetch_ladder/context.py:127 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:80 Is "is_private" a function or an attribute? If it is a function, you may have meant ip.is_private() because ip.is_private is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:81 Is "is_loopback" a function or an attribute? If it is a function, you may have meant ip.is_loopback() because ip.is_loopback is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:82 Is "is_link_local" a function or an attribute? If it is a function, you may have meant ip.is_link_local() because ip.is_link_local is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:83 Is "is_reserved" a function or an attribute? If it is a function, you may have meant ip.is_reserved() because ip.is_reserved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:84 Is "is_multicast" a function or an attribute? If it is a function, you may have meant ip.is_multicast() because ip.is_multicast is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:85 Is "is_unspecified" a function or an attribute? If it is a function, you may have meant ip.is_unspecified() because ip.is_unspecified is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/fetch_ladder/guard.py:86 Is "is_global" a function or an attribute? If it is a function, you may have meant ip.is_global() because ip.is_global is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/fetch_markers.py:58 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/financial_data.py:453 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/fred_rendering.py:136 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/fred_rendering.py:149 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/fred_rendering.py:155 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling metaculus_bot/research/image_persistence.py:173 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling metaculus_bot/research/image_persistence.py:181 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.best-practice.logging-error-without-handling metaculus_bot/research/image_persistence.py:191 Errors should only be logged when handled. The code logs the error and propogates the exception, consider reducing the level to warning or info. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/ranking.py:280 Is "is_resolved" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:466 Is "is_resolved" a function or an attribute? If it is a function, you may have meant match.is_resolved() because match.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:497 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:549 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:631 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:645 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:705 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/rendering.py:706 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/research/market_retrieval/session_state.py:217 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/types.py:112 Is "is_log_scale" a function or an attribute? If it is a function, you may have meant self.is_log_scale() because self.is_log_scale is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/market_retrieval/venues/_shared.py:50 Is "is_resolved" a function or an attribute? If it is a function, you may have meant child.is_resolved() because child.is_resolved is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/provider_health.py:345 Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/provider_health.py:365 Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/provider_health.py:366 Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/provider_health.py:390 Is "is_alertable" a function or an attribute? If it is a function, you may have meant finding.is_alertable() because finding.is_alertable is always true. Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/timeseries_anchor.py:131 Is "is_max" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true. Lint
medium opengrep/python.requests.best-practice.use-raise-for-status metaculus_bot/research/ts_fetch.py:284 There's an HTTP request made with requests, but the raise_for_status() utility method isn't used. This can result in request errors going unnoticed and your code behaving in unexpected ways, such as if your authorization API returns a... Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/ts_render.py:289 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/ts_render.py:339 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.is-function-without-parentheses metaculus_bot/research/ts_render.py:383 Is "is_max" a function or an attribute? If it is a function, you may have meant route.is_max() because route.is_max is always true. Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/research/ts_render.py:513 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/tool_runner.py:308 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list metaculus_bot/tool_runner.py:327 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:199 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:203 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:207 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:211 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:215 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:219 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:224 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.code-after-unconditional-return metaculus_bot/value_extraction.py:233 code after return statement will not be executed Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:233 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:291 `return` only makes sense inside a function Lint
medium opengrep/python.lang.maintainability.return-not-in-function metaculus_bot/value_extraction.py:309 `return` only makes sense inside a function Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/backfill_research_from_comments.py:191 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/backfill_research_from_comments.py:280 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/backfill_research_from_logs.py:171 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/backfill_research_from_logs.py:242 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list scripts/cost_report.py:295 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.correctness.common-mistakes.string-concat-in-list scripts/dispatch_watch.py:177 Detected strings that are implicitly concatenated inside a list. Python will implicitly concatenate strings when not explicitly delimited. Was this supposed to be individual elements of the list? Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/download_research.py:412 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium opengrep/python.lang.best-practice.unspecified-open-encoding scripts/download_research.py:417 Missing 'encoding' parameter. 'open()' uses device locale encodings by default, corrupting files with special characters. Specify the encoding to ensure cross-platform support when opening files in text mode (e.g. encoding="utf-8"). Lint
medium zizmor/excessive-permissions .github/workflows/ci.yaml:16 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/ci.yaml:2 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/ci.yaml:20 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/ci.yaml:40 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/ci.yaml:44 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/ci.yaml:67 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/ci.yaml:90 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/ci.yaml:94 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/claude.yml:35 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/fetch_diagnostic.yaml:31 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/fetch_diagnostic.yaml:40 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/run_bot_on_mantic.yaml:32 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/run_bot_on_mantic.yaml:63 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/run_bot_on_metaculus_cup.yaml:30 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/run_bot_on_metaculus_cup.yaml:51 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/run_bot_on_minibench.yaml:20 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/run_bot_on_minibench.yaml:41 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/run_bot_on_tournament.yaml:21 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/run_bot_on_tournament.yaml:42 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/test_bot.yaml:14 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/test_bot.yaml:35 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/test_bot_basic.yaml:28 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/test_bot_basic.yaml:49 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure metaculus_bot/akash_router.py:216 Detected a python logger call with a potential hardcoded secret "LLM_ROUTE_SUCCESS role=%s slot=%s provider=%s model=%s prompt_tokens=%s completion_tokens=%s" being logged. This may lead to secret credentials being exposed. Make sure... Static analysis (opengrep)
medium opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure metaculus_bot/gemini_routing.py:167 Detected a python logger call with a potential hardcoded secret "GEMINI_VERTEX_USAGE: role=%s model=%s prompt_tokens=%s output_tokens=%s cost_usd=unknown" being logged. This may lead to secret credentials being exposed. Make sure that... Static analysis (opengrep)
medium opengrep/python.lang.security.audit.logging.python-logger-credential-disclosure metaculus_bot/research/fetch_ladder/rungs.py:1052 Detected a python logger call with a potential hardcoded secret "resolution_source: url_context rung is enabled but GCP_API_KEY_1 is not set — skipping %s" being logged. This may lead to secret credentials being exposed. Make sure that... Static analysis (opengrep)
medium opengrep/python.lang.security.audit.regex_dos metaculus_bot/research/gemini_search.py:174 Detected usage of re.compile with an inefficient regular expression. This can lead to regular expression denial of service, which can result in service down time. Instead, check all regexes or use safer alternatives such as pyre2.... Static analysis (opengrep)
medium osv/GHSA-24rc-8hj2-v98c uv.lock [email protected] (PyPI) is affected by GHSA-24rc-8hj2-v98c Dependencies (osv-scanner)
medium osv/GHSA-254f-3936-288h uv.lock [email protected] (PyPI) is affected by GHSA-254f-3936-288h Dependencies (osv-scanner)
medium osv/GHSA-2gx3-rcp4-g85q uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4140, GHSA-2gx3-rcp4-g85q Dependencies (osv-scanner)
medium osv/GHSA-39mj-jf6j-2qj3 uv.lock [email protected] (PyPI) is affected by GHSA-39mj-jf6j-2qj3 Dependencies (osv-scanner)
medium osv/GHSA-3hv7-mjh2-fv65 uv.lock [email protected] (PyPI) is affected by GHSA-3hv7-mjh2-fv65 Dependencies (osv-scanner)
medium osv/GHSA-42vr-xj54-vc7v uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4141, GHSA-42vr-xj54-vc7v Dependencies (osv-scanner)
medium osv/GHSA-43mp-35q3-x3fq uv.lock [email protected] (PyPI) is affected by GHSA-43mp-35q3-x3fq Dependencies (osv-scanner)
medium osv/GHSA-462x-pgg6-55fp uv.lock [email protected] (PyPI) is affected by GHSA-462x-pgg6-55fp Dependencies (osv-scanner)
medium osv/GHSA-494j-54xm-rwp3 uv.lock [email protected] (PyPI) is affected by GHSA-494j-54xm-rwp3 Dependencies (osv-scanner)
medium osv/GHSA-4j63-6c4x-wfg4 uv.lock [email protected] (PyPI) is affected by GHSA-4j63-6c4x-wfg4 Dependencies (osv-scanner)
medium osv/GHSA-4rm8-3hmm-39fg uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4340, GHSA-4rm8-3hmm-39fg Dependencies (osv-scanner)
medium osv/GHSA-54p9-h82j-f925 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4244, GHSA-54p9-h82j-f925 Dependencies (osv-scanner)
medium osv/GHSA-558c-9hv2-4prj uv.lock [email protected] (PyPI) is affected by GHSA-558c-9hv2-4prj Dependencies (osv-scanner)
medium osv/GHSA-5h93-6whr-6q8j uv.lock [email protected] (PyPI) is affected by GHSA-5h93-6whr-6q8j Dependencies (osv-scanner)
medium osv/GHSA-654x-cwwv-5j9c uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4336, GHSA-654x-cwwv-5j9c Dependencies (osv-scanner)
medium osv/GHSA-6627-m3xw-93mp uv.lock [email protected] (PyPI) is affected by GHSA-6627-m3xw-93mp Dependencies (osv-scanner)
medium osv/GHSA-69hj-f68j-2879 uv.lock [email protected] (PyPI) is affected by GHSA-69hj-f68j-2879 Dependencies (osv-scanner)
medium osv/GHSA-6cjc-53gc-5rqm uv.lock [email protected] (PyPI) is affected by GHSA-6cjc-53gc-5rqm Dependencies (osv-scanner)
medium osv/GHSA-6vvc-x485-93v7 uv.lock [email protected] (PyPI) is affected by GHSA-6vvc-x485-93v7 Dependencies (osv-scanner)
medium osv/GHSA-74r2-7ff9-mjj2 uv.lock [email protected] (PyPI) is affected by GHSA-74r2-7ff9-mjj2 Dependencies (osv-scanner)
medium osv/GHSA-7g44-g9rc-x53w uv.lock [email protected] (PyPI) is affected by GHSA-7g44-g9rc-x53w Dependencies (osv-scanner)
medium osv/GHSA-7mh2-4gg2-979f uv.lock [email protected] (PyPI) is affected by GHSA-7mh2-4gg2-979f Dependencies (osv-scanner)
medium osv/GHSA-8mx5-7m5m-r77g uv.lock [email protected] (PyPI) is affected by GHSA-8mx5-7m5m-r77g Dependencies (osv-scanner)
medium osv/GHSA-8wjv-2p76-3863 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4142, GHSA-8wjv-2p76-3863 Dependencies (osv-scanner)
medium osv/GHSA-9c4x-gm8v-wgc4 uv.lock [email protected] (PyPI) is affected by GHSA-9c4x-gm8v-wgc4 Dependencies (osv-scanner)
medium osv/GHSA-9h9j-4vrj-gf7g uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4012, GHSA-9h9j-4vrj-gf7g Dependencies (osv-scanner)
medium osv/GHSA-9mx8-4j7g-633p uv.lock [email protected] (PyPI) is affected by GHSA-9mx8-4j7g-633p Dependencies (osv-scanner)
medium osv/GHSA-cgf9-327m-v77c uv.lock [email protected] (PyPI) is affected by GHSA-cgf9-327m-v77c Dependencies (osv-scanner)
medium osv/GHSA-cw65-gx24-rc82 uv.lock [email protected] (PyPI) is affected by GHSA-cw65-gx24-rc82 Dependencies (osv-scanner)
medium osv/GHSA-cwqr-hh33-gh44 uv.lock [email protected] (PyPI) is affected by GHSA-cwqr-hh33-gh44 Dependencies (osv-scanner)
medium osv/GHSA-f54x-cmq8-qg57 uv.lock [email protected] (PyPI) is affected by GHSA-f54x-cmq8-qg57 Dependencies (osv-scanner)
medium osv/GHSA-f9xw-jh8m-3mwq uv.lock [email protected] (PyPI) is affected by GHSA-f9xw-jh8m-3mwq Dependencies (osv-scanner)
medium osv/GHSA-fc2g-4w5p-6whm uv.lock [email protected] (PyPI) is affected by GHSA-fc2g-4w5p-6whm Dependencies (osv-scanner)
medium osv/GHSA-fc9g-5qg7-mf45 uv.lock [email protected] (PyPI) is affected by GHSA-fc9g-5qg7-mf45 Dependencies (osv-scanner)
medium osv/GHSA-fq56-3cx3-fjxp uv.lock [email protected] (PyPI) is affected by GHSA-fq56-3cx3-fjxp Dependencies (osv-scanner)
medium osv/GHSA-gh4c-6fx4-qh6g uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4176, GHSA-gh4c-6fx4-qh6g Dependencies (osv-scanner)
medium osv/GHSA-gvp8-978c-rx2q uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4146, GHSA-gvp8-978c-rx2q Dependencies (osv-scanner)
medium osv/GHSA-hhxq-47xx-j5xx uv.lock [email protected] (PyPI) is affected by GHSA-hhxq-47xx-j5xx Dependencies (osv-scanner)
medium osv/GHSA-hxm8-2xgr-2p9m uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4147, GHSA-hxm8-2xgr-2p9m Dependencies (osv-scanner)
medium osv/GHSA-j8f7-rjxc-mr56 uv.lock [email protected] (PyPI) is affected by GHSA-j8f7-rjxc-mr56 Dependencies (osv-scanner)
medium osv/GHSA-jwrc-g2q2-pq5p uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4148, GHSA-jwrc-g2q2-pq5p Dependencies (osv-scanner)
medium osv/GHSA-m2h6-j472-rp4c uv.lock [email protected] (PyPI) is affected by PYSEC-2026-3554, GHSA-m2h6-j472-rp4c Dependencies (osv-scanner)
medium osv/GHSA-m462-7rxw-wvpg uv.lock [email protected] (PyPI) is affected by GHSA-m462-7rxw-wvpg Dependencies (osv-scanner)
medium osv/GHSA-p8hx-v2p6-rp84 uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4337, GHSA-p8hx-v2p6-rp84 Dependencies (osv-scanner)
medium osv/GHSA-pcg2-g6cj-q92c uv.lock [email protected] (PyPI) is affected by GHSA-pcg2-g6cj-q92c Dependencies (osv-scanner)
medium osv/GHSA-pqxq-w44r-73xw uv.lock [email protected] (PyPI) is affected by GHSA-pqxq-w44r-73xw Dependencies (osv-scanner)
medium osv/GHSA-qfv9-64jg-mh7p uv.lock [email protected] (PyPI) is affected by GHSA-qfv9-64jg-mh7p Dependencies (osv-scanner)
medium osv/GHSA-r4j5-9xpp-3985 uv.lock [email protected] (PyPI) is affected by GHSA-r4j5-9xpp-3985 Dependencies (osv-scanner)
medium osv/GHSA-rfgq-q3w2-pmv2 uv.lock [email protected] (PyPI) is affected by GHSA-rfgq-q3w2-pmv2 Dependencies (osv-scanner)
medium osv/GHSA-rfpc-qcw5-3pc4 uv.lock [email protected] (PyPI) is affected by GHSA-rfpc-qcw5-3pc4 Dependencies (osv-scanner)
medium osv/GHSA-rwrf-2pqf-9j8j uv.lock [email protected] (PyPI) is affected by GHSA-rwrf-2pqf-9j8j Dependencies (osv-scanner)
medium osv/GHSA-vx6w-vv9f-6gvg uv.lock [email protected] (PyPI) is affected by GHSA-vx6w-vv9f-6gvg Dependencies (osv-scanner)
medium osv/GHSA-w4fh-qvv9-3v23 uv.lock [email protected] (PyPI) is affected by GHSA-w4fh-qvv9-3v23 Dependencies (osv-scanner)
medium osv/GHSA-w6j9-cwv2-h6wq uv.lock [email protected] (PyPI) is affected by PYSEC-2026-4152, GHSA-w6j9-cwv2-h6wq Dependencies (osv-scanner)
medium osv/GHSA-wqgw-9xfh-qf2g uv.lock [email protected] (PyPI) is affected by GHSA-wqgw-9xfh-qf2g Dependencies (osv-scanner)
low gitleaks/generic-api-key tests/data/manifold_multi_outcome_2026_08_05.json:52 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key tests/data/manifold_pseudo_numeric_2026_08_05.json:26 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key tests/data/prediction_market_venue_payloads.json:719 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key tests/test_check_openrouter_credits.py:18 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key tests/test_credit_role_spend.py:523 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low gitleaks/generic-api-key tests/test_credit_telemetry.py:58 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)
low osv/GHSA-494p-63j8-28p3 uv.lock [email protected] (PyPI) is affected by GHSA-494p-63j8-28p3 Dependencies (osv-scanner)
low osv/GHSA-567q-5qvw-pf92 uv.lock [email protected] (PyPI) is affected by GHSA-567q-5qvw-pf92 Dependencies (osv-scanner)
low osv/GHSA-5cjw-f85j-cv6r uv.lock [email protected] (PyPI) is affected by GHSA-5cjw-f85j-cv6r Dependencies (osv-scanner)
low osv/GHSA-5hx5-vpf9-5wcv uv.lock [email protected] (PyPI) is affected by GHSA-5hx5-vpf9-5wcv Dependencies (osv-scanner)
low osv/GHSA-9vhv-jxww-xfm5 uv.lock [email protected] (PyPI) is affected by GHSA-9vhv-jxww-xfm5 Dependencies (osv-scanner)
low osv/GHSA-cx28-75q4-x26q uv.lock [email protected] (PyPI) is affected by GHSA-cx28-75q4-x26q Dependencies (osv-scanner)
low osv/GHSA-gx76-c99x-2c96 uv.lock [email protected] (PyPI) is affected by GHSA-gx76-c99x-2c96 Dependencies (osv-scanner)
low osv/GHSA-pw9p-v7r6-gx4p uv.lock [email protected] (PyPI) is affected by GHSA-pw9p-v7r6-gx4p Dependencies (osv-scanner)
low osv/GHSA-qmx5-4p3x-wvqf uv.lock [email protected] (PyPI) is affected by GHSA-qmx5-4p3x-wvqf Dependencies (osv-scanner)

Tools and coverage

Every analyzer that ran on this commit. A failed or skipped tool is a coverage gap: its share of the score is left out and the coverage figure drops.

AnalyzerPillarStatusVersionFindingsNote
AI tool configurationAI provenanceoksignatures-v10
Explicit AI attributionAI provenanceoksignatures-v10
Release velocityAI provenanceskipped—0
Coding styleAI provenanceok—0
Commit velocityAI provenanceokprov-40
Complexity (lizard)Code qualityoklizard 1.25.10
DocumentationCode qualityok—0
Duplication (jscpd)Code qualityokrepotrust-dup-w60
LintCode qualityokopengrep 1.33.1; rules f1d2b562b414200
Tests and CICode qualityok—0
Type safetyCode qualityok—0
CI workflows (zizmor)Securityokzizmor 1.32.053
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.1156
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityok—0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41414
OpenSSF ScorecardSecurityskipped—0no published OpenSSF Scorecard result for this repo
Secrets (gitleaks)Securityokgitleaks 8.30.16

Score history

Scores from different scoring versions aren't directly comparable.

ScoredCommitScoringAI provenanceQualitySecurity
2026-11-1426e86c3f8732prov-5+qual-2+sec-20%7746
2026-11-1426e86c3f8732prov-4+qual-2+sec-20%7746

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/tude-alt/testrun/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/tude-alt/testrun/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/tude-alt/testrun/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/tude-alt/testrun/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/tude-alt/testrun/security.svg)](https://repotrust.synapticcyber.com/r/github.com/tude-alt/testrun/)
Full text report
  • Repository: https://github.com/tude-alt/testrun
  • Commit: 26e86c3f8732b70fe673456bf74108a716ad1863
  • Generated: 2026-11-14T14:52:08+00:00
  • Scorer 0.1.0, scoring prov-5+qual-2+sec-2, report schema v2

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 possible 65% 100%
Code quality 77 adequate 90% 100%
Security 46 poor 85% 100%

AI provenance

Weak signals consistent with AI-assisted development.

  • Explicitly attributed share (lower bound): 0.0%

  • Unattributed share in AI-consistent velocity bursts: 59.5%

  • Estimated AI-generated share: 0.0%

  • AI tooling configured in repo: claude-code, generic-agent

  • Stylometry index: 0.15 per 1,000 lines (narrated steps 0, placeholders 0, assistant phrasing 0, emoji 31). Reported as a signal, not scored.

Month Lines added Attributed to AI
2025-11 395 0%
2025-12 607 0%
2026-01 209 0%
2026-02 4,358 0%
2026-03 2,279 0%
2026-04 6,386 0%
2026-05 69,089 0%
2026-06 13,871 0%
2026-07 61,080 0%
2026-08 82,628 0%
2026-09 146,393 0%
2026-10 1,524 0%

Evidence

  • .github/workflows/claude.yml runs anthropics/claude-code-action (.github/work)
  • 11,098 lines of first-party code in ~3.2h (3,465 lines/hour, 44 commit session) (c3bd3efc04e1)
  • 2,840 lines of first-party code in ~1.0h (2,757 lines/hour, 2 commit session) (f213025f7e8c)
  • 4,287 lines of first-party code in ~1.6h (2,647 lines/hour, 33 commit session) (e12135d87d0c)
  • 6,861 lines of first-party code in ~2.7h (2,511 lines/hour, 30 commit session) (ea1b29a6cc8f)
  • 6,050 lines of first-party code in ~2.4h (2,485 lines/hour, 8 commit session) (d30a9c4ea297)
  • 2,859 lines of first-party code in ~1.4h (2,010 lines/hour, 1 commit session) (2b4690978e1f)
  • 10,811 lines of first-party code in ~5.4h (1,993 lines/hour, 28 commit session) (820b1a701f90)
  • 3,393 lines of first-party code in ~1.7h (1,970 lines/hour, 8 commit session) (6638350ac2bd)
  • 6,915 lines of first-party code in ~4.0h (1,718 lines/hour, 8 commit session) (ff20e5e552ce)
  • 9,665 lines of first-party code in ~5.6h (1,718 lines/hour, 33 commit session) (972e4d6212e5)
  • AGENTS.md (generic-agent configuration) (AGENTS.md)
  • 9,849 lines of first-party code in ~6.0h (1,640 lines/hour, 13 commit session) (a61c53d1c3ae)
  • 6,736 lines of first-party code in ~4.3h (1,572 lines/hour, 7 commit session) (3e484edcc1a4)
  • 2,547 lines of first-party code in ~1.6h (1,545 lines/hour, 2 commit session) (f852f8a53e53)

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is adequate: test-to-source ratio 1.78, CI runs tests; 6% of function code in complex or long functions; 1% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 84
Duplication 92
Code smells (Opengrep) 50
Tests and CI 100
Documentation 65
Type safety 0
Process (Scorecard review/maintenance) n/a
  • Functions: 3,421; mean complexity 4.3, 90th percentile 9; 51 complex and 5 long functions
  • Duplicated lines: 1.4% of 77,650 compared
  • Tests: 182,025 test lines for 102,156 source lines (ratio 1.78); CI test commands: pytest, npm run test; 75% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Most complex functions:

Security

Security posture is poor: 156 known vulnerabilities in 17 dependencies; 10 high-severity SAST findings; 30 high-severity workflow issues. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 82
Static analysis (Opengrep) 97
Vulnerable dependencies (OSV) 6
CI workflows (zizmor) 0
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a
  • Known vulnerabilities: 156 in 17 packages (critical 11, high 81, medium 54, low 9)

  • Posture checks passed: lockfiles; missing: security policy, dependency updates, signed commits

Top findings

Severity Finding Location
critical osv/GHSA-9v8h-qqgm-4m35: [email protected] (PyPI) is affected by PYSEC-2026-4322, GHSA-9v8h-qqgm-4m35 uv.lock
critical osv/GHSA-6q48-6c7w-9gw2: [email protected] (PyPI) is affected by PYSEC-2026-4320, GHSA-6q48-6c7w-9gw2 uv.lock
critical osv/GHSA-p423-j2cm-9vmq: [email protected] (PyPI) is affected by PYSEC-2026-36, GHSA-p423-j2cm-9vmq uv.lock
critical osv/GHSA-7hp6-4w63-5g45: [email protected] (PyPI) is affected by GHSA-7hp6-4w63-5g45 uv.lock
critical osv/GHSA-5x8w-8jj5-q52h: [email protected] (PyPI) is affected by PYSEC-2026-4330, GHSA-5x8w-8jj5-q52h uv.lock
critical osv/GHSA-8g5g-8vmr-9782: [email protected] (PyPI) is affected by PYSEC-2026-4332, GHSA-8g5g-8vmr-9782 uv.lock
critical osv/GHSA-v9pv-5gc8-w2m6: [email protected] (PyPI) is affected by PYSEC-2026-4339, GHSA-v9pv-5gc8-w2m6 uv.lock
critical osv/GHSA-xvh5-g6gv-559v: [email protected] (PyPI) is affected by PYSEC-2026-4363, GHSA-xvh5-g6gv-559v uv.lock
critical osv/GHSA-332p-7hrc-92wf: [email protected] (PyPI) is affected by GHSA-332p-7hrc-92wf uv.lock
critical osv/GHSA-w889-685w-c8fh: [email protected] (PyPI) is affected by GHSA-w889-685w-c8fh uv.lock
critical osv/GHSA-ffc3-869f-jxw9: [email protected] (PyPI) is affected by PYSEC-2026-4145, GHSA-ffc3-869f-jxw9 uv.lock
high opengrep/python.lang.security.audit.dangerous-asyncio-create-exec-audit: Detected 'create_subprocess_exec' function without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] metaculus_bot/ablation/claude_cli.py:86
high opengrep/python.lang.security.use-defused-xml: The Python documentation recommends using defusedxml instead of xml because the native Python xml library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. [confidence low] metaculus_bot/research/fred_rendering.py:22
high opengrep/python.lang.security.use-defused-xml: The Python documentation recommends using defusedxml instead of xml because the native Python xml library is vulnerable to XML External Entity (XXE) attacks. These attacks can leak confidential data and "XML bombs" can cause denial of service. [confidence low] metaculus_bot/research/known_api/backends.py:30
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/backfill_research_from_logs.py:140
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/backfill_research_from_logs.py:158
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/derive_mini_comment_fixture.py:236
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/dispatch_watch.py:206
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/download_run_logs.py:101
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/gha_artifacts.py:134
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] scripts/gha_artifacts.py:254
high osv/GHSA-2g87-pp6c-29x5: [email protected] (PyPI) is affected by GHSA-2g87-pp6c-29x5 uv.lock
high osv/GHSA-5wr8-gcqf-gqf3: [email protected] (PyPI) is affected by GHSA-5wr8-gcqf-gqf3 uv.lock
high osv/GHSA-9xw5-w5jj-pvcg: [email protected] (PyPI) is affected by GHSA-9xw5-w5jj-pvcg uv.lock
high osv/GHSA-g6cj-pr64-35w5: [email protected] (PyPI) is affected by PYSEC-2026-3552, GHSA-g6cj-pr64-35w5 uv.lock

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Distribution signals

  • readme-download-lure: gives an archive password

Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.

Repository profile

  • Source lines: 102,156; test lines: 182,025
Language Lines
Python 283,907
Shell 274