https://github.com/VictorBusque/ai-world-cup
· scanned 2026-06-16 00:49 UTC (2 months, 1 week ago)
28 raw signals (0 security + 28 graph)
Last scanned 2 months, 1 week ago · v1 · 26 actionable findings from 1 signal source. 2 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 107 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
getAiClient |
software | healthy | server.ts:getAiClient |
startServer |
software | healthy | server.ts:startServer |
_model_dir |
software | healthy | scripts/predict.py:105 |
_groups_dir |
software | healthy | scripts/predict.py:109 |
_knockout_dir |
software | healthy | scripts/predict.py:115 |
_group_cache_path |
software | healthy | scripts/predict.py:121 |
_chunk_cache_path |
software | healthy | scripts/predict.py:125 |
load_cached_group |
software | healthy | scripts/predict.py:130 |
save_group_cache |
software | healthy | scripts/predict.py:138 |
load_cached_chunk |
software | healthy | scripts/predict.py:143 |
save_chunk_cache |
software | healthy | scripts/predict.py:151 |
compute_group_standings |
software | healthy | scripts/predict.py:378 |
h2h |
software | healthy | scripts/predict.py:409 |
compute_group_info |
software | healthy | scripts/predict.py:432 |
resolve_bracket |
software | healthy | scripts/predict.py:462 |
resolve |
software | healthy | scripts/predict.py:490 |
group_stage_prompt |
software | healthy | scripts/predict.py:520 |
round_prompt |
software | healthy | scripts/predict.py:527 |
standings_text |
software | healthy | scripts/predict.py:550 |
to_output |
software | healthy | scripts/predict.py:585 |
_supports_structured |
software | healthy | scripts/predict.py:604 |
_clean_json |
software | healthy | scripts/predict.py:610 |
predict_batch |
software | dead | scripts/predict.py:622 |
main |
software | healthy | scripts/predict.py:671 |
analyzePredictions |
software | healthy | src/utils.ts:analyzePredictions |
calculateActualStandings |
software | healthy | src/utils.ts:calculateActualStandings |
calculatePredictedStandings |
software | healthy | src/utils.ts:calculatePredictedStandings |
buildTeamByCodeMap |
software | healthy | src/constants.ts:buildTeamByCodeMap |
normalizeTeamName |
software | healthy | src/data.ts:normalizeTeamName |
loadData |
software | healthy | src/data.ts:loadData |
resolveTeam |
software | healthy | src/data.ts:resolveTeam |
parseKickoff |
software | healthy | src/data.ts:parseKickoff |
App |
software | healthy | src/App.tsx:App |
isDuringMatchWindow |
software | healthy | src/App.tsx:isDuringMatchWindow |
pollData |
software | healthy | src/App.tsx:pollData |
buildEvolutionData |
software | healthy | src/components/EvolutionTab.tsx:buildEvolutionData |
PlayoffPredictionsSection |
software | healthy | src/components/ModelDetailModal.tsx:PlayoffPredictionsSecti… |
formatDate |
software | healthy | src/components/MatchesTab.tsx:formatDate |
getPredictionEvaluation |
software | healthy | src/components/MatchesTab.tsx:getPredictionEvaluation |
buildModelBrackets |
software | healthy | src/components/PlayoffsTab.tsx:buildModelBrackets |
PredictedBracketMatch |
software | healthy | src/components/PlayoffsTab.tsx:PredictedBracketMatch |
⚙ cors( |
software | healthy | server.ts |
⚙ express.json( |
software | healthy | server.ts |
⚙ vite.middlewares |
software | healthy | server.ts |
⚙ base |
software | healthy | server.ts |
⚙ express.static(distPath |
software | healthy | server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.ts |
software | healthy | vite.config.ts |
bun.lock |
software | healthy | bun.lock |
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
index.html |
software | healthy | index.html |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
package-lock.json |
software | healthy | package-lock.json |
server.ts |
software | healthy | server.ts |
.env.example |
software | healthy | .env.example |
tsconfig.json |
software | healthy | tsconfig.json |
LICENSE |
software | healthy | LICENSE |
metadata.json |
software | healthy | metadata.json |
SECURITY.md |
software | healthy | SECURITY.md |
predict.py |
software | healthy | scripts/predict.py |
PULL_REQUEST_TEMPLATE.md |
software | healthy | .github/PULL_REQUEST_TEMPLATE.md |
feature_request.md |
software | healthy | .github/ISSUE_TEMPLATE/feature_request.md |
bug_report.md |
software | healthy | .github/ISSUE_TEMPLATE/bug_report.md |
deploy.yml |
software | healthy | .github/workflows/deploy.yml |
index.css |
software | healthy | src/index.css |
utils.ts |
software | healthy | src/utils.ts |
constants.ts |
software | healthy | src/constants.ts |
main.tsx |
software | healthy | src/main.tsx |
data.ts |
software | healthy | src/data.ts |
App.tsx |
software | healthy | src/App.tsx |
types.ts |
software | healthy | src/types.ts |
EvolutionTab.tsx |
software | healthy | src/components/EvolutionTab.tsx |
PredictionsTab.tsx |
software | healthy | src/components/PredictionsTab.tsx |
ModelDetailModal.tsx |
software | healthy | src/components/ModelDetailModal.tsx |
LeaderboardTab.tsx |
software | healthy | src/components/LeaderboardTab.tsx |
MatchesTab.tsx |
software | healthy | src/components/MatchesTab.tsx |
StandingsTab.tsx |
software | healthy | src/components/StandingsTab.tsx |
PlayoffsTab.tsx |
software | healthy | src/components/PlayoffsTab.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
App |
frontend | healthy | src/App.tsx |
React |
frontend | healthy | src/components/EvolutionTab.tsx |
React |
frontend | healthy | src/components/PredictionsTab.tsx |
React |
frontend | healthy | src/components/ModelDetailModal.tsx |
React |
frontend | healthy | src/components/LeaderboardTab.tsx |
React |
frontend | healthy | src/components/MatchesTab.tsx |
React |
frontend | healthy | src/components/StandingsTab.tsx |
React |
frontend | healthy | src/components/PlayoffsTab.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
components |
software | healthy | src/components |
| Label | Layer | Status | Path |
|---|---|---|---|
MatchResult |
software | healthy | scripts/predict.py:83 |
MatchBatch |
software | healthy | scripts/predict.py:94 |
TeamRecord |
software | healthy | scripts/predict.py:367 |
ErrorBoundary |
software | healthy | src/App.tsx:ErrorBoundary |
and |
software | healthy | src/components/MatchesTab.tsx:and |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /api/health |
api | healthy | server.ts |
POST /api/gemini/explain-match |
api | healthy | server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
build |
cicd | healthy | .github/workflows/deploy.yml |
deploy |
cicd | healthy | .github/workflows/deploy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ubfyzhpi |
software | healthy | /tmp/repobility-clone-ubfyzhpi |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3000 |
network | healthy | server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | bun.lock |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::.env.example |
security | healthy | .env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::deploy |
cicd | healthy | .github/workflows/deploy.yml |
This page is publicly accessible at:
https://repobility.com/scan/254398dd-b739-4441-b30f-9fff55f1e0c9/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/254398dd-b739-4441-b30f-9fff55f1e0c9/
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.