# 🎯 Wie Taskr eigentlich funktioniert

## 3.3 Aufgaben – Die Bausteine

### Die Aufgabenhierarchie verstehen

Aufgaben sind wie eine Gliederung für eine Arbeit organisiert:

```
1.0 Benutzerauthentifizierung aufbauen (Parent-Aufgabe)
  1.1 Datenbanktabellen einrichten (Subtask)
    1.1.1 Benutzertabelle erstellen (Sub-Subtask)
    1.1.2 Passwort-Hashing hinzufügen
  1.2 Login-Seite erstellen
    1.2.1 Login-Formular entwerfen
    1.2.2 Validierung hinzufügen
  1.3 Logout implementieren
```

**Der clevere Teil:** Wenn 1.1.1 und 1.1.2 erledigt sind, wird 1.1 automatisch abgeschlossen. Wenn 1.1, 1.2 und 1.3 fertig sind, schließt sich 1.0 von selbst ab!

### Aufgabentypen erklärt

Jede Aufgabe hat einen Typ, der deiner KI sagt, um welche Art von Arbeit es sich handelt:

- **setup** 🔧 – Dinge vorbereiten (Pakete installieren, Ordner erstellen)
- **analysis** 🔍 – Dinge herausfinden (APIs recherchieren, Ansatz planen)
- **implementation** 💻 – Tatsächlich Dinge bauen (Code schreiben, Features erstellen)
- **validation** ✓ – Sicherstellen, dass es funktioniert (Logik prüfen, Code reviewen)
- **testing** 🧪 – Beweisen, dass es funktioniert (Tests schreiben, Test-Suiten ausführen)

### Aufgabenstatus-Ablauf

Aufgaben durchlaufen Status wie auf einem Fließband:

1. **open** ⭕ – Wartet auf den Start
2. **wip** 🔄 – Wird gerade bearbeitet (Work in Progress)
3. **done** ✅ – Erfolgreich abgeschlossen
4. **skipped** ⏭️ – Absichtlich übersprungen (nicht benötigt)

### Die Ein-Aufgaben-Regel

Hier ist etwas Entscheidendes: **Deine KI kann immer nur an EINER Aufgabe gleichzeitig arbeiten**.

Warum? Weil Multitasking zu Verwirrung führt! Wenn deine KI eine Aufgabe als „wip“ markiert, erhält sie exklusiven Besitz über ein `wip_agent_id`-Feld. Kein anderer Agent kann sie anfassen, und dieser Agent kann keine andere Aufgabe beginnen, bis er diese beendet hat.

Dies wird in der Datenbank mit PostgreSQL-Triggern und dem MCP-Handler-Code erzwungen!

### Neue Aufgaben erstellen

Deine KI erstellt Aufgaben mit dem `create_task`-Tool:

```
Deine KI: "Ich muss das in kleinere Teile zerlegen"
Erstellt: Unteraufgaben unter der aktuellen Aufgabe oder eine ganz neue Aufgabenliste
Geschwindigkeit: Sofort
Kontrolle: Deine KI entscheidet über die Struktur basierend auf deinen Anforderungen
```

**Tipp:** Füge bei größeren Projekten deine Anforderungen zuerst in den Chat deiner KI ein – sie wird eine gründlichere, gut strukturierte Aufgabenhierarchie erstellen.

### Die Magie von `get_task`

Wenn deine KI `get_task` aufruft, passiert hinter den Kulissen folgendes:

1. **Prüft auf bestehende WIP** – „Arbeite ich bereits an etwas?“
2. **Sucht nach der nächsten logischen Aufgabe** – „Was ist die nächste 'open' Aufgabe in der Reihenfolge?“
3. **Markiert sie als WIP** – „Das ist jetzt meins!“
4. **Gibt den vollen Kontext zurück** – Aufgabendetails + Notizen + Anleitungsregeln
5. **Verhindert Konflikte** – Kein anderer Agent kann diese Aufgabe beanspruchen

Die Datenbankfunktion `get_task_for_agent` erledigt all das atomar!

---
