Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

yottayoshida/modern-python-guidance

https://github.com/yottayoshida/modern-python-guidance · scanned 2026-06-16 01:07 UTC (2 months, 1 week ago)

43 raw signals (0 security + 43 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 1 week ago · v1 · 38 actionable findings from 1 signal source. 5 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 72.3/100 with 88.9% coverage. It contains 1308 nodes across 1 cross-layer flows, written primarily in mixed languages. Engine surfaced 43 findings — concentrated in software (22), quality (10), cicd (8). Risk profile is low: 0 critical, 0 high, 7 medium. Recommended next step: open the software layer findings first — that's where the highest-impact wins live.

Showing 34 of 38 actionable findings. 43 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

medium System graph cicd CI/CD security conf 1.00 2 occurrences GitHub Action is tag-pinned rather than SHA-pinned
astral-sh/setup-uv@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
2 files, 2 locations
.github/workflows/ci.yml:28
.github/workflows/publish.yml:49
CI/CD securitySupply chainGithub actions
medium System graph cicd CI/CD security conf 1.00 GitHub Actions workflow grants broad write permissions
CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions.
.github/workflows/publish.yml CI/CD securitySupply chainGithub actions
medium System graph security security conf 1.00 Insecure pattern 'subprocess_shell_true' in skills/modern-python-guidance/SKILL.md:55
Found a known-risky pattern (subprocess_shell_true). Review and replace if possible.
skills/modern-python-guidance/SKILL.md:55 Subprocess shell true
medium System graph quality Integrity conf 1.00 Network/subprocess call without timeout or try/except — bench/score_v5.py:216
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 Network/subprocess call without timeout or try/except — scripts/verify_wheel_assets.py:104
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
runtime safetyRobustness
medium System graph quality Integrity conf 1.00 Network/subprocess call without timeout or try/except — src/modern_python_guidance/setup_cmd.py:109
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
runtime safetyRobustness
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 139 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup.
CleanupRepo hardeningGenerated repo pattern
low System graph cicd CI/CD security conf 1.00 5 occurrences GitHub Action is tag-pinned rather than SHA-pinned
actions/setup-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
2 files, 5 locations
.github/workflows/publish.yml:19, 30, 43 (3 hits)
.github/workflows/ci.yml:23, 51 (2 hits)
CI/CD securitySupply chainGithub actions
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `r_old` in tests/test_cli_integration.py:248
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph software Dead code conf 1.00 Possibly dead Python function: batch_crawl
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-outdated/src/crawler.py:27
low System graph software Dead code conf 1.00 Possibly dead Python function: check_FA3
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/score_v5.py:499
low System graph software Dead code conf 1.00 Possibly dead Python function: check_PD3
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/score_v5.py:612
low System graph software Dead code conf 1.00 Possibly dead Python function: check_TC1
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/score_v5.py:877
low System graph software Dead code conf 1.00 Possibly dead Python function: check_TC2
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/score_v5.py:917
low System graph software Dead code conf 1.00 Possibly dead Python function: check_TC5
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/score_v5.py:957
low System graph software Dead code conf 1.00 Possibly dead Python function: crawl
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/crawler.py:6
low System graph software Dead code conf 1.00 Possibly dead Python function: crawl
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-outdated/src/crawler.py:7
low System graph software Dead code conf 1.00 Possibly dead Python function: download_large
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/crawler.py:21
low System graph software Dead code conf 1.00 Possibly dead Python function: fetch_all
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/edge-cases/valid_alt_patterns.py:29
low System graph software Dead code conf 1.00 Possibly dead Python function: is_positive_int
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/utils.py:16
low System graph software Dead code conf 1.00 Possibly dead Python function: is_positive_int
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/edge-cases/opus48_multiline.py:61
low System graph software Dead code conf 1.00 Possibly dead Python function: is_str_list
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/edge-cases/valid_alt_patterns.py:24
low System graph software Dead code conf 1.00 Possibly dead Python function: load_config
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/config.py:18
low System graph software Dead code conf 1.00 Possibly dead Python function: load_config
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-outdated/src/config.py:18
low System graph software Dead code conf 1.00 Possibly dead Python function: merge_defaults
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/utils.py:7
low System graph software Dead code conf 1.00 Possibly dead Python function: parse_log_line
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/scanner.py:25
low System graph software Dead code conf 1.00 Possibly dead Python function: parse_log_line
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-outdated/src/scanner.py:19
low System graph software Dead code conf 1.00 Possibly dead Python function: run_command
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/utils.py:11
low System graph software Dead code conf 1.00 Possibly dead Python function: run_command
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/edge-cases/opus48_multiline.py:12
low System graph software Dead code conf 1.00 Possibly dead Python function: safe_scan
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/variant-a-modern/src/scanner.py:29
low System graph software Dead code conf 1.00 Possibly dead Python function: scan_directory
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
bench/fixtures/edge-cases/opus48_multiline.py:28
low System graph quality Provenance conf 1.00 Shallow git history limits provenance confidence
The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence.
Git historyGenerated repo pattern
low System graph api Wiring conf 1.00 Unused endpoint: GET /users
`bench/fixtures/variant-a-modern/src/app.py` declares `GET /users` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code — consider removing or documenting who consumes it.
Unused endpoint
low System graph quality Complexity conf 1.00 Very large file: bench/score_v5.py (1529 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/5ddea58d-a128-4ab0-9da5-7f2f9762b7ab/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/5ddea58d-a128-4ab0-9da5-7f2f9762b7ab/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.