screen4: Die linke Hand ist ueberall zu sehen -- rechte Hand, linke Hand, Modis
"ich will dass die linke hand auch ueberall zu sehen ist. reihenfolge
immer. rechte hand, dan linke hand und dan modis. perfektionier das
bitte."
DER BEFUND: In workspace-teamlage.js stand
WHERE rolle IN ('hand','modi')
Eine abgeschriebene Rollenliste, und die linke Hand kam darin nicht
vor. Sie fehlte damit nicht nur als KARTE: Der Eingang derselben
Seite sammelt die Rueckmeldungen aus genau dieser Liste. Was sie
meldet, waere nirgends angekommen -- dasselbe, was am 11.09. schon
der rechten Hand passiert ist, an derselben Zeile.
Dieselbe Liste ein zweites Mal in workspace-bereiche.js: Ein Eintrag
im Entwicklungsbereich liess sich ihr nicht zuordnen, mit der Meldung
"Diese Person gehoert nicht zum Team." -- ueber jemanden, der sehr
wohl dazugehoert.
Beide lesen jetzt TEAM_DOGI_ROLLEN, die eine Liste des Hauses
({hand, linke, modi}). Kaeme morgen eine weitere Team-Rolle, waere
sie von selbst dabei.
DIE REIHENFOLGE STIMMTE SCHON. ROLLEN_REIHE nennt hand vor linke vor
modi, ROLLEN_SORTIERUNG leitet daraus das CASE ab. Sie war nur nie zu
sehen, weil eine der drei fehlte.
WARUM DIE PRUEFUNG DAS NICHT GEFUNDEN HAT -- und was daran mein
Fehler war: pruef-teamlage-karten legte eine rechte Hand und fuenf
Modis an, aber KEINE linke Hand. Eine Rolle, die in den Testdaten
nicht vorkommt, kann auch nicht vermisst werden. Sie ist jetzt dabei,
und drei neue Zeilen messen die Reihenfolge gegen ROLLEN_REIHE statt
gegen drei hier hingeschriebene Namen:
hand → linke → modi
"Rechte Hand 1 · Linke Hand 1 · Modi 5"
25 Pruefungen, 0 Fehler.
NEBENBEI: EIN EIGENER MESSFEHLER, DEN ICH RICHTIGSTELLEN MUSS
Auf dem Weg dorthin habe ich behauptet, der linken Hand fehlten
FUENFZEHN Seiten in der Rechtetafel. Das war falsch gemessen: Ich
habe den QUELLTEXT von rechte.js gelesen statt das Verhalten. Die
Tafel leitet seit dem 21.09. ab -- „die linke Hand bekommt die Seiten
der rechten", mit fuenf ausdruecklich begruendeten Ausnahmen
(Personen anlegen, Talente, Bewerbungen, vertraulicher Meldeweg,
Rechtetafel). Ueber `darfSeite` gemessen fehlen ihr genau diese fuenf,
und das ist so gewollt.
Derselbe Fehler wie heute Nacht bei pruef-haus-seiten, wo ich zwei
Listen mit einem regulaeren Ausdruck aus dem Quelltext lesen wollte.
Eine Regel steht im Code; ob sie WIRKT, sagt nur eine Messung.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -93,6 +93,17 @@ function anlegen(name, rolle, code) {
|
||||
|
||||
anlegen("Filipe", "admin", "CODE-DOGI-0001");
|
||||
anlegen("Rieke", "hand", "CODE-HAND-0001");
|
||||
/* DIE LINKE HAND GEHOERT IN DIESE PROBE (23.09.2026).
|
||||
|
||||
Sie fehlte hier -- und deshalb war die Pruefung gruen, waehrend die
|
||||
Seite sie gar nicht anzeigte: `WHERE rolle IN ('hand','modi')` in
|
||||
workspace-teamlage.js. Eine Rolle, die in den Testdaten nicht
|
||||
vorkommt, kann auch nicht vermisst werden.
|
||||
|
||||
Filipe, mit dem Bildschirmfoto: „ich will dass die linke hand auch
|
||||
ueberall zu sehen ist. reihenfolge immer. rechte hand, dan linke
|
||||
hand und dan modis." */
|
||||
anlegen("Lino", "linke", "CODE-LINK-0001");
|
||||
|
||||
/* DIE STUFEN KOMMEN AUS DEM SERVERMODUL, nicht aus einer Liste hier.
|
||||
Genau so bleibt die Pruefung gueltig, wenn morgen eine sechste
|
||||
@@ -191,8 +202,9 @@ if (angekommen !== "/workspace/teamlage.html") {
|
||||
};
|
||||
});
|
||||
|
||||
ok(lage.karten.length === 1 + modis.length,
|
||||
`${lage.karten.length} Karten stehen da (erwartet ${1 + modis.length})`);
|
||||
ok(lage.karten.length === 2 + modis.length,
|
||||
`${lage.karten.length} Karten stehen da (erwartet ${2 + modis.length})`);
|
||||
|
||||
|
||||
/* DIE ROLLE STEHT AUF JEDER KARTE. Ohne das Wort ist die Sortierung
|
||||
unsichtbar -- genau der Befund vom 22.09. */
|
||||
@@ -219,6 +231,21 @@ if (angekommen !== "/workspace/teamlage.html") {
|
||||
`jede Ueberschrift nennt ihre Rolle und ihre Anzahl richtig`
|
||||
+ ` (${lage.gruppen.map((g) => `${g.wort} ${g.zahl}`).join(" · ")})`);
|
||||
|
||||
/* DIE REIHENFOLGE IST DIE AUSSAGE, nicht nur die Gruppierung.
|
||||
Geprueft gegen ROLLEN_REIHE -- die eine Liste des Hauses -- und
|
||||
nicht gegen drei hier hingeschriebene Namen. Wer die Reihenfolge
|
||||
dort aendert, aendert sie hier mit. */
|
||||
{
|
||||
const { ROLLEN_REIHE } = await import("./workspace.js");
|
||||
const erwartet = ROLLEN_REIHE.filter((r) => bloecke.includes(r));
|
||||
ok(bloecke.length === 3,
|
||||
`drei Rollen stehen auf der Seite (${bloecke.join(" → ")})`);
|
||||
ok(JSON.stringify(bloecke) === JSON.stringify(erwartet),
|
||||
`und zwar in der Reihenfolge des Hauses: ${erwartet.join(" → ")}`);
|
||||
ok(bloecke[0] === "hand" && bloecke[1] === "linke",
|
||||
"rechte Hand zuerst, dann die linke -- genau so gewuenscht");
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
2. DIE STUFE STEHT NUR DA, WO ES EINE GIBT
|
||||
=================================================================== */
|
||||
|
||||
@@ -2412,8 +2412,17 @@ bereicheRouter.post("/workspace/api/bereich/:bereich", gleicheHerkunft, (req, re
|
||||
("Zugeordneter Creator existiert nicht" -- die Person existiert
|
||||
sehr wohl, sie ist nur kein Creator). Gefunden von der Pruefung,
|
||||
nicht vom Auge. */
|
||||
/* DIE LINKE HAND GEHOERT DAZU (23.09.2026). Hier stand
|
||||
`rolle IN ('hand','modi')` -- eine zweite abgeschriebene Liste
|
||||
derselben Sorte wie in workspace-teamlage.js. Ein Eintrag im
|
||||
Entwicklungsbereich liess sich der linken Hand nicht zuordnen,
|
||||
und die Meldung dazu lautete „Diese Person gehoert nicht zum
|
||||
Team." -- ueber jemanden, der sehr wohl dazugehoert.
|
||||
|
||||
Abgeleitet aus TEAM_DOGI_ROLLEN, der einen Liste des Hauses. */
|
||||
const teamListe = [...TEAM_DOGI_ROLLEN].map((r) => `'${r}'`).join(", ");
|
||||
const zielRollen = bereich === "entwicklung"
|
||||
? "rolle IN ('hand','modi')"
|
||||
? `rolle IN (${teamListe})`
|
||||
: "rolle = 'creator'";
|
||||
if (aus.creator_id
|
||||
&& !db().prepare(`SELECT 1 FROM personen WHERE id = ? AND ${zielRollen}`)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
import express from "express";
|
||||
import {
|
||||
db, sitzungLesen, istDogFather, fuehrtTeamDogi, heuteLokal, protokolliere, echteIp,
|
||||
ROLLEN_SORTIERUNG,
|
||||
ROLLEN_SORTIERUNG, TEAM_DOGI_ROLLEN,
|
||||
} from "./workspace.js";
|
||||
import { MODI_PUNKTE } from "./workspace-modi-punkte.js";
|
||||
import { checklistenTabellen } from "./workspace-checkliste.js";
|
||||
@@ -229,10 +229,32 @@ teamlageRouter.get("/workspace/api/teamlage", (req, res) => {
|
||||
auch die Personenliste, der Chat und die Rechtetafel benutzen.
|
||||
Eine eigene Reihenfolge hier waere die zweite Wahrheit, und die
|
||||
zweite ist die, die beim naechsten Rollenwechsel abweicht. */
|
||||
/* ==== DIE LINKE HAND GEHOERT DAZU (23.09.2026) ================
|
||||
|
||||
Filipe, mit dem Bildschirmfoto dieser Seite: „ich will dass die
|
||||
linke hand auch ueberall zu sehen ist. reihenfolge immer. rechte
|
||||
hand, dan linke hand und dan modis."
|
||||
|
||||
Hier stand `rolle IN ('hand','modi')` -- eine abgeschriebene
|
||||
Liste, und die linke Hand kam darin nicht vor. Sie fehlte damit
|
||||
nicht nur als Karte: Der Eingang weiter unten sammelt aus
|
||||
genau dieser Liste. Ihre Rueckmeldungen waeren nirgends
|
||||
angekommen -- dasselbe, was am 11.09. schon der rechten Hand
|
||||
passiert ist, an derselben Zeile.
|
||||
|
||||
JETZT AUS DER EINEN LISTE DES HAUSES. `TEAM_DOGI_ROLLEN` ist
|
||||
{hand, linke, modi} und steht in crew-adresse.js. Kaeme morgen
|
||||
eine weitere Team-Rolle, waere sie hier von selbst dabei.
|
||||
|
||||
DIE REIHENFOLGE STIMMTE SCHON: ROLLEN_REIHE nennt hand vor
|
||||
linke vor modi, und ROLLEN_SORTIERUNG leitet daraus das CASE
|
||||
ab. Sie war nur nie zu sehen, weil eine der drei fehlte. */
|
||||
const platzRollen = [...TEAM_DOGI_ROLLEN].map(() => "?").join(", ");
|
||||
const modis = db().prepare(
|
||||
`SELECT id, name, rolle, bild, letzter_login, aktiv, erstellt, stufe FROM personen
|
||||
WHERE rolle IN ('hand','modi') AND id <> ?
|
||||
ORDER BY aktiv DESC, ` + ROLLEN_SORTIERUNG + `, name`).all(zeigt.id);
|
||||
WHERE rolle IN (${platzRollen}) AND id <> ?
|
||||
ORDER BY aktiv DESC, ` + ROLLEN_SORTIERUNG + `, name`)
|
||||
.all(...TEAM_DOGI_ROLLEN, zeigt.id);
|
||||
|
||||
if (!modis.length) {
|
||||
/* `eingang` auch hier -- die Oberflaeche darf nicht raten
|
||||
|
||||
Reference in New Issue
Block a user