- deploy/ampel-ci.yml: sprachneutrale Actions-Ampel (erkennt Python/Node
selbst; Doku-Repo=gruen, Code ohne Tests=ROT)
- gitea-repo-create.sh: pflanzt die Ampel bei JEDER Repo-Anlage ein
(Contents-API, Push-Token, defensiv)
- projektstart-SOUL: drei harte AGENTS-Regeln (Ampel-Pflicht,
Spec-Abweichung=STOPP, Deploy nur via deploy.sh) — rippy-Lehren
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Der Weg von der Box in die IDE endete bisher am Repo: der Commander klont es,
oeffnet Zed/OpenCode — und der Agent weiss nicht, dass hier bereits ein
gehaertetes Konzept liegt. Ohne Anleitung plant er entweder neu (projekt-start
springt an) oder fragt ins Blaue.
- client/ide-skills/projekt-uebernehmen/SKILL.md (Quelle im Repo, installiert
nach ~/.agents/skills/ — dort liegen die uebrigen PC-Skills, OpenCode 1.18
laedt von dort). Ablauf: einlesen (Konzept/Roadmap/Savepoint + git-Stand) ->
3-6 blockierende Fragen MIT Empfehlung -> Etappe-1-Plan -> "los" -> bauen,
Savepoints, live testen. Zwei Abbruch-Faelle: schon Code da (dann Fortsetzung
nach SAVEPOINT) und nur KONZEPT.md ohne ROADMAP (das ist ein geprueftes
Ideen-Repo -> Hinweis auf "Gefaellt mir - Projekt daraus machen").
Modus-Wechsel ist Teil des Skills: lesen/fragen im Planer, bauen im Coder.
- deploy/projektstart-SOUL.md: die von der Box erzeugte AGENTS.md nennt den
Skill jetzt woertlich. AGENTS.md wird automatisch als Kontext geladen — das
ist der zuverlaessige Kanal; auf spontane Skill-Wahl ist bei den lokalen
Modellen kein Verlass (nachgemessen: heavy und coder greifen bei einem vagen
"ich moechte hier loslegen" NICHT von selbst zum Skill).
- ~/.agents/skills/projekt-start/SKILL.md (ausserhalb des Repos) bekam eine
Abgrenzungszeile: nicht nutzen, wenn KONZEPT.md + ROADMAP.md schon liegen.
Sonst plant er ein vorbereitetes Projekt neu.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
‼️ Die Bremse hat den Schaden angerichtet, den sie verhindern soll. Sie signiert
den ERGEBNISTEXT von terminal-Aufrufen; die Bestandsaufnahme in Schritt 0 besteht
aber aus vielen kurzen Schau-Befehlen (ls, cat, git log), deren Ausgaben sich stark
aehneln. Nach dreien blockte sie den naechsten Blick — ausgerechnet `ls /tmp/konzept-*`.
Der Worker las die Block-Meldung als "Verzeichnis existiert nicht", schloss daraus,
das fertige Konzept sei nicht verifizierbar, und warf eine halbe Stunde Arbeit weg
(Karte t_d26c3203, Log: "kein /tmp/konzept-* Verzeichnis gefunden (wegen
No-Progress-Bremse)"). Die Bremse verlangt in ihrem eigenen Text "Diagnose statt
Variation" — und verhinderte genau die.
- _nur_lesend(): rein lesende Befehle (ls/cat/head/find/grep/git status|log|diff|
ls-remote …, keine Umleitung) werden weder gezaehlt noch geblockt. Strukturell
nach Befehls-ART, nicht per Fehlertext-Liste — die Bremse bleibt generisch.
- Block-Meldung sagt jetzt ausdruecklich: "Dein Befehl wurde NICHT ausgefuehrt, das
ist eine Bremse, KEIN Ergebnis — schliesse daraus nichts ueber Existenz oder
Zustand." Ohne diesen Satz liest ein Agent den Block als Befund.
- Schritt 0 (Wiederaufnahme) + FORTSCHRITT.md jetzt auch in werkstatt-SOUL
(Klon/Branch pruefen: liegt der Branch schon auf Gitea -> verifizieren und
abschliessen statt neu bauen) und betrieb-SOUL (vorhandene Messwerte NICHT neu
messen — ein wiederholter Bench laedt 70-GB-Modelle und gefaehrdet Lucys Warm-Set).
- projektstart: FORTSCHRITT.md gehoert ins Workspace-Wurzelverzeichnis, nicht in den
Repo-Klon.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Live-Fall 21.07. (Karte t_d26c3203 "Rippy"): Lauf 1 war praktisch fertig —
Fliessband komplett (Recherche, 3 Rollen x 2 Runden, Haertetest, konzept.md
14,7 KB), Repo Hitonabi/rippy angelegt und gepusht, KONZEPT.md im Klon
geschrieben. Dann Kontext voll, Exit ohne kanban_complete -> "protocol
violation". Es fehlten git add/commit/push und die Uebergabe: zwei Minuten.
Lauf 2 fing komplett von vorne an — neuer Rollen-Cast, neue Kaskade, neuer
/tmp/konzept-*-Ordner —, obwohl Hermes den Abschnitt "Prior attempts on this
task" in den Auftrag schreibt UND der Workspace derselbe ist. Die SOUL hatte
dafuer keinen Platz: sie begann mit "Der Ablauf (genau diese vier Schritte)".
- Neuer Schritt 0 WIEDERAUFNAHME: bei "Prior attempts" erst inventarisieren
(FORTSCHRITT.md, Workspace-Repo inkl. `git status` — uncommittete Dateien
sind fertige Arbeit —, /tmp/konzept-*, `git ls-remote`), dann an der ERSTEN
LUECKE ansetzen. Ein zweiter kompletter Denk-Durchlauf gilt als Fehlschlag.
- Neuer Abschnitt "Fortschritt hinterlassen": eine Zeile je Stufe in
FORTSCHRITT.md im Workspace, SOFORT geschrieben, dazu als Heartbeat-Notiz.
Das unterscheidet einen Kontext-Tod von einem Totalverlust.
- Schritt 2: den vom Vorgaenger vergebenen Repo-Namen weiterbenutzen, sonst
entsteht fuer dieselbe Idee ein zweites Repo.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Die Begruendung zur ls-remote-Regel war eine Fehlannahme von mir: das Repo
`Hitonabi/arm-ui` fehlte nicht wegen eines verpufften Pushes, sondern weil der
Commander es selbst geloescht hat (Konzept ging in die falsche Richtung). Der
Push war echt.
Die Regel selbst bleibt — der Worker hatte seine eigene Pruefung tatsaechlich
uebersprungen und dabei gegen die No-Progress-Bremse argumentiert. Statt der
erfundenen Folge steht jetzt der eigentliche Grund da: nicht wegargumentieren,
der Commander soll "Repo liegt bereit" ohne Nachpruefen glauben koennen.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Nach dem Lesen eines Konzepts gab es bisher nur zwei Wege: "Gefaellt mir" oder
archivieren. Der haeufige Fall fehlte komplett — EIN Punkt passt nicht und der
Commander hat einen besseren Vorschlag.
- POST /api/ideen/nachschaerfen -> konzept_ueberarbeiten(): legt eine neue
Idee-Karte an (kein Bau), verkettet an die Quell-Karte, mit dem Wortlaut der
Rueckmeldung. Auftrag: bestehendes Konzept lesen, genannte Punkte UND deren
Folgewirkungen aendern, Rest stehen lassen, kurzer Haertetest nur auf die
geaenderten Teile. Schafft der Vorschlag ein Problem: einbauen UND die Folge
sichtbar in die Risiken schreiben — nicht uebergehen, nicht schoenreden.
Die neue Fassung geht an DIESELBE Stelle (Repo-Commit bzw. Datei + .bak), so
zeigt "Konzept" ueberall den frischen Stand. Beliebig oft wiederholbar, weil
die Ueberarbeitung selbst wieder eine Idee-Karte ist.
- UI: Rueckmeldefeld direkt unter dem gelesenen Konzept, ueber dem
Gefaellt-mir-Weg (der haeufigere Fall gehoert nach oben und offen sichtbar).
- SOUL: neuer Sonderfall UEBERARBEITUNG (Schritt 2 entfaellt, kein zweites Repo).
Zwei Fehler nebenbei gefunden und behoben:
- _wo_liegt(): der Auftrag verwechselte "Repo bekannt" mit "Konzept kommt aus
dem Repo". Faellt MC2 auf die lokale Datei zurueck, stand vorher "liegt im
Repo als <lokaler Dateiname>" im Auftrag — eine Datei, die es dort nie gab.
- SOUL-Regel 4: der Push gilt erst als erledigt, wenn `git ls-remote` ihn
BEWEIST. Ein Worker hat am 21.07. genau hier abgekuerzt, Erfolg gemeldet, und
das Repo war nachher nicht auffindbar.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drei Luecken, die die neue Idee-Bahn unbrauchbar machten (User-Fund 21.07.):
1. Konzept unsichtbar. Der projektstart-Worker folgte dem Ende des
konzept-fliessband-Skills (Kopie nach ~/konzepte + Telegram) statt seiner
SOUL (Repo + KONZEPT.md) und schloss die Karte ab. Die Konzept-Ansicht sucht
nur in Gitea -> "noch kein Repo hinterlegt", obwohl das Konzept fertig war
(zweimal passiert: arm-ui, pomodoro-timer). konzept_of() faellt jetzt auf
~/konzepte/*.md zurueck (Pfad aus der Abschlussmeldung, sonst ueber den Titel
geraten; streng auf dieses Verzeichnis begrenzt) und nennt die Quelle.
Zusaetzlich sagen SOUL und Skill jetzt ausdruecklich, dass die Skill-Ablage
fuer Kanban-Worker NICHT das Ende ist.
2. Modus nicht erkennbar. Idee und IDE-Projekt trugen dasselbe "IDE"-Abzeichen,
Box-Karten gar keins. list_queue() liefert jetzt `art` (aus dem Body-Marker
AUFTRAGS-ART: IDEE PRUEFEN), die UI zeigt BOX / IDEE / IDE mit Erklaerung —
plus eine immer sichtbare Zeile, wann man welchen Modus nimmt.
3. Idee war eine Sackgasse. Neu: POST /api/ideen/weiterfuehren legt aus einer
fertig durchdachten Idee eine IDE-Projekt-Karte an — verkettet an die Idee,
mit dem fertigen Konzept als Vorlage ("denk es NICHT neu"), Titel aus der
Konzept-Ueberschrift statt aus dem Rohtext. Liegt das Konzept schon in einem
Repo, wird genau dieses weitergenutzt statt ein zweites anzulegen.
In der UI sitzt der Knopf unter dem gelesenen Konzept (Ziel + Aufwand).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fuer echte Software-Ideen (z.B. Game-Server-Management), die weder MC2/Lucy-
Umbau noch schon ein Zed-Projekt sind. Volle Denk-Kaskade mit PRODUKT-Blick
(was, fuer wen, was gibt es schon, kleinster Wurf, was spricht dagegen) statt
Umsetzungs-Blick. Ergebnis: NUR KONZEPT.md — keine Roadmap, kein Geruest, keine
Bau-Aufforderung; der Commander entscheidet danach. Kein Ziel-Schalter (eine
Idee braucht noch keine Plattform). Eigene Farbe (sky), Button 'Durchdenken'.
Nebenbei: projektstart-SOUL.md ist jetzt versioniert + deploy-fest (lag bisher
nur auf der Box).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>