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.
3 of your 23 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 2.38s · analysis 2.93s · 4.6 MB · GitHub API rate-limit (preflight)

7LayerLabs/NBAFO

https://github.com/7LayerLabs/NBAFO · scanned 2026-06-16 02:50 UTC (2 months, 1 week ago) · 10 languages

170 raw signals (21 security + 149 graph) 93rd percentile · Javascript · medium (20-100K LoC)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

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

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 55.0 0.15 8.25
security_score 97.0 0.25 24.25
testing_score 85.0 0.20 17.00
documentation_score 0.0 0.15 0.00
practices_score 40.0 0.15 6.00
code_quality 65.2 0.10 6.52
Overall 1.00 62.0
Severity distribution — click a segment to filter
Active filters: severity: info × 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 88.1/100 with 44.4% coverage. It contains 3 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 3 findings — concentrated in quality (1), frontend (1), cicd (1). Risk profile is low: 0 critical, 0 high, 1 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

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

info Security checks quality Quality conf 1.00 [SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes — DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production.
Add `await` before each async call, or chain with `.then`. If you intentionally want fire-and-forget, prefix with `void` (TS) or assign to `_` (Python with `asyncio.create_task`) to make the intent explicit and survive lint.
js/depthchart_ui.js:37
info Security checks quality Practices No CI/CD configuration found
Add a CI/CD pipeline: create .github/workflows/ci.yml for GitHub Actions with steps to lint, test, and build on every push and pull request.
info Security checks quality Documentation No README file found
Create a README.md with: project name and description, installation instructions, usage examples, configuration options, and contribution guidelines.
info Security checks quality Quality conf 1.00 3 occurrences [SEC132] String concat where the language has interpolation (AI style drift): String built by concatenation where the language has cleaner interpolation (Python f-strings since 3.6, JS template literals since ES6). Not a vulnerability on its own, but a style signature of cross-language AI rewrites — the model wrote idiomatic Java/C# and then translated mechanically. When this style appears in only *some* files of a repo, it's a strong indicator of an AI-driven rewrite that needs a human review p
Python: `f"prefix {var} suffix"`. JS/TS: `` `prefix ${var} suffix` ``. Add a lint rule (pyupgrade UP032, eslint prefer-template) so future PRs catch this automatically.
3 files, 3 locations
js/aging.js:149
js/depthchart.js:262
js/recaps.js:79
info Security checks quality Quality conf 1.00 ✓ Repobility 3 occurrences [MINED098] Global Scope Pollution: Attaching libraries/objects directly to the global window scope (e.g., `window.axios = axios;`) makes the code harder to test and increases the risk of naming collisions.
Import the library where you need it instead of attaching to window. For legitimate global registries, use a namespaced object (e.g., `window.__myApp.axios`).
3 files, 3 locations
js/attention.js:179
js/depthchart.js:276
js/recaps.js:226
info System graph quality Git conf 1.00 git log failed — history analysis incomplete
fatal: not a git repository (or any parent up to mount point /data) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Tooling
info System graph frontend Coverage conf 1.00 No frontend routes/components detected
No React/Vue/Next routes were found. This is fine for backend-only repos.
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/382d8d72-ae03-46ab-8583-23d8c77e78d8/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/382d8d72-ae03-46ab-8583-23d8c77e78d8/

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.