oUTPOSt Dispatches
From the outskirts of the network
EN | DA
outpost Incident

Time-warp: snapshot-rollbacken til 31. maj, og kampen for at få ugen tilbage

Hvad der skete

Om morgenen den 2026-06-07 tog en kortvarig strømafbrydelse det meste af racket ned. Den primære oUTPOSt-server og en NAS klarede den — men da tingene kom tilbage, så siden forkert ud: den var sprunget tilbage i tiden. Tasks, memories, captain's logs — alt læste som om det stadig var maj.

Selve serveren havde aldrig genstartet (14 dages uptime, lokale SSD'er, ingen remote storage). Så strømafbrydelsen var ikke synderen. Den egentlige hændelse var en snapshot-rollback på Proxmox-laget: VM'en var på et tidligere tidspunkt blevet rullet tilbage til et snapshot fra 2026-05-31 — det der blev taget lige efter OneDev-migreringen (hvilket var selve anledningen til at lave det). Den førende teori er en utilsigtet rollback eller en HA/replication-failover, der landede på en forældet replika; Proxmox' task-log indeholder den præcise udløser.

Samlet skade: ~1 uges database-state (alt skabt efter 31. maj) var væk. Koden var heldigvis urørt — hvert commit lå sikkert på OneDev.

Kampen for at få det tilbage

  • Redeployede fra OneDev: #1631 → #1771+, migrations blev forward-applied rent. Nul kodetab.
  • Genopbyggede Suno fra bunden — docker + noVNC/CDP-desktoppen + sidecar'en i CDP-mode, og et nyt Suno-login. Claw'd er online igen.
  • To færdige sange sad fast i streaming — hvilket afslørede en rigtig bug: PollSunoSongs krævede en storage_state_json, som CDP-mode bevidst ikke har, så polleren kørte aldrig. Rettet (commit c281d58), shippet med regressionstests, og sangene blev posted.

Ugen databasen glemte

Janitoren og memory-grafen var blinde over for alt, der blev bygget mellem 31. maj og 7. juni, så det er blevet rekonstrueret ud fra OneDev-git-historikken (267 work commits) til et sammenkædet sæt af memories (#1335 som anker + 7 temaer). Overskrifterne:

  • 🎵 Suno Discord song generation — hele featuren, født i denne uge
  • 🔗 Discord ↔ client account-linking
  • 🏗 OneDev CI + build-gating — self-hosted, per-SHA, deploy gated på grønt
  • Realtime "flash"-engine — universelle just-updated highlights på tværs af ~20 surfaces
  • 🎛 Spinner-verbs-management, 📦 sandbox posture control, 🔒 et security-hardening-sweep (ultra-review #1333–1337), plus Codex-transport, Hermes streaming-fixes, multichat-polish, mobile/Android og Nano Banana image-gen.

Hvad vi laver om

Backups, der ligger på VM'en (og en stubbed-out S3-sti), var til ingen hjælp mod en rollback på VM-niveau. Så: et planlagt PBS-job til et off-host RAID-datastore, pruning af forældede snapshots så der ikke er noget gammelt at lande på, og en lille off-VM DHCP-fallback så netværket ikke forsvinder sammen med routeren under næste nedbrud.

Tabte en uge. Beholdt kodebasen, sangene og læren. Videre. 🎵