Files
tickte-system/docs/superpowers/hustler-stufe.md
T
ClaudeandClaude Sonnet 5.5 2652108e4c Hustler-Stufe: Prüfstand baut mit VITE_HUSTLER_STUFE=6, Notiz zum Hochsetzen beim Livegang von P4 und P6
build.mjs setzt die Stufe über define ein (Standard 6, andere Ziffer 1 bis 9 aus der Umgebung, Ungültiges bricht ab), damit die Szenarien K (Pult P4) und L (Keller) weiter laufen;
ein Test baut den Prüfstand mit Standard, 3 und ungültigen Werten. docs/superpowers/hustler-stufe.md erklärt Stufen, Sperren und die Schritte beim Hochsetzen.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 10:36:52 +00:00

4.6 KiB

Hustler-Stufe: was die Oberfläche schon zeigen darf

Der Hustler-Dienst (knso/workers-dienst) geht Stufe für Stufe live, die Oberfläche (WOMS, /hustler) ist schon fertig. Damit Mitarbeiter keine Knöpfe und Bildschirme sehen, deren Endpunkte im Dienst noch fehlen (404 {"error":"Nicht gefunden."}), gibt es eine Stufen-Sperre mit genau einer Quelle der Wahrheit:

src/lib/hustlerStufe.js
export const HUSTLER_STUFE = stufeAus(buildWert(), 3)

Die 3 in dieser Zeile ist die Stufe der Produktion. Mehr ist zum Hochsetzen nicht zu ändern.

Stufe Dienst Oberfläche
1 bis 3 P1 + P3 (state, events, settings, pause, trace, pult GET, claim, sent, discard, done, prospect) Hochhaus, Detailansicht, Pult mit Übernehmen, Kopieren & öffnen, Als gesendet markieren, Verwerfen, Erledigt, E-Mail schreiben. Kein Keller, keine Antwort-Knöpfe.
4 und 5 zusätzlich P4: POST /pult/:id/paste, /reply, /approve-preview, /start-build zusätzlich im Pult-Brief: Antwort des Kunden einfügen, Als Mensch antworten / Jetzt senden, Freigeben & senden, Vorschau bauen. Kein Keller.
6 bis 9 zusätzlich P6: GET /botleads zusätzlich der Keller (Bot-Leads): Keller-Etage als Link, Bildschirm ?tab=botleads, Deeplinks, Spur-Links. Entspricht dem vollen Stand von 75ed38e.

Was unterhalb von Stufe 4 gesperrt ist (P4-Aktionen)

  • rowModel (src/lib/workersPult.js, Parameter stufe, Standard HUSTLER_STUFE) liefert canReply, canPaste, canApprovePreview und canStartBuild immer als false. Brief und Liste lesen nur diese Felder, deshalb verschwinden Knöpfe, Eingabefelder, Rückfragen und Hinweise zusammen; die Aktionsgruppe schließt sich ohne Lücke.
  • PultList reicht stufe (Standard HUSTLER_STUFE) an rowModel durch. P3-Aktionen bleiben unverändert.

Was unterhalb von Stufe 6 gesperrt ist (Keller)

  • WorkersPage: ?tab=botleads (auch mit &bot=) und jeder andere unbekannte Wert zeigen das Hochhaus (pickTab nimmt den ersten erlaubten Bildschirm). BotLeadList wird nie eingehängt. Die Weiterleitungen /leads und /workers auf /hustler (Query bleibt) gelten weiter und enden dann im Hochhaus.
  • HochhausWelt: die Keller-Etage ist kein Link auf /hustler?tab=botleads, sondern ein Knopf wie jede andere Etage (zoomt heran, „Keller heranzoomen“).
  • HustlerDialog: ein Spur-Link in den Keller bleibt Text. Arne ist weiter sichtbar und klickbar (Detailansicht), die Zahl „Bot-Leads“ in der Kopfzeile und am Schild im Haus bleibt.
  • workersApi.botleads ruft unterhalb von Stufe 6 gar nichts ab (kein JWT, keine Anfrage) und liefert den Fehler 404 „Der Keller ist noch nicht freigeschaltet.“

Es gibt keine Überschreibung zur Laufzeit (kein localStorage, keine Adresse, kein Schalter in der Oberfläche).

Stufe beim Livegang hochsetzen

  1. Den Dienst-Stand live nehmen und prüfen, dass die Endpunkte antworten (P4: ein Pult-Eintrag lässt sich einfügen/beantworten; P6: GET /api/workers/botleads antwortet 200).
  2. In src/lib/hustlerStufe.js die 3 in der Zeile export const HUSTLER_STUFE = stufeAus(buildWert(), 3) ändern: auf 4 beim Livegang von P4, auf 6 beim Livegang von P6 (die Kommentarzeile darüber nennt die Stufen).
  3. Tests und Bau wie gewohnt: node --max-old-space-size=1024 --test tests/*.test.mjs tests/unit/*.test.mjs und vite build. Kein Test hängt an der 3: hustlerStufe.test.mjs liest die Stufe aus dem Quelltext, alle Stufen-Tests geben ihre Stufe (3 und 6) ausdrücklich an. Bricht nach dem Hochsetzen trotzdem ein Test, hat er die Stufe stillschweigend aus dem Standard gelesen und gehört auf eine ausdrückliche Stufe umgestellt.
  4. Committen, pushen, deployen wie jede andere Änderung. Danach im Browser prüfen: P4 zeigt im Brief „Antwort des Kunden einfügen“ bzw. „Als Mensch antworten“; P6 zeigt die Keller-Etage mit „Keller · Bot-Leads ▸“.

Prüfstand (scripts/workers-harness)

Der Prüfstand braucht P4 und Keller für seine Szenarien K und L. build.mjs baut deshalb standardmäßig mit VITE_HUSTLER_STUFE=6:

node scripts/workers-harness/build.mjs "$(mktemp -d)"                          # Stufe 6, wie bisher (alle Szenarien)
VITE_HUSTLER_STUFE=3 node scripts/workers-harness/build.mjs "$(mktemp -d)"     # Stand der Produktion (Szenarien ohne P4 und Keller)

VITE_HUSTLER_STUFE gilt nur zur Bauzeit und nur als Ziffer 1 bis 9; alles andere fällt auf die Stufe aus dem Quelltext zurück (Vite) bzw. bricht den Bau des Prüfstands ab. Die Variable gehört nicht in den Produktions-Bau (nicht in .env, nicht in Build-Argumente): die Produktion richtet sich allein nach dem Quelltext.