Keine Mischung mehr -- Team Dogi nur noch bei Team Dogi

Filipe: "ich will dass du im workspace alles von team dogi weg nimmst.
nur was ich im kalender eintrage soll ich im workspace sehen und im
team dogi. aber die kacheln von team dogi soll ich nur bei team dogi
sehen und die von workspace nur bei workspace bitte. ich will keine
mischung mehr von kacheln. wie gesagt nur die der kalender soll
verbunden sein von dogfather sonst nichts."

GEMESSEN, WIE SCHLIMM ES WAR: Auf der Agenturadresse bekam DogFather
0 eigene Kacheln ueber die Schnittstelle und 17 fremde -- Dein Team,
Ideen-Board, Rueckmeldung, Wer sieht was, Entwicklung, Werdegang,
Talente und den ganzen Treff samt Moderation. Zwei Betriebe auf einer
Seite.

Das Bittere daran: Dieselbe Datei hatte den Fehler fuer die ANDERE
Richtung am 10.09. schon erkannt und behoben ("Fuenfundzwanzig
Kacheln, von denen zwei Drittel Creator, Scouts und Agentur betreffen,
waeren dort Fenster in ein Haus, in dem er gerade nicht ist"). Nur
andersherum stand es weiter so.

DIE AUSNAHME BRAUCHTE NICHTS: Nachgemessen filtern die Terminabfragen
in workspace-kalender.js NICHT nach Haus. Was er eintraegt, steht
ohnehin auf beiden Adressen. Die Verbindung, die er will, existierte
schon -- sie musste nur nicht zerschnitten werden.

STATT SIEBZEHN BRETTERN STEHT DORT EINE TUER. Ohne sie waere von der
Agenturadresse aus kein Weg mehr zu Team Dogi sichtbar; er muesste die
Adresse tippen. Das ist die Sorte Sackgasse, die dieses Haus nicht
baut. Eine Tuer ist keine Mischung: Sie zeigt kein Brett, sie geht
hinueber. Und sie kommt vom Server, nur fuer `admin` -- in keiner
ausgelieferten Datei steht sie.

MEIN ERSTER ENTWURF GAB SIE AUCH DER RECHTEN HAND UND DER MODERATION.
pruef-modi-checkliste hat es sofort gemeldet: "Modi bekommt 1
Zusatzkachel(n), erwartet keine". Wer NUR zu Team Dogi gehoert, hat
auf der Agenturadresse nichts zu suchen -- die Tuer waere dort seine
einzige Kachel gewesen, also eine Seite, die aus nichts als einem
Ausgang besteht.

VIER PRUEFUNGEN VERLANGTEN DANACH DIE ALTE WELT. Keine davon war ein
Mangel; alle vier haben am falschen Ort gesucht:

  pruef-haus-trennung  verlangte woertlich, dass die Team-Kachel AUCH
     auf der Agenturadresse steht. Sie prueft jetzt die Trennung in
     beide Richtungen -- kein Brett von Team Dogi drueben, aber die
     eine Tuer -- und leitet die Namen aus der Antwort von crew. ab,
     statt sie abzuschreiben.
  pruef-start-ansicht  zaehlte acht Gruppennamen in fester
     Reihenfolge. Gemeint war eine Ordnung ("die Community steht ganz
     unten, denn dort stehen Namen und Saetze von Zuschauern"), und
     die wird jetzt als Regel geprueft -- bedingt, mit drittem Ausgang
     auf Adressen, wo es diese Gruppen gar nicht gibt.
  pruef-treff und pruef-rueckmeldung fragten ueber die Agenturadresse
     nach Brettern, die dort nicht mehr stehen. Sie fragen jetzt dort,
     wo diese Bretter zuhause sind.

EINE HALBE STUNDE WAERE DABEI FAST VERLOREN GEGANGEN: `fetch` kann den
Host-Kopf nicht setzen -- er ist ein verbotener Kopfzeilenname und
wird STILLSCHWEIGEND verworfen. Die Anmeldung ueber die Crew-Wand
genuegt nicht; jede einzelne Abfrage braucht die Adresse. Deshalb geht
die Messung jetzt ueber http.request, so wie es `anmelden()` in
derselben Datei laengst tut.

pruef-haus-trennung 74/0 · pruef-modi-checkliste 75/0 · pruef-treff
72/0 · pruef-rueckmeldung 30/0 · pruef-start-ansicht 153/0 ·
pruef-haus-seiten 34/0 · pruef-entwicklung 46/0 · pruef-befinden
113/0 · pruef-rechte-umstellen 46/0

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-21 14:00:14 +02:00
co-authored by Claude Opus 5
parent a39d02da5a
commit 8a214ecd0e
42 changed files with 769 additions and 572 deletions
+51 -4
View File
@@ -292,10 +292,57 @@ for (const [breite, wie] of [[1440, "Computer"], [390, "Handy"]]) {
Sortierregel in start.js schiebt ausdruecklich NUR die drei
hinteren ans Ende. Ein erster Versuch schrieb auch die vorderen
fest und hat diese Prueflinie sofort rot gemacht -- zu Recht. */
const ERWARTETE_GRUPPEN = ["Rund um das Team", "Täglich", "Rund um den Creator",
"Team & System", "Team Dogi", "Entwicklung & Nachwuchs", "Moderation", "Community"];
ok(JSON.stringify(r.gruppen.map((g) => g.name)) === JSON.stringify(ERWARTETE_GRUPPEN),
`${ERWARTETE_GRUPPEN.length} Gruppen in dieser Reihenfolge (${r.gruppen.map((g) => g.name).join(" · ")})`);
/* DIE REGEL STATT DER AUFZAEHLUNG (21.09.2026).
Hier standen acht Gruppennamen in fester Reihenfolge. Am
21.09.2026 hat Filipe die Kacheln getrennt -- "ich will keine
mischung mehr von kacheln" --, und auf der Agenturadresse stehen
seitdem fuenf statt acht. Die Zeile war rot, obwohl genau das
Gewuenschte passiert ist.
WAS SIE WIRKLICH SCHUETZEN SOLLTE, steht im Kommentar darueber:
"Die Community steht ganz unten, denn dort stehen Namen und
Saetze von Zuschauern." Das ist eine Aussage ueber die
REIHENFOLGE, nicht ueber den Bestand -- und sie bleibt richtig,
egal wie viele Gruppen es gibt.
GEPRUEFT WIRD SIE DESHALB BEDINGT: Ist die Community da, steht
sie zuletzt. Ist die Moderation da, steht sie direkt davor. Auf
einer Adresse, auf der es beide nicht gibt, misst die Zeile
nichts -- und sagt das auch, statt gruen zu tun. */
const namen = r.gruppen.map((g) => g.name);
ok(namen.length >= 3, `${namen.length} Gruppen (${namen.join(" · ")})`);
const stelle = (n) => namen.indexOf(n);
const community = stelle("Community");
const moderation = stelle("Moderation");
if (community === -1 && moderation === -1) {
/* DRITTER AUSGANG: Auf dieser Adresse gibt es beide nicht. Das ist
kein Befund -- aber auch kein bestandener Test. */
console.log(" -- auf dieser Adresse gibt es weder Community noch Moderation");
} else {
ok(community === -1 || community === namen.length - 1,
community === -1
? "keine Community-Gruppe auf dieser Adresse"
: `die Community steht ganz unten (Platz ${community + 1} von ${namen.length})`);
ok(moderation === -1 || community === -1 || moderation === community - 1,
moderation === -1
? "keine Moderations-Gruppe auf dieser Adresse"
: `die Moderation direkt davor (Platz ${moderation + 1})`);
}
/* UND DIE ARBEIT STEHT VORN. Das ist die andere Haelfte derselben
Aussage: Wer den Arbeitsplatz oeffnet, soll nicht an fremden
Namen vorbeiscrollen, um an seine Aufgaben zu kommen. */
const arbeit = namen.findIndex((n) => n === "Täglich");
ok(arbeit === -1 || community === -1 || arbeit < community,
arbeit === -1
? "keine Gruppe „Täglich“ auf dieser Adresse"
: community === -1
? `die tägliche Arbeit steht auf Platz ${arbeit + 1}; eine Community-Gruppe `
+ "gibt es hier nicht, also ist nichts zu vergleichen"
: `die tägliche Arbeit steht vor der Community (${arbeit + 1} vor ${community + 1})`);
/* WIE VIELE KACHELN? Nicht abgeschrieben, sondern aus bereiche.js
gezaehlt (06.09.2026).