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.

damien-robotsix/robotsix-auto-mail

https://github.com/damien-robotsix/robotsix-auto-mail · scanned 2026-06-17 01:52 UTC (1 month, 1 week ago)

49 raw signals (0 security + 49 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 1 month, 1 week ago · v2 · last Δ -18.1 (diff) · 36 actionable findings from 1 signal source. 13 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 58.6/100 with 77.8% coverage. It contains 1994 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 49 findings — concentrated in quality (24), cicd (14), software (4). Risk profile is high: 0 critical, 4 high, 18 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

Showing 24 of 36 actionable findings. 49 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.

high System graph cicd CI/CD security conf 1.00 4 occurrences GitHub Action tracks a moving branch
damien-robotsix/robotsix-mill/.github/workflows/python-ci.yml@main can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
3 files, 4 locations
.github/workflows/ci.yml:24, 76 (2 hits)
.github/workflows/deps-bump.yml:8
.github/workflows/docs.yml:19
CI/CD securitySupply chainGithub actions
medium System graph quality Integrity conf 1.00 `fetch()` without try/.catch or AbortSignal — src/robotsix_auto_mail/server/static/board-auto-mail.js:234
Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout.
runtime safetyRobustness
medium System graph quality Agent instructions conf 1.00 Agent authority lacks a verifier contract: CLAUDE.md
This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes.
CLAUDE.md VerificationClaude instruction
medium System graph quality Placeholder conf 1.00 Critical user flow still appears backed by mock or placeholder data
A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded.
Mock dataCritical flowGenerated repo pattern
medium System graph cicd CI/CD security conf 1.00 7 occurrences GitHub Action is tag-pinned rather than SHA-pinned
hadolint/[email protected] can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
4 files, 7 locations
.github/workflows/codeql.yml:43, 56, 76 (3 hits)
.github/workflows/ci.yml:43, 55 (2 hits)
.github/workflows/lockfile.yml:29
.github/workflows/release.yml:31
CI/CD securitySupply chainGithub actions
medium System graph cicd CI/CD security conf 1.00 3 occurrences 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.
3 files, 3 locations
.github/workflows/docs.yml
.github/workflows/lockfile.yml
.github/workflows/release.yml
CI/CD securitySupply chainGithub actions
medium System graph security security conf 1.00 Insecure pattern 'direct_innerhtml_assignment' in src/robotsix_auto_mail/server/static/board-auto-mail.js:241
Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible.
src/robotsix_auto_mail/server/static/board-auto-mail.js:241 Direct innerhtml assignment
medium System graph security security conf 1.00 Insecure pattern 'direct_outerhtml_assignment' in src/robotsix_auto_mail/server/static/board-auto-mail.js:245
Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible.
src/robotsix_auto_mail/server/static/board-auto-mail.js:245 Direct outerhtml assignment
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 16 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 hardware Supply chain conf 1.00 2 occurrences Docker base image is tag-pinned but not digest-pinned: python:3.14-slim@${BASE_DIGEST}
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
lines 6, 56
Dockerfile:6, 56 (2 hits)
containersPinned dependencies
low System graph quality Integrity conf 1.00 2 occurrences Near-duplicate function bodies in 2 places
Functions with the same first-5-line body hash: src/robotsix_auto_mail/config/__init__.py:from_env, src/robotsix_auto_mail/config/__init__.py:from_env This is *the* AI-coder failure mode (4× more duplication in vibe-coded repos — see https://jw.hn/ai-code-hygiene). Consolidate or document why they…
2 occurrences
repo-level (2 hits)
duplicatesduplication
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `model_copy` in src/robotsix_auto_mail/config/config_sync_agent.py:219
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 quality Integrity conf 1.00 Old/deprecated-named symbol `model_copy` in src/robotsix_auto_mail/triage/classifier.py:715
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 quality Integrity conf 1.00 Old/deprecated-named symbol `test_migrate_config_converts_mono_and_writes_backup` in tests/cli/test_cli.py:1609
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: do_GET
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
src/robotsix_auto_mail/server/handlers.py:87
low System graph software Dead code conf 1.00 Possibly dead Python function: do_POST
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
src/robotsix_auto_mail/server/handlers.py:117
low System graph software Dead code conf 1.00 Possibly dead Python function: handle_data
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
src/robotsix_auto_mail/format.py:22
low System graph software Dead code conf 1.00 Possibly dead Python function: log_message
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
src/robotsix_auto_mail/server/handlers.py:285
low System graph quality Complexity conf 1.00 Very large file: src/robotsix_auto_mail/config/__init__.py (1429 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/cli/test_cli.py (2996 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/cli/test_cli_config.py (1690 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/imap/test_imap.py (1638 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/server/test_server.py (7425 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: tests/triage/test_triage.py (2846 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/69c4ce2a-13ac-49b7-8476-a4e726f90f2c/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/69c4ce2a-13ac-49b7-8476-a4e726f90f2c/

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.