# Repo Audit — 2026-05-05 Combined audit of every repo on `git.s8n.ru` (Forgejo, primary host) and `github.com` (mirror destination for migrated repos), plus per-repo file trees and an ownership/anomaly summary. - **Scopes covered:** `s8n-ru` (user, both hosts), `veilor-org` (org, both hosts). - **`racked-team`:** does **not** exist on github.com (`gh` returns "owner handle was not recognized"). User memory references the brand but no GH org with that handle is registered. See Anomalies section. - **Forgejo access:** internal-only via `alpine:3 + curl` on the `proxy` docker network (`http://forgejo:3000`). `https://git.s8n.ru/` is locked by the `no-guest@file` ACL. --- ## 1. Summary | Metric | Count | |---|---| | Total distinct repos | 8 | | Mirrored (Forgejo ↔ GitHub) | 6 | | Forgejo-only | 2 (`veilor-org/veilor-server`, `veilor-org/infra`) | | GitHub-only | 0 | | Empty repos | 1 (`veilor-org/infra` — initial bare on Forgejo) | | Archived | 0 | | Forks | 0 (per migration report; `s8n-ru/x` is detached fork-of-Misskey, treated as standalone) | **By owner:** | Owner | Forgejo repos | GitHub repos | |---|---|---| | `s8n-ru` (user) | 5 | 5 | | `veilor-org` (org) | 3 | 1 | **By primary host:** | Primary host | Repos | |---|---| | `git.s8n.ru` | 8 (all repos that exist on Forgejo) | | `github.com` only | 0 | `git.s8n.ru` is the canonical write side for every migrated repo; GitHub receives sync-on-commit + 8h interval pushes (`sync_on_commit: true`, `interval: "8h0m0s"`). The two Forgejo-only repos (`veilor-server`, `infra`) currently have no GH counterpart — see Anomalies. --- ## 2. Ownership Table Last-commit timestamps are taken from the default branch tip on Forgejo (equal to GitHub for all mirrored repos — SHAs verified identical on 2026-05-06). Sizes are Forgejo-reported KiB unless the repo is GH-only. | Repo | Owner | Visibility | Default | Stars (GH) | Last commit | Size (KiB) | License | Mirror status | Primary host | |---|---|---|---|---|---|---|---|---|---| | `x` | `s8n-ru` | private | `master` | 0 | 2026-05-05 13:46 | 283 674 | AGPL-3.0 | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `minecraft-launcher` | `s8n-ru` | public | `main` | 0 | 2026-05-05 05:26 | 3 644 | GPL-3.0 | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `auth-limbo` | `s8n-ru` | public | `main` | 0 | 2026-05-05 05:09 | 79 | AGPL-3.0 | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `minecraft-server` | `s8n-ru` | private | `main` | 0 | 2026-05-04 18:37 | 383 | AGPL-3.0 | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `8bit-icons` | `s8n-ru` | private | `main` | 0 | 2026-05-01 21:31 | 554 | AGPL-3.0 | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `veilor-os` | `veilor-org` | private | `main` | 0 | 2026-05-06 02:01 | 376 | MIT | git.s8n.ru → github.com (push, 8h, sync_on_commit) | git.s8n.ru | | `veilor-server` | `veilor-org` | public | `main` | n/a | 2026-05-06 04:00 | 54 | none in tree | **no mirror** — Forgejo-only | git.s8n.ru | | `infra` | `veilor-org` | private | `main` | n/a | (empty) | 22 | n/a | **no mirror** — Forgejo-only, currently bare | git.s8n.ru | Notes: - All push-mirrors target `https://github.com//.git`. - Last sync per push-mirror reported `last_error: ""` on both 2026-05-05 (migration run) and 2026-05-06 (this audit run). - "Stars (GH)" is 0 for every repo — these are personal/org-internal projects, not public-marketing items. - License column reflects what GitHub's API picked up; private repos may have a `LICENSE` file in tree without a GH-detected SPDX id (see `s8n-ru/x` and `s8n-ru/8bit-icons` — verified by file presence in tree). --- ## 3. Per-Repo File Trees Two-level trees (root + first level under each top-level dir). Repos with > 500 entries are summarised: top-dirs ranked by entry count, with per-dir totals shown instead of expanding. Listed alphabetically by `/`. ### `s8n-ru/8bit-icons` 131 entries. AMOLED pixel-art icon pack for Android (24×24 monochrome). ``` . ├── .github/ │ ├── ISSUE_TEMPLATE/ │ ├── workflows/ │ └── PULL_REQUEST_TEMPLATE.md ├── android-app/ │ ├── app/ │ ├── gradle/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── assets/ │ ├── png/ │ ├── previews/ │ └── svg/ ├── docs/ │ └── .gitkeep ├── mappings/ │ ├── aliases.json │ ├── appfilter.xml │ └── requests.json ├── scripts/ │ ├── build-appfilter.py │ ├── lint-icons.py │ ├── png-to-svg.py │ ├── svg2png.sh │ └── sync-android.py ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── ROADMAP.md └── STYLE_GUIDE.md ``` ### `s8n-ru/auth-limbo` 32 entries. Paper plugin fixing AuthMe post-login teleport race. ``` . ├── .github/ │ ├── ISSUE_TEMPLATE/ │ └── workflows/ ├── docs/ │ ├── compatibility.md │ ├── configuration.md │ ├── how-it-works.md │ └── installation.md ├── lib/ │ ├── .gitkeep │ └── README.md ├── src/ │ └── main/ ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md └── pom.xml ``` ### `s8n-ru/minecraft-launcher` _Large repo — 1796 entries._ _Top dirs by size:_ `app/` (1529), `libraries/` (154), `program_info/` (32), `cmake/` (22), `docs/` (8), `scripts/` (6), `buildconfig/` (3), `.github/` (2) ``` . ├── .github/ (2 entries) ├── app/ (1529 entries) ├── buildconfig/ (3 entries) ├── cmake/ (22 entries) ├── docs/ (8 entries) ├── libraries/ (154 entries) ├── program_info/ (32 entries) ├── scripts/ (6 entries) ├── tools/ (1 entries) ├── .clang-format ├── .clang-tidy ├── .editorconfig ├── .envrc ├── .git-blame-ignore-revs ├── .gitattributes ├── .gitignore ├── .gitmodules ├── .markdownlint.yaml ├── .markdownlintignore ├── BUILD_AND_DEPLOY_V1.sh ├── BUILD_GUIDE.md ├── CHANGELOG.md ├── CMakeLists.txt ├── CMakePresets.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING.md ├── Containerfile ├── INSTALL_DEPS.sh ├── LICENSE ├── PROJECT_SUMMARY.md ├── README.md ├── README_RELEASE.md ├── RELEASE_CHECKLIST.md ├── default.nix ├── renovate.json ├── shell.nix ├── vcpkg-configuration.json └── vcpkg.json ``` ### `s8n-ru/minecraft-server` 224 entries. racked.ru Minecraft server config + custom plugin (Purpur 1.21.11). ``` . ├── docs/ │ ├── migrations/ │ ├── plugins/ │ ├── BACKUP.md │ ├── DEPLOY.md │ ├── PERMISSIONS.md │ ├── PLUGINS.md │ ├── PLUGIN_ALTERNATIVES.md │ ├── RACKED_BRAND.md │ ├── REBRAND_2026-04-30.md │ └── ROADMAP.md ├── live-server/ │ ├── plugins/ │ ├── .modrinth-manifest.json │ ├── .rcon-cli.env │ ├── .rcon-cli.yaml │ ├── bukkit.yml │ ├── commands.yml │ ├── docker-compose.yml │ ├── eula.txt │ ├── help.yml │ ├── log4j2.xml │ ├── ops.json │ ├── permissions.yml │ ├── pufferfish.yml │ ├── purpur.yml │ ├── server.properties │ ├── spigot.yml │ ├── wepif.yml │ └── whitelist.json ├── scripts/ │ └── backup.sh ├── .gitignore ├── LICENSE ├── MISSION.md ├── README.md ├── RULES.md ├── TELEMETRY_AUDIT.md ├── THANKS.md ├── VIBE.md └── docker-compose.yml ``` ### `s8n-ru/x` _Large repo — 3249 entries._ _Top dirs by size:_ `packages/` (3062), `locales/` (41), `.github/` (35), `scripts/` (19), `cypress/` (11), `assets/` (9), `chart/` (9), `.devcontainer/` (5) Private fork of Misskey, rebranded as Twitter/X for the `x.veilor` silo. Default branch `master` (mid-migration metadata bug fixed 2026-05-05; see migration report). ``` . ├── .config/ (4 entries) ├── .devcontainer/ (5 entries) ├── .github/ (35 entries) ├── .okteto/ (1 entries) ├── .vscode/ (2 entries) ├── assets/ (9 entries) ├── chart/ (9 entries) ├── cypress/ (11 entries) ├── fluent-emojis/ (0 entries) ├── idea/ (4 entries) ├── locales/ (41 entries) ├── packages/ (3062 entries) ├── patches/ (1 entries) ├── scripts/ (19 entries) ├── .dockerignore ├── .dockleignore ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .gitmodules ├── .node-version ├── .npmrc ├── .vsls.json ├── CHANGELOG-X.md ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING ├── Dockerfile ├── LICENSE ├── NOTICE.md ├── Procfile ├── README.md ├── ROADMAP-X.md ├── ROADMAP.md ├── SECURITY.md ├── codecov.yml ├── compose.local-db.yml ├── compose_example.yml ├── crowdin.yml ├── cypress.config.ts ├── healthcheck.sh ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── renovate.json5 ``` ### `veilor-org/infra` Empty repo (no commits). Created 2026-05-06 09:51 BST as the canonical home for nullstone+cobblestone deploys, runbooks, and audits. Local working clone is at `~/ai-lab/_github/infra/` but has no commits and no remote wired up yet. No tree to render. ### `veilor-org/veilor-os` 162 entries. Hardened Fedora KDE remix; primary on Forgejo since 2026-05-06 02:01. ``` . ├── .github/ │ ├── workflows/ │ ├── CODEOWNERS │ └── PULL_REQUEST_TEMPLATE.md ├── assets/ │ ├── branding/ │ ├── fonts/ │ ├── installer/ │ ├── kde/ │ ├── konsole/ │ ├── plymouth/ │ ├── sddm/ │ └── wallpapers/ ├── build/ │ ├── Containerfile │ └── build-iso.sh ├── docs/ │ ├── research/ │ ├── BUILD.md │ ├── CLI.md │ ├── HARDENING.md │ ├── INSTALL.md │ ├── INSTALLER.md │ ├── POWER.md │ ├── ROADMAP.md │ ├── STRATEGY.md │ └── THREAT-MODEL.md ├── kickstart/ │ └── veilor-os.ks ├── overlay/ │ ├── etc/ │ └── usr/ ├── scripts/ │ ├── apparmor/ │ ├── selinux/ │ ├── 10-harden-base.sh │ ├── 20-harden-kernel.sh │ ├── 30-apply-v03-theme.sh │ ├── firstboot.sh │ └── kde-theme-apply.sh ├── test/ │ ├── test-runs/ │ ├── METHOD-CHANGELOG.md │ ├── README.md │ ├── TESTING.md │ ├── auto-install-keymap.sh │ ├── auto-install.sh │ ├── boot-checklist.md │ └── run-vm.sh ├── upstream/ │ ├── fedora-kde-common.ks │ ├── fedora-live-base.ks │ ├── fedora-live-kde-base.ks │ ├── fedora-live-kde.ks │ ├── fedora-live-minimization.ks │ ├── fedora-repo-not-rawhide.ks │ └── fedora-repo.ks ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE └── README.md ``` ### `veilor-org/veilor-server` 7 entries. Hardened-by-default Debian server-install ISO builder. ``` . ├── .gitignore ├── LICENSE ├── README.md ├── build.sh ├── flash.sh ├── post-install.sh └── preseed.cfg.tpl ``` --- ## 4. Anomalies Items the operator should review. ### Forgejo-only repos with no GitHub mirror These will diverge from GH if/when a GH counterpart is created later, and they currently have no off-site mirror at all. Both live in `veilor-org`. | Repo | State | Recommendation | |---|---|---| | `veilor-org/veilor-server` | Public on Forgejo, 7 files (Debian preseed bootstrap), no push-mirror | Mirror to `github.com/veilor-org/veilor-server` to match the `veilor-os` policy (Forgejo primary, GH read-only). Memory entry `project_veilor_server_bootstrap` confirms this is intended sibling to veilor-os. | | `veilor-org/infra` | Private on Forgejo, **empty repo** (no commits, no default branch tip), no push-mirror | Either initial-commit and add a push-mirror to GH, or delete if the canonical infra repo is intended to live elsewhere. Local `~/ai-lab/_github/infra/` has uncommitted content but no `.git/config` remote pointing at this repo. | ### Off-site backup gap All five `s8n-ru/*` repos and `veilor-org/veilor-os` have a healthy push-mirror to GH; the two anomalies above do not. If `git.s8n.ru` (on nullstone) goes down, the two `veilor-org` Forgejo-only repos have **no remote copy**. This is the only off-site-backup gap in the inventory. ### Missing GitHub org `racked-team` CLAUDE.md / user memory references a `racked-team` GH org (separate from `veilor-org`, for the racked.ru Minecraft brand). `gh api` confirms the handle is **not registered** on github.com: "the owner handle 'racked-team' was not recognized as either a GitHub user or an organization". The racked-related repos (`minecraft-launcher`, `minecraft-server`, `auth-limbo`) all live under `s8n-ru/`, not under a brand-scoped org. Either: - the org was never created (memory drift — should be reconciled), or - the org has a different handle (e.g. `racked-ru`, `rackedteam`). `gh api /user/orgs` returns only `veilor-org` for the active token; no other org membership exists for `s8n-ru`. ### Missing/undetected licenses | Repo | Tree has `LICENSE`? | GH SPDX detected | Note | |---|---|---|---| | `s8n-ru/x` | yes (`LICENSE` + `COPYING`) | AGPL-3.0 | OK | | `s8n-ru/8bit-icons` | yes | AGPL-3.0 | OK | | `s8n-ru/minecraft-server` | yes | AGPL-3.0 | OK | | `s8n-ru/auth-limbo` | yes | AGPL-3.0 | OK | | `s8n-ru/minecraft-launcher` | yes | GPL-3.0 | OK | | `veilor-org/veilor-os` | yes | MIT | OK | | `veilor-org/veilor-server` | yes | (no GH copy yet) | Will need GH detection once mirrored. | | `veilor-org/infra` | n/a | n/a | Empty repo. | No undetected-license repos. (All public repos surface the correct SPDX id on GitHub.) ### Default-branch hygiene All repos: default branch matches the active dev branch. The `s8n-ru/x` `master`-vs-`KisaragiEffective-patch-1` drift caught in the previous migration run is still resolved (Forgejo & GH both report `master` at SHA `a2c1ed2…`). ### Archived / dormant No archived repos on either host. No repos with > 30 days since last commit. Latest activity per repo (default branch tip): ``` veilor-org/veilor-server 2026-05-06 04:00 veilor-org/veilor-os 2026-05-06 02:01 s8n-ru/x 2026-05-05 13:46 s8n-ru/minecraft-launcher 2026-05-05 05:26 s8n-ru/auth-limbo 2026-05-05 05:09 s8n-ru/minecraft-server 2026-05-04 18:37 s8n-ru/8bit-icons 2026-05-01 21:31 veilor-org/infra (empty) ``` --- _Generated: 2026-05-05. Verifies state of git.s8n.ru and github.com as of the API responses captured during this run. Push-mirror SHAs verified equal between hosts (`s8n-ru/x` `a2c1ed23…`, `s8n-ru/minecraft-launcher` `ae760edd…`, `s8n-ru/auth-limbo` `b6863806…`, `s8n-ru/minecraft-server` `ede60294…`, `s8n-ru/8bit-icons` `42a3252d…`, `veilor-org/veilor-os` `b40e89a3…`)._