diff --git a/server/pruef-modi-checkliste.mjs b/server/pruef-modi-checkliste.mjs index 625e5a3e..ee8e6c88 100644 --- a/server/pruef-modi-checkliste.mjs +++ b/server/pruef-modi-checkliste.mjs @@ -377,29 +377,68 @@ for (const [name, an, wenigstens] of [ ]) { const a = await hole(an.keks, "/workspace/api/ich"); const zusatz = a.daten?.bereiche_zusatz || []; - /* ZWEI GRUPPEN SIND ERLAUBT, und die Liste steht ausgeschrieben da - (11.09.2026). + /* GEFRAGT WIRD NACH DER KACHEL, NICHT NACH IHRER GRUPPE + (21.09.2026, dritte Fassung). - Hier stand nur "Team Dogi". Seit es "Entwicklung & Nachwuchs" gibt, - waere die Pruefung rot geworden -- und die naheliegende Reparatur - ("prueft eben gar nicht mehr, in welcher Gruppe") haette die - Aussage weggeworfen statt sie nachzuziehen. + DIE BEIDEN VORHERIGEN WAREN LISTEN, UND BEIDE SIND GEALTERT: + zuerst `["Team Dogi"]`, dann `["Team Dogi", "Entwicklung & + Nachwuchs"]`. Daneben stand: "Kommt eine dritte Gruppe, wird diese + Zeile rot. Das ist Absicht." Am 21.09. kam sie -- der Treff -- und + die Pruefung war rot, ohne dass etwas falsch war. - Die Aussage ist: Eine Zusatzkachel darf NICHT in einer Gruppe - landen, die alle sehen. Steht sie in "Taeglich" oder "Rund um den - Creator", sitzt sie zwischen Kacheln, die jeder hat -- und dort - faellt niemandem auf, dass sie nur bei zweien steht. + DER ZWEITE VERSUCH WAR NOCH SCHLECHTER, und das hat nur die + Gegenprobe gezeigt: Ich wollte die verbotenen Gruppen MESSEN statt + sie aufzuzaehlen -- "welche Gruppen sieht ein Creator, welche + Spicy Media?". Nachgemessen sind das in dieser Pruefdatenbank + NULL: Beide haben dort gar keine Kacheln. Die Bedingung waere + damit immer wahr gewesen, und die Pruefung haette ab sofort + geschwiegen. Gefangen hat das allein die Zahl in der Bedingung + (`sehenAlle.size >= 2`) -- ohne sie waere aus einer roten Pruefung + eine gruene geworden, die nichts mehr misst. Das ist der + gefaehrlichere Ausgang von beiden. - Kommt eine dritte Gruppe, wird diese Zeile rot. Das ist Absicht: - Wo Kacheln ueber Menschen stehen, ist etwas Reibung richtig. */ - const ERLAUBTE_GRUPPEN = new Set(["Team Dogi", "Entwicklung & Nachwuchs"]); - const falsch = zusatz.filter((k) => !ERLAUBTE_GRUPPEN.has(k.gruppe)).map((k) => k.name); + WARUM DIE ALTE FRAGE NICHT MEHR PASST: `bereiche_zusatz` hiess + einmal "die eine Kachel, die nur ihr zwei habt". Seit es den Treff + gibt, steht dort fuer DogFather auch der GANZE Treff -- zehn + Kacheln in der Gruppe "Community", die die rechte Hand, die + Moderation und jedes Mitglied ebenfalls sehen. Das ist kein + Mangel, sondern der zweite Haushalt: Fuer ihn ist der Treff eine + Zugabe, fuer sie ist er das Zuhause. + + DIE AUSSAGE, DIE BLEIBT, IST DIE URSPRUENGLICHE: Es muss eine + Kachel geben, die WIRKLICH nur die beiden haben. Genau danach + wird jetzt gefragt -- am ZIEL, nicht an der Gruppe. Das Ziel ist + die Kachel selbst; die Gruppe war immer nur ein Hilfsmerkmal, und + Hilfsmerkmale altern. + + DIE ALTE GRUPPEN-ZEILE STEHT NICHT MEHR DANEBEN. Sie waere jetzt + immer wahr, und eine Zeile, die immer bestaetigt, bestaetigt + nichts -- sie erhoeht nur die Zahl der Pruefungen und den + Eindruck von Sorgfalt. */ + const zieleVon = async (keks) => { + const b = await hole(keks, "/workspace/api/ich"); + return new Set([...(b.daten?.bereiche || []), ...(b.daten?.bereiche_zusatz || [])] + .map((k) => String(k.ziel || "")).filter(Boolean)); + }; + const andere = new Set([ + ...(await zieleVon(modiAn.keks)), + ...(await zieleVon(spicyAn.keks)), + ...(await zieleVon(creatAn.keks)), + ]); + /* DIE ZAHL GEHOERT IN DIE BEDINGUNG. Kaeme hier nichts heraus -- + weil die Auskunft sich aendert oder eine Anmeldung scheitert --, + waere jede Kachel "nur ihre", und die Zeile unten waere fuer alle + gruen. Genau in diese Falle bin ich eine Fassung vorher gelaufen. */ + ok(andere.size >= 3, + `die drei anderen kommen zusammen auf ${andere.size} Kacheln`); + const nurIhr = zusatz.filter((k) => !andere.has(String(k.ziel || ""))).map((k) => k.name); ok(wenigstens ? zusatz.length >= 1 : zusatz.length === 0, `${name.padEnd(12)} bekommt ${zusatz.length} Zusatzkachel(n)` + `, erwartet ${wenigstens ? "mindestens eine" : "keine"}`); - ok(falsch.length === 0, - `${name.padEnd(12)} und alle stehen in einer Gruppe fuer euch beide` - + (falsch.length ? ` -- ausser: ${falsch.join(", ")}` : "")); + ok(wenigstens ? nurIhr.length >= 1 : nurIhr.length === 0, + `${name.padEnd(12)} davon ${nurIhr.length}, die sonst niemand hat` + + (nurIhr.length ? ` (${nurIhr.join(", ")})` : "") + + `, erwartet ${wenigstens ? "mindestens eine" : "keine"}`); }