> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dloopiq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Golden Tasks

> Des pièges qualité transparents pour mesurer la fiabilité des annotateurs.

## Qu'est-ce qu'une golden task ?

Une **golden task** est une tâche dont la réponse correcte est connue à l'avance. Elle est insérée discrètement dans le flux normal de tâches pour mesurer la qualité des annotateurs.

L'utilisateur ne peut pas distinguer une golden task d'une tâche ordinaire — l'affichage est identique.

***

## Comment ça marche

```
Flux SDK normal :
  100 tâches servies via getNextTask()
  └─  95 tâches normales  (réponses contribuent au consensus)
  └─   5 golden tasks     (réponses évaluées contre goldenAnswer)
```

**5 % des tâches** servies via le SDK sont des golden tasks, sélectionnées aléatoirement.

### Impact sur le score de réputation

| Résultat                 | Impact     |
| ------------------------ | ---------- |
| Bonne réponse            | Score + 1  |
| Mauvaise réponse         | Score - 3  |
| Gainé par le développeur | 0¢ (aucun) |

***

## Créer une golden task (Admin)

```bash theme={null}
curl -X POST https://dloopiq.onrender.com/api/v1/admin/golden-tasks \
  -H "Authorization: Bearer <admin_jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "SENTIMENT_ANALYSIS",
    "content": "Ce film est un chef-d'\''œuvre absolu !",
    "options": ["Positif", "Négatif", "Neutre"],
    "goldenAnswer": "Positif",
    "locale": "fr"
  }'
```

Réponse :

```json theme={null}
{
  "id": "cmpkb4ghw00016qduu44p7n2q",
  "type": "SENTIMENT_ANALYSIS",
  "content": "Ce film est un chef-d'œuvre absolu !",
  "goldenAnswer": "Positif",
  "isGolden": true,
  "createdAt": "2026-05-25T10:00:00Z"
}
```

<Warning>
  Le champ `goldenAnswer` n'est **jamais** exposé dans l'objet `Task` retourné par le SDK. Seul l'admin peut le voir.
</Warning>

***

## Lister les golden tasks

```bash theme={null}
curl "https://dloopiq.onrender.com/api/v1/admin/golden-tasks?limit=20" \
  -H "Authorization: Bearer <admin_jwt>"
```

```json theme={null}
{
  "goldenTasks": [
    {
      "id": "cmpkb4ghw00016qduu44p7n2q",
      "type": "SENTIMENT_ANALYSIS",
      "content": "Ce film est un chef-d'œuvre absolu !",
      "goldenAnswer": "Positif",
      "timesServed": 47,
      "correctResponses": 42,
      "accuracy": 0.89
    }
  ],
  "nextCursor": null,
  "total": 1
}
```

***

## Bonnes pratiques

### Créer des golden tasks représentatives

Créez des golden tasks qui ressemblent aux vraies tâches de votre domaine. Des golden tasks trop faciles ou artificielles ne mesurent pas bien la qualité réelle.

```typescript theme={null}
// Bon exemple : cas ambigus avec réponse claire
const goodGolden = {
  content: "Livraison rapide mais emballage abîmé.",
  options: ["Positif", "Négatif", "Neutre"],
  goldenAnswer: "Neutre"  // Sentiments contradictoires → Neutre
}

// Mauvais exemple : trop évident
const badGolden = {
  content: "J'adore ce produit c'est parfait !!!!",
  options: ["Positif", "Négatif", "Neutre"],
  goldenAnswer: "Positif"  // Trop facile, ne mesure rien
}
```

### Volume recommandé

Créez au moins **50 golden tasks** par type de tâche que vous utilisez. Avec 5 % de chance d'apparition, cela assure une rotation suffisante pour mesurer la qualité sur le long terme.

### Surveiller l'accuracy

Si un développeur partenaire affiche une accuracy en golden tasks \< 70 %, ses utilisateurs envoient probablement des réponses aléatoires ou sans attention. Vous pouvez contacter le développeur ou réduire leur priorité dans la queue.

***

## Résultat côté SDK

Quand un utilisateur répond à une golden task, le SDK retourne :

```typescript theme={null}
const result = await dloopiq.completeTask({
  taskId: task.taskId,
  userId: 'user_123',
  answer: 'Positif',
  timeSpentMs: 2800
})

console.log(result.isGolden)     // true
console.log(result.earnedCents)  // 0  ← toujours zéro
console.log(result.status)       // "accepted"
```

L'application **ne doit pas** afficher de gains pour les golden tasks — cela révèlerait qu'elles sont différentes.
