Scan timing: clone 7.13s · analysis 4.23s · 10.5 MB · GitHub API rate-limit (preflight)
https://github.com/Baskerville42/outage-data-ua
· scanned 2026-06-06 00:58 UTC (4 days, 1 hour ago)
· 10 languages
73 raw signals (31 security + 42 graph) 66th percentile · Javascript · tiny (<2K LoC) System graph score 87 (lower by 16)
Last scanned 4 days, 1 hour ago · v2 · 23 actionable findings from 2 signal sources. 29 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
65.0 | 0.15 | 9.75 |
security_score |
82.5 | 0.25 | 20.62 |
testing_score |
70.0 | 0.20 | 14.00 |
documentation_score |
73.7 | 0.15 | 11.05 |
practices_score |
74.0 | 0.15 | 11.10 |
code_quality |
50.0 | 0.10 | 5.00 |
| Overall | 1.00 | 71.5 |
All 105 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 |
|---|---|---|---|
parseArgs |
software | healthy | scripts/parse_fact.js:parseArgs |
readFile |
software | healthy | scripts/parse_fact.js:readFile |
writeFileAtomic |
software | healthy | scripts/parse_fact.js:writeFileAtomic |
isoNow |
software | healthy | scripts/parse_fact.js:isoNow |
sha256 |
software | healthy | scripts/parse_fact.js:sha256 |
extractDisconObject |
software | healthy | scripts/parse_fact.js:extractDisconObject |
tryParseObject |
software | healthy | scripts/parse_fact.js:tryParseObject |
loadExisting |
software | healthy | scripts/parse_fact.js:loadExisting |
loadTemplateBase |
software | healthy | scripts/parse_fact.js:loadTemplateBase |
updateStatusOnError |
software | healthy | scripts/parse_fact.js:updateStatusOnError |
prevAttempt |
software | healthy | scripts/parse_fact.js:prevAttempt |
isObject |
software | healthy | scripts/parse_fact.js:isObject |
pad2 |
software | healthy | scripts/parse_fact.js:pad2 |
tzOffsetMinutes |
software | healthy | scripts/parse_fact.js:tzOffsetMinutes |
zonedTimeToUtc |
software | healthy | scripts/parse_fact.js:zonedTimeToUtc |
formatOffset |
software | healthy | scripts/parse_fact.js:formatOffset |
toKyivIso |
software | healthy | scripts/parse_fact.js:toKyivIso |
extractGroupsWithIso |
software | healthy | scripts/parse_fact.js:extractGroupsWithIso |
buildOutput |
software | healthy | scripts/parse_fact.js:buildOutput |
updateMetaFromExisting |
software | healthy | scripts/parse_fact.js:updateMetaFromExisting |
main |
software | healthy | scripts/parse_fact.js:main |
initThemeFromQuery |
software | healthy | templates/html/schedule-shared.js:initThemeFromQuery |
pickGpvKey |
software | healthy | templates/html/schedule-shared.js:pickGpvKey |
stateIconSrc |
software | healthy | templates/html/schedule-shared.js:stateIconSrc |
stateIconSrcToday |
software | healthy | templates/html/schedule-shared.js:stateIconSrcToday |
parseTimeLabelStartMinutes |
software | healthy | templates/html/schedule-shared.js:parseTimeLabelStartMinutes |
buildStartsMinutesFromPreset |
software | healthy | templates/html/schedule-shared.js:buildStartsMinutesFromPre… |
parseUpdateToMinutes |
software | healthy | templates/html/schedule-shared.js:parseUpdateToMinutes |
parseUpdateToParts |
software | healthy | templates/html/schedule-shared.js:parseUpdateToParts |
compareUpdateParts |
software | healthy | templates/html/schedule-shared.js:compareUpdateParts |
mapMinutesToIndex |
software | healthy | templates/html/schedule-shared.js:mapMinutesToIndex |
highlightColumn |
software | healthy | templates/html/schedule-shared.js:highlightColumn |
loadData |
software | healthy | templates/html/schedule-shared.js:loadData |
formatLastUpdated |
software | healthy | templates/html/schedule-shared.js:formatLastUpdated |
factUpd |
software | healthy | templates/html/schedule-shared.js:factUpd |
presetUpd |
software | healthy | templates/html/schedule-shared.js:presetUpd |
injectLastUpdatedIfPresent |
software | healthy | templates/html/schedule-shared.js:injectLastUpdatedIfPresent |
preferFact |
software | healthy | templates/html/schedule-shared.js:preferFact |
injectMetaIfPresent |
software | healthy | templates/html/schedule-shared.js:injectMetaIfPresent |
injectGroupBadgeIfPresent |
software | healthy | templates/html/schedule-shared.js:injectGroupBadgeIfPresent |
computeTodayWeekdayIdx |
software | healthy | templates/html/schedule-shared.js:computeTodayWeekdayIdx |
buildWeek |
software | healthy | templates/html/schedule-shared.js:buildWeek |
buildToday |
software | healthy | templates/html/schedule-shared.js:buildToday |
renderRow |
software | healthy | templates/html/schedule-shared.js:renderRow |
formatUkDate |
software | healthy | templates/html/schedule-shared.js:formatUkDate |
todayEpoch |
software | healthy | templates/html/schedule-shared.js:todayEpoch |
buildGroups |
software | healthy | templates/html/schedule-shared.js:buildGroups |
epochStr |
software | healthy | templates/html/schedule-shared.js:epochStr |
dayObj |
software | healthy | templates/html/schedule-shared.js:dayObj |
extractGroupNumber |
software | healthy | templates/html/schedule-shared.js:extractGroupNumber |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
package.json |
software | healthy | package.json |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
package-lock.json |
software | healthy | package-lock.json |
SUPPORT.md |
software | healthy | SUPPORT.md |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
SECURITY.md |
software | healthy | SECURITY.md |
parse_fact.js |
software | healthy | scripts/parse_fact.js |
data.json |
software | healthy | templates/json/data.json |
full-template.html |
software | healthy | templates/html/full-template.html |
week-template.html |
software | healthy | templates/html/week-template.html |
emergency-template.html |
software | healthy | templates/html/emergency-template.html |
groups-template.html |
software | healthy | templates/html/groups-template.html |
schedule-shared.js |
software | healthy | templates/html/schedule-shared.js |
summary-item.html |
software | healthy | templates/html/summary-item.html |
schedule-shared.css |
software | healthy | templates/html/schedule-shared.css |
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 |
scheduled.yml |
software | healthy | .github/workflows/scheduled.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
scripts |
software | healthy | scripts |
templates |
software | healthy | templates |
json |
software | healthy | templates/json |
html |
software | healthy | templates/html |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
fetch-and-parse |
cicd | healthy | .github/workflows/scheduled.yml |
render-images |
cicd | healthy | .github/workflows/scheduled.yml |
commit-all |
cicd | healthy | .github/workflows/scheduled.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
REGION_SOURCES_JSON |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-mcjpzhzx |
software | healthy | /tmp/repobility-clone-mcjpzhzx |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::scheduled |
cicd | healthy | .github/workflows/scheduled.yml |
This page is publicly accessible at:
https://repobility.com/scan/168353bb-b770-4fb6-b546-61194933e485/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/168353bb-b770-4fb6-b546-61194933e485/
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.