infra/repos/REPO-AUDIT-2026-05-05.md
s8n 09d80a63f6 init: nullstone deploys + runbooks + audits
Sourced from previous audits + agent-wave outputs (2026-05-05):
  AUDIT-2026-05-05.md           — 5-agent stack synthesis
  forgejo/DEPLOY.md             — git.s8n.ru deploy runbook
  forgejo/forgejo-compose.yml   — production compose
  forgejo/runner-compose.yml    — forgejo-runner
  forgejo/migration-report-...  — GH→Forgejo migration audit (6/6 green)
  runbooks/MIGRATION-...        — nullstone→cobblestone runbook
  runbooks/DE-DECISION-...      — keep-vs-strip DE on cobblestone
  repos/REPO-AUDIT-2026-05-05.md — repo trees + ownership
2026-05-06 10:02:28 +01:00

486 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
Repo audit — Forgejo (git.s8n.ru) + GitHub (github.com).
Generated: 2026-05-05. Sources: gh CLI for github.com, internal Forgejo
REST API via alpine on the proxy network (no-guest@file blocks the
public host). Source-of-truth for what is migrated:
~/ai-lab/nullstone-server/forgejo/migration-report-2026-05-05.md.
-->
# 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/<owner>/<name>.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
`<owner>/<name>`.
### `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…`)._