feat: slice 3 - wiki, sources and AARs in their neckbeard homes
Gate 4, slice 3: verfahren/, hosts/, vision/ and shared/ moved via git mv - six AARs to docs/aar/ (four harvested by the 2026-08-09 retro, two open), procedures and host knowledge to docs/wiki/ (admin, deployment, architecture, new area vision), the retro protocol and the commit mapping table to docs/sources/ (protokolle/, migration/). New: the wiki index linking every page, and the mirror-topology page carrying the why-two-places reasoning verbatim from the old CLAUDE.md (F-013 preserved). All moved-path references retargeted; the link checker drove the sweep to zero. pruefe_prosa.py added (pattern C+D): SHA citations resolve via repo, mapping table, optional component clones or a curated exemption list (documented dead Gitea-force-push commits, a vendor-repo tag, an Authentik uid that is hex but no git SHA, the external neckbeard reference); wiki task prose without an issue reference errors, with a visible pragma for deliberate checklists; the dead-tracker denylist now covers every mirrored repo's retired Gitea tracker (F-005) - two links re-verified against live GitLab titles and retargeted, five defused into honest historical citations. Verified: validate 0/0, gen_status --check current, drift 0. Demo on the pre-migration state fires 6 findings (3 orphaned SHAs, 3 task blocks); on the current tree exactly the 3 F-004 task blocks remain - they turn green in slice 4 when the issues exist, which is why pruefe_prosa joins CI only then. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
70e81e2ff1
commit
92b448fe30
@@ -1,47 +0,0 @@
|
||||
# Issue-Migration Gitea → GitLab (gitops#48)
|
||||
|
||||
`migrate.py` überführt Issues (offen **und** geschlossen, inkl. Kommentare)
|
||||
eines Gitea-Repos in ein bestehendes GitLab-Projekt. Einmal-Werkzeug für den
|
||||
#48-Cutover; hier versioniert wegen Reproduzierbarkeit.
|
||||
|
||||
## Eigenschaften
|
||||
|
||||
- **Dry-Run per Default**, `--execute` schreibt wirklich
|
||||
- **Idempotent** über Marker `<!-- gitea-migration: OWNER/REPO#N -->` in der
|
||||
Ziel-Beschreibung — Wiederholungsläufe überspringen Migriertes
|
||||
- **Zeitstempel bleiben erhalten** (Admin-Token darf `created_at` setzen);
|
||||
Autorschaft läuft auf den Token-User, Original-Autor+Datum stehen im
|
||||
Migrations-Fußtext bzw. Kommentar-Präfix (bekannter, akzeptierter Verlust)
|
||||
- Labels namensgleich (Gruppen-Labels müssen vorher existieren — Stand
|
||||
2026-08-01 sind die 9 Gitea-Labels + 5 `host:*` als Gruppe-13-Labels angelegt)
|
||||
- PRs werden ausgefiltert, geschlossene Issues nach Anlage geschlossen
|
||||
|
||||
## Aufruf
|
||||
|
||||
```
|
||||
python3 migrate.py sorb/<repo> <gitlab-projekt-id> # Dry-Run
|
||||
python3 migrate.py sorb/<repo> <gitlab-projekt-id> --execute
|
||||
```
|
||||
|
||||
Tokens: `~/.config/gitea-rohana/token` (read:issue) und
|
||||
`~/.config/gitlab-lab/token` (Admin) auf dem Mac.
|
||||
|
||||
## Stand
|
||||
|
||||
| Repo | Ziel | Status |
|
||||
|---|---|---|
|
||||
| sorb/thread-net-git | Projekt 18 | ✅ 2026-08-01 (1 Issue, nummerngleich) |
|
||||
| sorb/threadnet-call | Projekt 19 | ✅ 2026-08-01 (2 Issues, nummerngleich) |
|
||||
| sorb/ThreadNet-Web | Projekt 16 | ✅ 2026-08-01 (9 Issues, nummerngleich) |
|
||||
| sorb/axion1337.chat-gitops | Projekt 17 | ✅ 2026-08-01 (50 Issues, **Nummern verschoben**) |
|
||||
|
||||
⚠️ **gitops-Nummern sind NICHT deckungsgleich**: Gitea hatte Lücken (PRs zählen
|
||||
mit), GitLab vergibt lückenlos — z. B. Gitea#48 → GitLab#46, Gitea#51 → GitLab#49,
|
||||
Gitea#52 → GitLab#50. Die verbindliche Zuordnung steht im Migrations-Fußtext
|
||||
jedes GitLab-Issues (`Migriert aus Gitea …#N`); alte Commit-/Doku-Verweise auf
|
||||
„gitops#N" meinen die **Gitea**-Nummer.
|
||||
|
||||
**Cutover-Nachschritte** (siehe gitops#48): Gitea-Issues schließen/als migriert
|
||||
markieren ✅ 2026-08-01, Doku-Verweise umgebogen (CLAUDE.md-Topologieregel) ✅,
|
||||
Milestones wurden nicht migriert (akzeptierter Verlust, gitops hatte keine
|
||||
aktiven), Bot-/Token-Workflows (claude-issues → GitLab-Äquivalent) offen.
|
||||
Reference in New Issue
Block a user