Filipe: "dan will ich dass die rechte hand auch neue personen hinzufuegen kann. also neue erstellen kann und die codes genau so sieht wie dogfather, damit sie das auch machen kann wenn er live ist." WAS SIE DARF: Modis und Community anlegen, und deren Codes neu setzen. Die Liste ist ABGELEITET aus ROLLEN_ZUM_AENDERN -- dieselben zwei Rollen, die sie ohnehin vergeben darf. Zwei Listen waeren zwei Gelegenheiten, eine davon zu aendern und die andere zu vergessen. WAS SIE NICHT DARF: eine zweite rechte Hand, eine linke Hand oder einen zweiten DogFather anlegen -- und an einer linken Hand auch nichts aendern. Ohne die zweite Schranke haette sie den Code einer linken Hand neu setzen koennen und damit einen Zugang in der Hand, der fast so viel darf wie sie selbst. Die alte Schranke kannte nur "admin" und "manager". NUR DIE RECHTE, NICHT DIE LINKE. `istHand()` haette beide getroffen; fuer die linke Hand ist "legt niemanden an" eine ausdrueckliche Entscheidung vom 21.09. VIER STELLEN IN DER OBERFLAECHE, die alle an Rollennamen hingen: `nurLesen = ich.rolle === 'hand'` -- sie bekam die Liste und kein Formular. Jetzt abgeleitet aus `darf_anlegen`. Die Wache darueber warf sie auf die Startseite, sobald `nurLesen` falsch wurde. Die Seite ging fuer sie einfach nicht auf, ohne Meldung. Der Sendeweg hing an `ich.rolle === 'admin'`. Fuer sie gab es damit GAR KEINEN: Die Seite antwortete "Fuer die Rolle modi gibt es hier keinen Weg" -- ein Satz, der wie ein Formularfehler klingt und eine fehlende Zeile war. UND EIN ECHTER FUND: `rollenwahlErgaenzen()` hing jede Zusatzrolle an das Formular, die mit der Personenliste kam -- ohne zu fragen, ob man sie anlegen darf. Solange nur DogFather das Formular sah, fiel es nicht auf: Er darf sie alle. Der rechten Hand bot es "rechte Hand" und "linke Hand" an. Der Server haette es abgelehnt -- aber der Knopf verriet eine Rolle, die sie nicht vergeben soll. Zwei Pruefungen waren dabei selbst kaputt: pruef-personen-formular erwartete sieben Rollen (seit "linke" am 21.09. sind es acht) und suchte den Namen im sichtbaren Text -- die Abschnitte sind zugeklappt und zeigen nur Anfangsbuchstaben. Beides abgeleitet statt gezaehlt. Geprueft: pruef-personen-formular 43/0 (war 34 ok / 2 FEHL), davon neun am echten Bildschirm auf der Crew-Adresse -- anmelden, Formular oeffnen, anlegen, Code lesen, Person in der Liste wiederfinden. pruef-haus-trennung 81/0 (war 72 ok / 2 FEHL), pruef-rollen-anlegen 11/0.
173 lines
7.8 KiB
HTML
173 lines
7.8 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Wie geht's dir? · Spicy & 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=202609220139" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/entwicklung.css?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609220139" />
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220139" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<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">Team Dogi</a> · Wie geht's dir?</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">
|
||
|
||
<!-- ==================================================================
|
||
DIESE SEITE GEHÖRT DEM MENSCHEN, DER SIE ÖFFNET.
|
||
|
||
Hier steht kein anderer Name, keine Beobachtung über jemanden und
|
||
keine Zahl, die jemand anders sieht. Genau das war der Grund für
|
||
die eigene Seite: Die Kachel verspricht „die Antworten sieht nur
|
||
du" – und führte vorher auf eine Seite voller anderer Leute.
|
||
|
||
Was DogFather sieht, ist eine einzige Zahl ohne Namen: wie viele
|
||
im Team es gerade schwer haben. Nicht wer, nicht womit.
|
||
============================================================== -->
|
||
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Für dich</p>
|
||
<h1 class="titel">Wie geht's dir?</h1>
|
||
<!-- ================================================================
|
||
DIE EINE AUSNAHME GEHÖRT DAZU (ergänzt 19.09.2026).
|
||
|
||
Hier stand: „Niemand aus dem Team sieht deine Antworten – auch
|
||
DogFather nicht." Punkt. Das ist fast wahr und deshalb
|
||
gefährlich: Aus denselben Antworten entsteht eine Ampel für die
|
||
Leitung (workspace-entwicklung.js). Sie ist sauber gebaut – sie
|
||
nennt keine Namen, keinen Punkt, kein Datum, und unter drei
|
||
Personen schweigt sie ganz. Aber sie existiert.
|
||
|
||
Der ehrliche Satz war längst geschrieben und wurde vom Server
|
||
sogar mitgeliefert (`block.text`) – nur hat ihn nie jemand
|
||
angezeigt. Er steht jetzt hier im HTML und nicht im Skript:
|
||
Wer diese Seite öffnet, soll ihn lesen, BEVOR er tippt, nicht
|
||
nachdem ein Abruf zurückgekommen ist.
|
||
|
||
Wenn jemand später davon erfährt und die Seite hatte „niemand"
|
||
gesagt, ist das Vertrauen weg – und mit ihm die ganze Funktion.
|
||
============================================================= -->
|
||
<p class="unterzeile">
|
||
Ein paar Fragen über dich. Deine Antworten liest niemand – auch
|
||
DogFather nicht.
|
||
</p>
|
||
<p class="unterzeile unterzeile--zusatz">
|
||
Das Einzige, was nach außen dringt: ob es im Team gerade
|
||
<em>jemandem</em> zu viel ist. Ohne Namen, ohne Frage, ohne Datum –
|
||
und erst ab drei Personen im Team, weil es darunter dasselbe wäre
|
||
wie ein Name.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- Der Rhythmus. Steht VOR den Fragen: Wer hereinkommt, soll zuerst
|
||
wissen, ob gerade etwas von ihm erwartet wird. -->
|
||
<section class="b-takt" id="takt" hidden>
|
||
<p class="b-takt__satz" id="takt-satz">…</p>
|
||
<button type="button" class="knopf knopf--klein" id="takt-knopf" hidden>Runde abschließen</button>
|
||
</section>
|
||
|
||
<section id="fragen-block">
|
||
<div id="fragen" aria-busy="true"><p class="leise">wird geladen …</p></div>
|
||
</section>
|
||
|
||
<!-- ===================================================================
|
||
DIE EINE ZUSAMMENFASSUNG (20.09.2026)
|
||
|
||
Filipe: „am ende von allen fragen will ich eine gesamte
|
||
zusammenfassung, nicht bei jeder frage oder kategorie eine,
|
||
sondern EINE gesamte am ende. eine motivierende zusammenfassung
|
||
für die person."
|
||
|
||
SIE STEHT DIREKT UNTER DEN FRAGEN und über dem Verlauf. Das ist
|
||
Absicht: Sie handelt von dem, was man gerade angetippt hat —
|
||
Verlauf und Musteranalyse handeln von den Runden davor und
|
||
brauchen mindestens zwei. Diese hier gibt es beim ersten Mal.
|
||
|
||
GERECHNET HAT SIE DER SERVER (workspace-befinden-resuemee.js).
|
||
Dort steht auch, warum hier bewusst KEINE KI hängt: Das sind
|
||
Gesundheitsdaten, ein Sprachmodell erfindet, und ein fremder
|
||
Dienst fällt aus. Alle drei Gründe reichen einzeln.
|
||
=================================================================== -->
|
||
<section class="b-fazit" id="fazit-block" hidden aria-live="polite">
|
||
<h2 class="e-abschnitt">Was das zusammen heißt</h2>
|
||
<p class="b-fazit__kopf" id="fazit-kopf"></p>
|
||
<div class="b-fazit__traegt" id="fazit-traegt" hidden>
|
||
<p class="b-fazit__schild">Das trägt gerade</p>
|
||
<ul class="b-fazit__liste" id="fazit-traegt-liste"></ul>
|
||
</div>
|
||
<p class="b-fazit__thema" id="fazit-thema" hidden></p>
|
||
<p class="b-fazit__schluss" id="fazit-schluss"></p>
|
||
<p class="b-fazit__zahlen leise" id="fazit-zahlen"></p>
|
||
</section>
|
||
|
||
<!-- Der Verlauf. Nur für die Person selbst – er wird nirgends sonst
|
||
im Haus gelesen. Er steht unter den Fragen, weil er sie erklärt
|
||
und nicht ersetzt. -->
|
||
<section class="b-verlauf" id="verlauf-block" hidden>
|
||
<h2 class="e-abschnitt">Wie es sich entwickelt</h2>
|
||
<p class="b-verlauf__satz" id="verlauf-satz">…</p>
|
||
<div id="verlauf" class="b-verlauf__gitter"></div>
|
||
</section>
|
||
|
||
<!-- ==================================================================
|
||
WAS DEIN VERLAUF SAGT (15.09.2026)
|
||
|
||
Filipe: „mach mir auch eine analyse […] eine professionelle auch
|
||
mit infos und so aus aller welt was tiktok angeht."
|
||
|
||
Sie steht UNTER dem Verlauf: erst die Antworten, dann das Muster
|
||
darin. Andersherum läse man die Deutung, bevor man weiß, worauf
|
||
sie sich bezieht.
|
||
|
||
Sie wird gerechnet, nicht gespeichert – und sie bewertet nicht.
|
||
Keine Punktzahl über das eigene Befinden: Eine Zahl lädt dazu
|
||
ein, sie zu verbessern statt ehrlich zu antworten.
|
||
============================================================== -->
|
||
<section class="b-analyse" id="analyse-block" hidden>
|
||
<h2 class="e-abschnitt">Was dein Verlauf sagt</h2>
|
||
<p class="b-analyse__satz" id="analyse-satz">…</p>
|
||
<div id="analyse" class="b-analyse__liste"></div>
|
||
<p class="b-analyse__quelle" id="analyse-quelle"></p>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<script src="assets/js/meldung.js?v=202609220139" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202609220139" defer></script>
|
||
|
||
|
||
<script src="assets/js/wahl.js?v=202609220139" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609220139" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609220139" defer></script>
|
||
<script src="assets/js/befinden.js?v=202609220139" defer></script>
|
||
</body>
|
||
</html>
|