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
+58 -2
View File
@@ -192,8 +192,64 @@ console.log("=== Was DogFather zu sehen bekommt ===");
`auf workspace. bleibt die Kachelliste die der Datei (${a.ws?.bereiche === null ? "null" : "eigene Liste"})`);
ok(Array.isArray(a.crew?.bereiche) && a.crew.bereiche.length > 0,
`auf crew. schickt der Server eine eigene (${a.crew?.bereiche?.length})`);
ok(aufWs.includes("Rückmeldung"),
"und die Team-Kachel steht dort ebenfalls -- er sieht seine Daten auch dort");
/* HIER STAND DAS GEGENTEIL -- UND DAS IST EINE ENTSCHEIDUNG VON
FILIPE, KEINE KORREKTUR (21.09.2026).
Bis heute verlangte diese Zeile, dass die Team-Kachel
"Rueckmeldung" AUCH auf der Agenturadresse steht: "er sieht seine
Daten auch dort". Gemessen am 21.09. waren es siebzehn solcher
Kacheln -- Dein Team, Ideen-Board, Rueckmeldung, Wer sieht was,
Entwicklung, Werdegang, Talente und der ganze Treff samt
Moderation.
Filipe: "ich will dass du im workspace alles von team dogi weg
nimmst ... 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."
GEPRUEFT WIRD JETZT DIE TRENNUNG, und zwar in beide Richtungen:
Kein Brett von Team Dogi auf der Agenturadresse -- und trotzdem
kein Sackgassen-Ende, denn EINE Tuer bleibt. Eine Tuer ist keine
Mischung: Sie zeigt kein Brett, sie geht hinueber.
WARUM DIE LISTE AUS DER ANTWORT VON crew. KOMMT und nicht hier
steht: Was "Team Dogi" ist, entscheidet der Server. Schriebe ich
die Namen hier ab, waere die Pruefung beim naechsten neuen Brett
blind -- genau die Sorte Abschrift, die heute schon dreimal
gealtert ist. */
const teamNamen = new Set(aufCrew.filter((n) => n !== "Kalender"));
const durchgerutscht = aufWs.filter((n) => teamNamen.has(n));
ok(durchgerutscht.length === 0,
durchgerutscht.length
? `AUF workspace. STEHEN NOCH KACHELN VON TEAM DOGI: ${durchgerutscht.join(", ")}`
: `auf workspace. steht kein einziges Brett von Team Dogi `
+ `(geprueft gegen ${teamNamen.size} Kacheln von crew.)`);
/* DIE ZAHL GEHOERT IN DIE BEDINGUNG. Waere `teamNamen` leer -- weil
crew. nichts liefert oder die Antwort sich aendert --, waere
"nichts durchgerutscht" wahr und wertlos. */
ok(teamNamen.size >= 10,
`crew. liefert ${teamNamen.size} eigene Kacheln, gegen die geprueft wird`);
/* UND DER WEG HINUEBER BLEIBT. Ohne ihn waere von der Agenturseite
aus kein Team Dogi mehr erreichbar -- man muesste die Adresse
tippen. Das ist die Sackgasse, die dieses Haus nicht baut. */
const tuer = (a.ws?.bereiche_zusatz || []).filter((k) => k.aussen);
ok(tuer.length === 1,
tuer.length === 1
? `eine Tuer fuehrt hinueber ("${tuer[0].name}")`
: `ERWARTET WIRD GENAU EINE TUER, gefunden: ${tuer.length}`);
ok(tuer[0]?.ziel?.startsWith("https://"),
`und sie zeigt auf die andere Adresse (${tuer[0]?.ziel || "KEINE"})`);
/* DER KALENDER IST DIE EINE AUSNAHME, die Filipe ausdruecklich
wollte: "nur was ich im kalender eintrage soll ich im workspace
sehen und im team dogi". Er steht deshalb auf BEIDEN Seiten --
und die Termine selbst werden nirgends nach Haus gefiltert,
nachgemessen in workspace-kalender.js. */
ok(aufCrew.includes("Kalender"),
"der Kalender steht auf crew.");
/* Und keine doppelt: bereicheFuer liefert auf crew. schon die
Team-Liste, zusatzBereicheFuer muss dort schweigen. */