Lucy-Pipeline (S3): Auftragsbuch liest zwei Repos, Annahme baut am PC
Das Auftragsbuch-Gegenstueck fuer Lucy (Abloesungs-Paket S3, PC-Annahme-Weg): - backend/services/auftragsbuch.py: Multi-Repo (mc2 + lucy via ~/lucy-Clone). Karten tragen repo-Feld; Status-Schluessel fuer Lucy = 'lucy:<branch>'; fehlt ~/lucy, werden Lucy-Karten still weggelassen. Runner je Repo. - deploy/lucy-annahme.sh: detached Annahme-Runner fuer Lucy-Karten. Vorpruefung am PC VOR dem Merge (Executor erreichbar, Arbeitskopie main+clean, laeuft Lucy?), dann Merge im isolierten Worktree von ~/lucy -> Push main -> PC zieht ff-only und baut detached (deploy/lucy-annahme.ps1 im Lucy-Repo), Box pollt .lucy-annahme.json und spiegelt Fortschritt auf die Karte. Rot = Merge automatisch revertiert, laufende Lucy bleibt die alte. Executor-Zugang (URL+Token) kommt aus ~/.hermes/config.yaml — kein zweiter Ablageort. Neustart nur, wenn Lucy vorher lief (User-Entscheid). - Router/UI: repo-Parameter (rueckwaertskompatibel, Default mc2), rosa Lucy-Badge, eigener Annahme-Confirm-Text, Diff/Ablehnen je Repo. - werkstatt-SOUL: Lucy-Auftraege ebenfalls propose-only, bauen macht der PC bei der Annahme. - Doku: docs/AUFTRAGSBUCH.md (Lucy-Annahme-Kapitel), docs/wissen/OFFENE-FAEDEN (S2 erledigt, S3-Stand). Geprueft: py_compile gruen, bash -n gruen, tsc+vite build gruen (dist dabei).
This commit is contained in:
+26
-4
@@ -31,7 +31,9 @@ bewiesen; ein Eigenbau hätte all das nur nachgebaut.
|
||||
|
||||
- **Fertige Patches** — Branches auf Gitea (`wartung/*`, `orchestrator/*`, `doku/*`,
|
||||
`feature/*`), wie die Werkstatt und der Orchestrator sie hinterlassen. Die Karte
|
||||
zeigt Commit-Botschaft, geänderte Dateien und den vollen Diff.
|
||||
zeigt Commit-Botschaft, geänderte Dateien und den vollen Diff. Seit S3
|
||||
(lucy-pipeline) aus **zwei Repos**: `mission-control-v2` (Box-Stack) und `lucy`
|
||||
(Desktop-App, rosa „Lucy"-Badge auf der Karte).
|
||||
- **Skill-Kandidaten** — Ideen des nächtlichen Traum-Crons aus dem Wissens-Vault
|
||||
(`~/wissens-vault/skill-kandidaten/`). „Beauftragen" schickt sie als Auftrag an
|
||||
die Werkstatt (Orchestrator-Skill); das Ergebnis kommt als neuer Patch zurück.
|
||||
@@ -50,6 +52,26 @@ Der Lauf ist eine eigene systemd-Unit (detached) — er überlebt den Neustart d
|
||||
Backends, das ihn gestartet hat. Fortschritt steht live auf der Karte
|
||||
(`/srv/models/mc2-auftragsbuch.json`).
|
||||
|
||||
## Was „Annehmen" bei einer LUCY-Karte macht (deploy/lucy-annahme.sh)
|
||||
|
||||
Lucy (Electron) lebt auf dem Windows-PC; ihr `dist` liegt nicht im Repo — die Box
|
||||
kann sie nicht bauen. Der Lucy-Runner spannt darum den PC ein (PC-Executor :7777,
|
||||
Token aus `~/.hermes/config.yaml`):
|
||||
|
||||
1. **Vorprüfung am PC, VOR dem Merge:** Executor erreichbar? Arbeitskopie
|
||||
`F:\Coding Stuff\lucy` auf `main` und sauber? Läuft Lucy gerade? Scheitert etwas,
|
||||
bricht der Lauf ab, ohne irgendetwas zu verändern — der PC muss an sein.
|
||||
2. Merge des Branches im isolierten Worktree von `~/lucy` → Push nach `main`.
|
||||
3. Der PC zieht `main` (ff-only) und startet **detached**
|
||||
`deploy/lucy-annahme.ps1` (liegt im Lucy-Repo): ggf. `npm ci` (nur wenn sich
|
||||
das Lockfile geändert hat) → `tsc --noEmit`-Gate → dist-Backup → `npm run dist`
|
||||
→ Lucy-Neustart **nur, wenn sie vorher lief** (User-Entscheid: Lucy startet
|
||||
nur, wenn der Commander sie will) → Stimme-Health (`:8130`).
|
||||
4. Die Box pollt die PC-Status-Datei (`.lucy-annahme.json`) und spiegelt den
|
||||
Fortschritt live auf die Karte. **Rot ⇒ Merge wird automatisch revertiert**,
|
||||
der PC stellt dist aus dem Backup wieder her — die laufende Lucy bleibt die
|
||||
alte. Grün ⇒ Branch aufgeräumt, Meldung an Telegram + Chronik.
|
||||
|
||||
## Bagatellen ohne Klick (mc2-bagatell.timer, 04:10)
|
||||
|
||||
Einzige Ausnahme vom Klick-Gate (User-Entscheid 10.07.2026, bewusst eng geschnitten):
|
||||
@@ -65,9 +87,9 @@ erweitert nur der Commander, nie das Skript.
|
||||
|
||||
- Propose-only bleibt: **keine Code-Zeile geht ohne Klick live.** Das Gate ist dieses
|
||||
Buch; einzige Ausnahme sind die eng geschnittenen Doku-Bagatellen (oben).
|
||||
- „Frontend ohne Build"-Warnung: die Box kann kein Frontend bauen (kein Node) —
|
||||
enthält ein Branch `frontend/src` ohne frisches `frontend/dist`, bleibt die
|
||||
Oberfläche nach dem Annehmen alt, bis am PC gebaut wird.
|
||||
- „Frontend ohne Build"-Warnung (nur mc2): enthält ein Branch `frontend/src` ohne
|
||||
frisches `frontend/dist`, bleibt die Oberfläche nach dem Annehmen alt, bis am PC
|
||||
gebaut wird. Lucy-Karten brauchen die Warnung nicht — dort baut IMMER der PC.
|
||||
- Ablehnen löscht nur den Remote-Branch; die Historie auf Gitea bleibt.
|
||||
|
||||
Diese Datei kam übrigens selbst über das Auftragsbuch ins Repo — als erste echte
|
||||
|
||||
Reference in New Issue
Block a user