Transfer: Eine neue Anforderung
Planzeit: 3 Stunden. Achievement: A12 Transfer geschafft (200 XP), wenn die verdeckten Transfertests bestehen.
Warum
Die Missionen hatten Anleitungen, Testlisten und Hinweise. Im Beruf kommt eine Anforderung ohne das alles. Der Transfer prüft, ob du mit deinem Agenten eine neue Aufgabe so angehst, dass sie prüfbar, sauber und erklärbar ist. Es gibt hier keine sichtbaren Tests und keine Hinweisdateien. Alle Lern-Achievements sind auch ohne Transfer erreichbar; der Transfer ist der Beleg, dass du es wirklich kannst.
Die Anforderung
Die Vertriebsleitung will jeden Montag eine Liste der überfälligen Follow-ups als CSV-Datei in eine Tabellenkalkulation ziehen.
Baue in src/domain/exportOverdue.ts eine Funktion mit genau dieser Signatur:
export function exportOverdueCsv(leads: readonly Lead[], today: string): string
Anforderungen, so wie sie in einem Ticket stehen würden:
- Enthalten sind nur Leads, deren Follow-up vor
todayliegt (gleiche Regel wieisOverdue). - Erste Zeile ist die Kopfzeile:
id,company,contactName,email,status,nextFollowUp. - Danach eine Zeile pro Lead, sortiert nach
nextFollowUpaufsteigend; bei gleichem Datum nachid. - Felder sind durch Komma getrennt. Enthält ein Feld ein Komma, ein Anführungszeichen oder einen Zeilenumbruch, wird es in doppelte Anführungszeichen gesetzt und jedes Anführungszeichen darin verdoppelt (Standard-CSV).
- Zeilen sind mit
\ngetrennt, am Ende steht kein zusätzlicher Zeilenumbruch. - Ohne überfällige Leads kommt nur die Kopfzeile zurück.
- Die Eingabe wird nicht verändert.
Ergänze in der Oberfläche einen Button "Überfällige exportieren" (data-testid="export-overdue"),
der die CSV-Datei herunterlädt. Dieser Teil wird im Gespräch angeschaut, nicht automatisch getestet.
Was du abgibst
- Eigene Tests in
tests/transfer.test.ts(diese Datei darfst du anlegen; sie läuft nicht gegen die verdeckten Tests, sondern zeigt, wie du denkst). Mindestens: Kopfzeile allein, ein überfälliger Lead, ein Feld mit Komma, Sortierung. - Die Funktion und den Button.
- Einen Eintrag im KI-PROTOKOLL: Welche Fälle hast du dir ausgedacht, bevor du Code geschrieben hast?
npm run bic -- submit 7 sendet den Stand. Der Server führt die verdeckten Tests aus und
meldet pro Kriterium bestanden oder nicht, ohne die Testdetails zu zeigen. Du kannst
erneut abgeben.
So gehst du vor (einziger Hinweis)
Schreib zuerst auf Papier fünf Beispiel-Eingaben und die erwartete Ausgabe als Text. Erst dann Code. Wer die Ausgabe nicht von Hand hinschreiben kann, kann sie auch nicht prüfen.
Erklären
- Warum verdoppelt CSV Anführungszeichen, statt sie zu entfernen?
- Welche deiner fünf Fälle hat die KI beim ersten Vorschlag falsch gemacht?