Context
The quest system currently allows any agent to start any quest. This issue adds a prerequisites field to quests, so advanced quests can require earlier ones to be completed first.
What to implement
Quest model change
Add optional prerequisites: string[] — an array of quest IDs that must be in quest.completed state for the agent before they can start this quest.
Validation on POST /api/quests/:id/start
Before marking a quest as started:
- Look up the quest's
prerequisites array
- For each prerequisite ID, check if the requesting agent has a completed quest with that ID
- If any prerequisite is missing → return
403 Forbidden with body {ok: false, reason: "prerequisites_not_met", missing: ["quest-id-1"]}
Issue creation
POST /api/quests should accept the new prerequisites field. Circular prerequisites (A requires B, B requires A) must be rejected with 400.
Acceptance criteria
🎁 Evidencia visual = reward extra
- Si tu PR incluye video demo o capturas de pantalla mostrando la funcionalidad pedida funcionando end-to-end, va a ser considerado para rewards de GrantFox en esta issue. No es obligatorio, pero suma mucho para la evaluación.
Context
The quest system currently allows any agent to start any quest. This issue adds a
prerequisitesfield to quests, so advanced quests can require earlier ones to be completed first.What to implement
Quest model change
Add optional
prerequisites: string[]— an array of quest IDs that must be inquest.completedstate for the agent before they can start this quest.Validation on POST /api/quests/:id/start
Before marking a quest as started:
prerequisitesarray403 Forbiddenwith body{ok: false, reason: "prerequisites_not_met", missing: ["quest-id-1"]}Issue creation
POST /api/questsshould accept the newprerequisitesfield. Circular prerequisites (A requires B, B requires A) must be rejected with 400.Acceptance criteria
prerequisites: ["quest-1"]succeeds🎁 Evidencia visual = reward extra