Der Treff zieht in Team Dogi ein — die dritte Adresse ist wieder weg

Filipe, nachdem er die dritte Wand gesehen hatte: "das soll keine app
für sich sein, dass soll in der crew seite adaptiert werden, da rein
perfektionniert."

WAS VERSCHWINDET: treff.dogfather-universe.com samt Weiche
(treff-adresse.js), Zugangswand, Manifest und acht Bühnenbildern. Kein
DNS-Eintrag, kein zweiter Caddy-Block, kein zweites App-Symbol.

Die Gründe, die DAFÜR sprachen, stehen jetzt als Kommentar in
crew-adresse.js statt als Code -- sie gelten weiter, und beim nächsten
Mal wird jemand dieselbe Idee haben: eine App je Ursprung, und ein
Schloss mehr zwischen der Community und den Daten der Agentur.

WAS DER VERZICHT KOSTET, benannt statt übersehen:
 · Die Community steht vor derselben Wand wie das Team und liest dort
   die Namen der drei Team-Rollen. Filipes Entscheidung auf die Frage:
   vierte Kachel "Community" statt gar keiner Kacheln.
 · Ein Schloss weniger. Was vorher die Adresse getrennt hat, muss jetzt
   jede einzelne Regel halten -- deshalb prüft pruef-treff-werkzeuge
   seit heute zehn Dinge mehr (70 statt 60).

EINE LÜCKE, DIE DABEI AUFGEFALLEN IST -- und die es schon vorher gab:
Ein Mitglied der Community stand in der Auswahl, wen man zu einem
Termin einlädt, wem man eine Aufgabe gibt und mit wem man einen Chat
anfängt. Für DogFather bedeutet fast jede Liste "alle". Jetzt zu, über
eine Hülle (ohneAussen) um die fünf Listen, die von Zusammenarbeit
handeln -- damit sie auch für die Listen gilt, die es noch nicht gibt.
Die Verwaltungsliste in "Personen & Zugänge" zeigt sie weiterhin, sonst
legt er einen Zugang an und der verschwindet im selben Moment.

DREI BEFUNDE AUS DEN PRÜFUNGEN, wieder keiner vom Lesen:
 · Mein eigener Kommentar auf der Wand nannte eine Rolle der Agentur --
   in einer Datei, die jedes Community-Mitglied im Quelltext liest.
   Zum zweiten Mal an einem Tag, und zum zweiten Mal ausgerechnet in
   einem Kommentar, der erklärt, warum man das nicht tut.
 · Die Prüfung "der Satz nennt die Modis" durchsuchte den QUELLTEXT und
   wäre grün geblieben, obwohl der Satz auf dem Bildschirm längst ein
   anderer ist -- sie fand ihn in einem Kommentar. Sie misst jetzt die
   sichtbare Unterzeile.
 · Der erste Entwurf der Adressregel sperrte die Community auch auf
   localhost aus -- eine Bedingung durch AUSSCHLUSS, zum dritten Mal an
   einem Tag. Jede Zeile nennt jetzt die Adresse, FÜR DIE sie gilt.

Und zwei feste Zahlen weniger: Die Kachelreihe wird nicht mehr gezählt,
sondern beim Namen genannt (admin, hand, modi, gast) -- eine Zahl war
dort schon zweimal rot, ohne dass etwas kaputt war. Der App-Name wird
nicht nur geprüft, sondern der UNTERSCHIED zur Agenturadresse.

Die App heißt auf crew. jetzt "DogFather Universe" statt "Team Dogi" --
sie gehört ab heute beiden (Entscheidung Filipe).

Geprüft: rollen 312 · crew-adresse 132 · kalender 104 · sicht 84 ·
modi-verborgen 80 · chat-kanaele 79 · treff-werkzeuge 70 · haus-trennung
62 · treff 58 · chat 48 · treff-seiten 42 · bereiche-lesend 37 ·
start-ansicht 147 · css-klassen 30 · zwischenspeicher 21 · alle-wege 19 ·
rechtetafel 19 -- alles grün.

Die 58 bei pruef-treff sind elf weniger als gestern: Mit der dritten
Adresse fallen ihre 26 Weichen-Prüfungen weg, ersetzt durch 10 für die
eine Wand plus die neuen in 7b.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-11 18:38:05 +02:00
co-authored by Claude Opus 5
parent 1ebaf8a864
commit 39dd666b17
47 changed files with 856 additions and 987 deletions
+50 -5
View File
@@ -320,7 +320,22 @@ try { mc = JSON.parse(manifestCrew.text); } catch { /* bleibt leer */ }
try { mw = JSON.parse(manifestWs.text); } catch { /* bleibt leer */ }
ok(manifestCrew.status === 200 && manifestWs.status === 200,
"beide Adressen liefern ein Manifest");
ok(mc.name === "Team Dogi", `crew.: die App heisst "Team Dogi" (gelesen: ${mc.name || "?"})`);
/* DER NAME GILT SEIT DEM 11.09.2026 FUER BEIDE (Entscheidung Filipe).
Er hiess "Team Dogi". Seit der Treff hier wohnt, wuerde ein Mitglied
der Community diesen Namen auf seinem Startbildschirm haben -- den
Namen eines Bereichs, zu dem es nicht gehoert. Das Manifest gilt je
ADRESSE und kann sich nicht nach der Rolle richten; also einer, der
fuer beide stimmt.
GEPRUEFT WIRD NICHT NUR DER NAME, SONDERN DER UNTERSCHIED. Ein
fester Name allein waere beim naechsten Umbenennen wieder rot, ohne
dass etwas kaputt ist. Dass die beiden Adressen sich UNTERSCHEIDEN,
ist die Eigenschaft, um die es geht -- sonst waere es eine App. */
ok(mc.name === "DogFather Universe",
`crew.: die App heisst "DogFather Universe" (gelesen: ${mc.name || "?"})`);
ok(mc.name && mw.name && mc.name !== mw.name,
`und anders als auf der Agenturadresse ("${mw.name}")`);
ok(mw.name === "Creator Workspace — Spicy & Dogi",
`workspace.: dort heisst sie unveraendert (gelesen: ${mw.name || "?"})`);
ok(Array.isArray(mc.icons) && mc.icons.length > 0
@@ -367,13 +382,43 @@ ok(/Team&nbsp;Dogi|Team Dogi/.test(wandCrew.text), "crew.: dort steht Team Dogi"
ok(/DogFather/.test(wandCrew.text), "crew.: und DogFather daneben");
ok(!/Spicy/i.test(wandCrew.text), "crew.: von Spicy Media steht dort nichts mehr");
ok(!/Creator/i.test(wandCrew.text), "crew.: und vom Creator Workspace auch nicht");
ok(/die Modis/.test(wandCrew.text), "crew.: der Satz nennt DogFather und die Modis");
/* DER SATZ AUF DER WAND MUSS FUER BEIDE STIMMEN (11.09.2026).
/* Die Kachelreihe ist weg -- auf einer Adresse mit genau einer Sorte
Zugang waere sie eine Bedienhuerde, keine Auswahl. */
Hier stand `/die Modis/` -- und der Satz lautete "Privater Bereich
fuer DogFather und die Modis". Seit die Community durch dieselbe Wand
kommt, liest sie ihn auch, und fuer sie ist er schlicht falsch.
UND DIE ALTE PRUEFUNG WAERE TROTZDEM GRUEN GEBLIEBEN: Sie durchsuchte
den QUELLTEXT, und dort steht "die Modis" weiterhin in einem
Kommentar. Sie haette also bestaetigt, dass ein Satz dasteht, den es
auf dem Bildschirm gar nicht mehr gibt. Gemessen wird deshalb die
sichtbare Unterzeile, nicht die Datei. */
{
const unter = /<p class="unterzeile">([^<]*)<\/p>/.exec(wandCrew.text)?.[1] || "";
ok(/Team\s*Dogi/.test(unter) && /Treff/.test(unter),
`crew.: die Unterzeile nennt Team Dogi und den Treff ("${unter.trim()}")`);
ok(!/Arbeitsbereich/.test(unter),
"und behauptet nicht mehr, das hier sei nur zum Arbeiten");
}
/* DIE KACHELREIHE HAT SEIT DEM 11.09.2026 VIER EINTRAEGE.
Die Geschichte dieser Zeile ist lehrreich und steht deshalb hier:
Erst gab es keine Kachelreihe (eine Sorte Zugang, eine Reihe waere
eine Huerde gewesen). Dann drei ("3 rollen. dogfather. rechte hand
und modis"). Jetzt vier, weil der Treff hier eingezogen ist.
GEPRUEFT WIRD NICHT DIE ZAHL, SONDERN WELCHE. Eine Zahl war schon
zweimal rot, ohne dass etwas kaputt war. Die NAMEN dagegen sagen
etwas: Steht dort eines Tages "manager", ist das ein Befund und kein
Umbau. */
const rollenAufWand = [...wandCrew.text.matchAll(/data-rolle="([a-z]+)"/g)].map((m) => m[1]);
ok(JSON.stringify(rollenAufWand) === JSON.stringify(["admin", "hand", "modi", "gast"]),
`crew.: die vier Kacheln in dieser Reihenfolge (${rollenAufWand.join(", ")})`);
const kachelnCrew = (wandCrew.text.match(/class="rolle"/g) || []).length;
const kachelnWs = (wandWs.text.match(/class="rolle"/g) || []).length;
ok(kachelnCrew === 3, `crew.: drei Rollenkacheln (gezaehlt: ${kachelnCrew})`);
ok(kachelnCrew === rollenAufWand.length,
`crew.: ${kachelnCrew} Rollenkacheln -- so viele, wie es Rollen auf der Wand gibt`);
for (const [rolle, name] of [["admin", "DogFather"], ["hand", "Rechte Hand"], ["modi", "Modi"]]) {
ok(wandCrew.text.includes(`data-rolle="${rolle}"`) && wandCrew.text.includes(`>${name}<`),
`crew.: die Kachel "${name}" steht da`);