Files
dogfather-universe/workspace/teamlage.html
T
DogFatherGitandClaude Opus 5 5d9c8cd377 Haustrennung: kein Eintrag mehr aus dem anderen Haus
Filipe, 24.09.2026: "wenn ich bei der einen was mache soll nichts bei
der anderen passieren." -- und heute: "ja los".

GEMESSEN, BEVOR ETWAS ANGEFASST WURDE (jedes Brett x beide Adressen x
vier Rollen):

  AGENTUR-Adresse   DogFather  18 Bretter
                    Manager     6 Bretter
                    Creator     6 Bretter
                    Modi        kommt nicht rein (401)
  CREW-Adresse      DogFather  18 Bretter
                    Modi       13 Bretter
                    Manager     kommt nicht rein (401)
                    Creator     kommt nicht rein (401)

Die Anmeldung war also dicht. Durch griff genau EINE Rolle: DogFather.
Er wohnt in beiden Haeusern, und die Riegel in sichtbarEintrag()
fragten nach der ROLLE, nicht nach der Adresse. Auf der Crew-Adresse
stand damit das Brett der Agentur samt Inhalt.

Nachgemessen ist der Durchgriff AELTER als der gestrige Eventkarten-
Umbau -- zweimal gemessen, mit und ohne ihn, gleiches Ergebnis.

RIEGEL 0 in sichtbarEintrag(): Wer auf einer Adresse angemeldet ist,
sieht nur Eintraege dieses Hauses. Er haengt den uebrigen Riegeln
UM, statt in jeden Ausgang geschrieben zu werden -- die Funktion hat
drei Rueckgabepunkte, und der naechste waere sonst wieder offen.

Nachher, dieselbe Messung: DogFather sieht auf der Agenturadresse nur
Agentur-Eintraege, auf der Crew-Adresse nur die des Rudels. Manager,
Creator und Modi unveraendert.

WAS DABEI SCHIEFGING UND WIE ES AUFFIEL

1. Die erste Fassung liess bei `haus IS NULL` den BEREICH entscheiden.
   pruef-haus-trennung.mjs wurde sofort rot: "Lunas Live vom Montag"
   verschwand von der Agenturadresse. `live`, `technik` und
   `community` tragen BEIDES -- die Kacheln von Team Dogi und die
   Creator-Akten. Eine Regel, die jedem Brett genau ein Haus zuweist,
   kann das nicht. Jetzt bleibt ein Eintrag ohne Haus sichtbar: ein
   Eintrag zu viel faellt auf, ein fehlender nicht.

2. Damit NULL kein Dauerloch ist: FUENF von ACHT Stellen, die
   Eintraege anlegen, setzten `haus` gar nicht (workspace-video.js,
   -content.js, -bewerbung.js, -treff.js, -vorlagen.js). Nachgetragen.

3. Und `person.haus` war dafuer der falsche Massstab: Legt DogFather
   ueber die Agenturadresse ein Highlight an, gehoert es trotzdem dem
   Rudel -- sonst sieht die Community es nie. pruef-treff.mjs hat das
   gefunden (2 Fehler). Neu: hausFuerNeuenEintrag() -- bei den sieben
   Brettern des Rudels entscheidet das BRETT, sonst die Adresse.

NEU: pruef-haus-luecke.mjs (12 Pruefungen). Sie sucht die
Einfuege-Stellen im Quelltext und wird rot, sobald eine neunte
dazukommt, die `haus` vergisst -- mit Gegenprobe, dass das Suchmuster
eine solche Stelle auch wirklich erkennt. Ein Kommentar daneben haette
es nicht verhindert; das steht so schon im Projektgedaechtnis.

NEBENBEI: In bereich.js stand seit gestern `|| "Agentur-Events"` als
Rueckfall fuer das Etikett der Vorschau. pruef-treff.mjs verbietet
das zu Recht -- wie ein Brett heisst, haengt am Haus, und der Server
sagt es. Der Rueckfall ist weg; fehlt die Angabe, steht lieber kein
Etikett da als ein falsches.

pruef-treff.mjs nachgezogen (85 -> 86 Pruefungen, nicht weniger): Die
Zusage "DogFather sieht den Beitrag" wird jetzt auf der Crew-Adresse
geprueft, mit Gegenprobe fuer die Agenturadresse.

GEPRUEFT, alle gruen:
  pruef-haus-luecke     12    pruef-haus-trennung  100
  pruef-crew-adresse   169    pruef-treff           86
  pruef-eventkarte      77    pruef-agentur         62
  pruef-haus-seiten     38    pruef-eintrag-bild    24
  pruef-vorlagen        24    pruef-video, -content, -bewerbung,
                              -bereiche-lesend: in Ordnung

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-03 23:33:03 +02:00

99 lines
4.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Dein Team · Spicy &amp; Dogi</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610032333" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610032333" />
<link rel="stylesheet" href="assets/css/gate.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/start.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/team.css?v=202610032333" />
<link rel="stylesheet" href="assets/css/module.css?v=202610032333" />
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
genau diesen Dateinamen auf crew-haus.css um, und die Seite
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
ohne Umfaerben im Browser, ohne Flackern. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202610032333" />
</head>
<!-- `data-buehne` steht hier fest und nicht im Skript: Die Kachel zu
dieser Seite kommt vom Server, `zuSeite()` in bereiche.js findet
sie deshalb nicht -- und ohne Fund griff der Rueckfall, also die
Szene der anderen Marke. Eine Seite mit genau einer Buehne
braucht dafuer kein Skript. -->
<body class="start" data-buehne="eingang">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
<path d="M14.5 5.5 8 12l6.5 6.5" />
</svg>
<span class="zurueck-knopf__text">Zurück</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Creator&nbsp;Workspace</a> · Dein Team</span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt inhalt--breit">
<!-- ==== DER KOPF ================================================
Er sagt, was diese Seite ist UND was sie nicht ist. Der zweite
Teil ist der wichtigere -- dieselbe Ueberlegung steht schon
ueber team.html: Eine Seite mit Zahlen ueber Kollegen wird sonst
als Kontrolle gelesen, und dann arbeitet niemand mehr offen
damit.
"Offen" heisst hier deshalb ausdruecklich: darueber habt ihr
noch nicht geredet. Es ist eine Liste fuer euch beide, keine
Note fuer den anderen. -->
<section class="t-kachel">
<div class="t-kopf">
<div class="t-kopf__text">
<p class="feldschild">Zusammen</p>
<h1 class="t-kopf__titel">Was auf dich wartet</h1>
<p class="t-kopf__unter" id="kopf-unter">…</p>
<p class="t-kopf__grenze">
Was hier steht, ist eine Merkliste für euch beide – keine Bewertung
von Menschen. „Offen“ heißt: darüber habt ihr noch nicht gesprochen.
Eingeschätzt wird dort, wo die Punkte stehen; jede Zahl führt dorthin.
</p>
</div>
</div>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
</section>
<section class="t-lage" id="lage" aria-busy="true"></section>
</main>
<!-- wahl.js VOR kopf.js (nachgetragen 10.09.2026).
kopf.js baut den Sicht-Umschalter; ohne wahl.js sieht er aus wie
ein blankes Browser-Auswahlfeld statt wie der Rest des Hauses.
Kaputt ist dabei nichts -- er funktioniert. Genau deshalb faellt
es niemandem auf, und deshalb prueft pruef-css-klassen die
ABHAENGIGKEIT statt der Optik. Hier hat sie angeschlagen. -->
<script src="assets/js/meldung.js?v=202610032333" defer></script>
<script src="assets/js/nachfrage.js?v=202610032333" defer></script>
<script src="assets/js/wahl.js?v=202610032333" defer></script>
<script src="assets/js/bereiche.js?v=202610032333" defer></script>
<script src="assets/js/installieren.js?v=202610032333" defer></script>
<script src="assets/js/kopf.js?v=202610032333" defer></script>
<script src="assets/js/glocke.js?v=202610032333" defer></script>
<script src="assets/js/holen.js?v=202610032333" defer></script>
<script src="assets/js/teamlage.js?v=202610032333" defer></script>
</body>
</html>