koopa-admin-log/SYNC.md
2026-09-18 16:31:54 +02:00

7.9 KiB

SYNC.md — must-sync (pull.sh / push.sh)

SoT: Git tip auf ht/Forgejo (hernani/*), nicht grok-all-Pack, nicht ASC-only. Dieses Set: Profile grok + llm (=combo) + hernani. Nicht in diesem Set: taler / admin-logs/taler/ (eigenes Profil). Parties (local crossover): magikoopa · clementine · koopatroopa (plus weitere Hosts unter admin-logs/local/). Meta-Skripte: $HOME/git/pull.sh · $HOME/git/push.sh · $HOME/git/profiles/*.repos

Agents sollen diese Bäume laufend auf dem gleichen Tip halten (pull oft; push nur mit Freigabe).


1. Schnell: was Agents tun

Wann Aktion Freigabe?
Session-Start / Host-Wechsel / „sync“ $HOME/git/pull.sh grok llm hernani nein (read/ff)
Repo fehlt auf Disk gleiches pull.sh (cloned + unlock) nein
Nur Status / Dry-Run $HOME/git/pull.sh --list grok llm hernani bzw. --dry-run … nein
Commits hoch $HOME/git/push.sh grok llm hernani (oder --dry-run) ja Push-Freigabe
Dirty tree committen /g bzw. git-worker — kein Push aus Worker Commit-Freigabe ≠ Push

combollm (Alias). Nie $HOME/git/dot-grok-enc anlegen — Live-SoT ist flat $HOME/.grok.


2. Wenn Git allein nicht reicht

Reines git pull / git clone reicht oft nicht, weil: Profile-DEST, git-crypt, ff-only-Policy, ACCESS_DENIED, retired grok-all.

A) Clone / Update über Profile (bevorzugt)

$HOME/git/pull.sh grok llm hernani
# optional:
$HOME/git/pull.sh --dry-run grok llm hernani
$HOME/git/pull.sh --list grok llm hernani    # zeigt u.a. ACCESS_DENIED
  • Existierendes Repo: fetch + ff-only pull (kein stilles Merge).
  • --force: fetch + reset --hard auf Remote (tracked überschreiben; untracked bleiben). Nur mit Absicht / Freigabe, nie blind auf dirty Work.
  • Kein .git: init + fetch + reset, dann Unlock.

B) git-crypt (*-enc und $HOME/.grok)

Nach erfolgreichem Git-Stand kann der Tree noch Ciphertext sein:

cd "$DEST" && git-crypt unlock
# oder: git-crypt status -e   # noch encrypted?
Symptom Ursache Fix
Dateien sind Blob/binär / git-crypt status zeigt encrypted Key fehlt / nie unlocked git-crypt unlock mit GPG-Key der Collaborators
Unlock schlägt fehl, Tree dirty Unlock überspringt dirty+already-unlocked Policy in pull.sh erst commit/stash/clean klären, dann unlock
Agent liest Müll / leere Secrets Unlock vergessen unlock, dann erneut lesen — nicht raten
„Permission denied“ SSH ht Key/ACL SSH-Agent laden; ACL auf Forgejo — nicht Pfade erfinden

C) Push / Divergenz

$HOME/git/push.sh --dry-run grok llm hernani
$HOME/git/push.sh grok llm hernani   # nur mit Freigabe
Farbe/Lage (push.sh) Bedeutung Agent
GREEN synced / push ok weiter
YELLOW behind / mergeable erst pull.sh (ff); diverged → Human
RED conflict / diverged hard HALT — kein force ohne Freigabe
INFO blue Repo fehlt auf Disk pull.sh clone

D) Explizit verboten / retired

  • grok-all / pack-push / passphrase-Pack — retired. magikoopa-unlock-enc.sh unlock → exit 2.
  • ASC-Board (SYNC-TODO.md.asc) optional; Sync läuft über Git-Tip + diese SYNC.md.
  • taler-Profile hier nicht mitziehen (außer Human sagt explizit taler).
  • Keine Secrets in Klartext-Chat; *enc nur nach unlock lesen.

3. DEST-Übersicht (dieses Set)

Profile grok

DEST Remote (kurz)
$HOME/.grok hernani/dot-grok-enc
$HOME/git/src/_hernani-private/grokd hernani/grokd

Profile llm (= combo)

Alles unter $HOME/git/llm/… laut profiles/llm.repos (configs, knowledge-mirror, work-*-enc, input, control-data-enc, work-logs).

Profile hernani (local crossover — nicht taler)

DEST-Bereich Inhalt
$HOME/git/admin-logs/local/* Host admin-logs + *-secrets-enc (amanita, clementine, firecuda, koopa, koopatroopa, magikoopa, vecigate, …) + hernani-common-secrets-enc
$HOME/git/buerokratie-enc Bürokratie *enc

firefly-Vault-Pfad laut HOSTS: unter shared secrets (admin-secrets-enc/firefly/ bzw. common) — nicht Clem-only Blob; Host-Zeile in $HOME/git/llm/HOSTS.md. SSH Host+Key für firefly braucht Freigabe / ACL, nicht nur Sync-Datei.


4. Dauerbetrieb — Ansätze (llm-controld · grokd · hernanid · …)

Agents halten Tips laufend; dafür gibt es (bzw. sollen) Host-Daemons/ensure-Hooks geben. Nicht verwechseln: Git-Tip-Sync (pull.sh) ≠ Controld-Snapshots ≠ Statusline-Keepalive ≠ Combo-Write-Push.

Name Rolle SoT / Bin Start-Ansatz Freigabe?
llm-controld Fleet/Letter-Probes → status.json (Statusline-Daten) $HOME/git/llm/llm-configs/bin/llm-controld · DATA llm-control-data-enc Mit Tunnel, nicht Boot: Tunnel-Skripte → llm-controld ensure. Nach Unlock ggf. llm-control-data-peel.sh (Doppel-enc). Stats: $HOME/.local/state/llm-controld/ ensure ok; dauerhafte Boot-Units nur mit Freigabe
grokd Grok-Statusline keep-alive (ensure-statusline.sh) $HOME/git/src/_hernani-private/grokd (Profil grok) grokd ensure (auch via ensure-statusline). Optional Scheduler: install-grokd.sh --load — macOS LaunchAgent ai.hernani.grokd; Clementine/Linux user-crontab * * * * * grokd ensure Dateien/--link-local ok; --load braucht Freigabe
hernanid Ansatz / Stub: laufend Tip für Profil hernani (admin-logs/local/*, buerokratie-enc) noch kein festes Bin — Muster wie grokd: hernanid ensure$HOME/git/pull.sh hernani (+ unlock laut §2B) Gleiches Host-Muster: magikoopa LaunchAgent ai.hernani.hernanid; Clementine crontab hernanid ensure. Bis es existiert: Agents/pull.sh hernani manuell bzw. Session-Start Scheduler-Install / --load nur mit Freigabe
combo-git-sync Combo Write-Trees commit+push (OpenPGP+SSH), ≠ Tip-Pull $HOME/git/llm/llm-configs/bin/combo-git-sync.py · LaunchAgent ai.llm-configs.combo-git-sync-hourly install-combo-git-sync-hourly.sh (macOS LaunchAgent / Clem crontab stündlich). Quit-on-conflict → --clear-quit Install/Load + jeder Push-Pfad nur mit Freigabe-Policy der Settings

Agent-Regeln zu Daemons

  1. Vor Arbeit: wenn Controld/Statusline/Grok nötig → llm-controld ensure / grokd ensure (billig, Singleton/flock).
  2. Tip-Sync weiter über pull.sh grok llm hernani — Controld ersetzt das nicht.
  3. Keine neuen LaunchAgents/crontab-Zeilen ohne Freigabe; Soft-Park = Dateien + ensure on-demand.
  4. Clementine (sysvinit): kein systemctl — user crontab wie in den install-*.sh.
  5. hernanid fehlt noch als Binary: nicht erfinden; Ansatz oben dokumentieren / Human+Clem abstimmen; bis dahin Session-pull.sh.

5. Agent-Pflicht (laufend)

  1. Vor Arbeit an diesen Bäumen: Tip prüfen (pull.sh oder git status + behind).
  2. Nach lokalen Commits: Human auf Push ansprechen; kein eigenmächtiger git push.
  3. Bei Ciphertext / fehlendem Unlock: SYNC.md §2B befolgen, nicht Inhalt erfinden.
  4. Neuer technischer Ordner in diesem Set: SYNC.md + AGENTS-Verweis auf SYNC.md mitziehen.
  5. Katalog/Index-Refresh und SSH-Mutationen: nur mit Freigabe.
  6. Dauerbetrieb: §4 — ensure nutzen; Scheduler nur mit Freigabe; hernanid als Ansatz bis Binary da ist.

6. Verweise

  • Profile: $HOME/git/profiles/{grok,llm,combo,hernani}.repos
  • Session Must: $HOME/.grok/AGENTS.md (Freigabe, §7 Git)
  • Hosts: $HOME/git/llm/HOSTS.md
  • grokd docs: $HOME/git/src/_hernani-private/grokd/docs/README.md
  • llm-controld / peel: host skill magikoopa · llm-configs/bin/llm-controld · llm-control-data-peel.sh
  • Diese Datei: neben AGENTS.md in jedem technischen Ordner dieses Sets