feat(startseite): Giorgio entfernt, Belegschaft auf die fünf Agenten

Auf ausdrücklichen Wunsch: Giorgio entfällt vollständig. Das weicht bewusst
von §6 des Auftrags ab, der ihn als Personalverwalter und Vorgesetzten
vorsah — festgehalten, damit die Abweichung später nachvollziehbar bleibt.

Entfernt: Rollendefinition `AGENT_SUPERVISOR`, sein gezeichnetes Porträt, sein
Eintrag in der Auslastung und in der Belegschaftsansicht sowie die Erwähnung
in der Produkttour. Die Personalverwaltung bleibt unverändert über den
Menüpunkt «Meine Agenten» erreichbar — sie brauchte nie eine eigene Person am
Bildschirm.

Mit Giorgio entfällt auch die einzige Kennzahl, die aus den Freigabevorgängen
kam; `computeAgentWorkload` braucht `agentWorkItems` deshalb nicht mehr.

Ordner und Komponenten heissen jetzt nach ihrem Inhalt: `components/staff/`,
`AgentStaffOverview`, `StaffBackdrop`. «Meetingraum» war seit dem Umbau auf
Personenkarten irreführend, und ein falscher Name kostet den Nächsten mehr
Zeit als die Umbenennung.

Fünf statt sechs Karten heisst Flexlayout statt Dreierraster: drei oben, zwei
mittig darunter, gleich breit und ohne Lücke. Die Karten geben ihre Höhe nicht
mehr selbst vor — mit `height: 100%` beanspruchte jede die volle Fläche und
die zweite Zeile fiel aus dem sichtbaren Bereich.

Geprüft: 433 Tests, Typecheck, Build, ESLint, Token-Schwelle (889/925).
Browser 1280–1920 px und Tablet: fünf Karten vollständig sichtbar, keine
Überlappung, Titel und «Filter & Übersicht» beim Einstieg sichtbar, alle fünf
Klicks auf der richtigen Subpage, «Meine Agenten» weiterhin erreichbar, keine
Konsolenfehler, keine 404.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin SutterandClaude Opus 5 committed 2026-08-06 15:03:18 +02:00
1 parent 435f2aa2f1
commit 093a958dcf
19 files changed
+56 -184

No files matched your search

-23
View File
@@ -14,10 +14,6 @@
import { ROUTES } from './constants'
export interface AgentWorkspace {
/** Abteilung laut Personalblatt. */
department?: string
/** Personalnummer laut Personalblatt. */
personnelNumber?: string
/** Identisch mit der Agenten-ID in `mock-data/agents/` und `AGENT_PHOTOS`. */
id: string
name: string
@@ -37,22 +33,3 @@ export const AGENT_WORKSPACES: AgentWorkspace[] = [
export function agentWorkspaceById(id: string): AgentWorkspace | undefined {
return AGENT_WORKSPACES.find(a => a.id === id)
}
/**
* Giorgio — Personalverwalter und Vorgesetzter der fünf Agenten (Runde 5, §6).
*
* Bewusst nicht Teil von `AGENT_WORKSPACES`: Giorgio hat keine eigene
* Arbeitsseite, sondern steht für die Adminfläche selbst. Sein Ziel ist
* «Meine Agenten» mit den Bereichen Personalverwaltung, Kanäle & Systeme und
* Bearbeitungsverlauf. Stünde er in derselben Liste, erschiene er als sechster
* Eintrag im Seitenmenü und als sechster Mitarbeitender in der Belegschaft —
* beides wäre falsch.
*/
export const AGENT_SUPERVISOR: AgentWorkspace = {
id: 'giorgio',
name: 'Giorgio',
role: 'Personalverwalter',
department: 'Personalwesen',
personnelNumber: 'PO-ZD-01',
path: ROUTES.SUPPLY.TEAM,
}