{ "id": "phase1-foundation-16", "seq": "16", "title": "Create password reset APIs", "status": "completed", "depends_on": ["11"], "parallel": false, "context_files": [ "/Users/kunthawatgreethong/Gitea/moreminimore-vibe/Websitebuilder/.tmp/sessions/phase1-foundation/context.md", "/Users/kunthawatgreethong/.config/opencode/context/core/essential-patterns.md" ], "acceptance_criteria": [ "POST /api/auth/forgot-password endpoint created", "Generates reset token", "Stores token in database", "Returns success response (email not exposed)", "POST /api/auth/reset-password endpoint created", "Verifies reset token", "Hashes new password", "Updates user password", "Deletes reset token", "Error handling for expired/invalid tokens", "Unit tests written with Vitest", "Tests pass with 90%+ coverage" ], "deliverables": [ "src/app/api/auth/forgot-password/route.ts", "src/app/api/auth/reset-password/route.ts", "src/services/auth.service.ts (updated)", "src/app/api/auth/forgot-password/__tests__/route.test.ts", "src/app/api/auth/reset-password/__tests__/route.test.ts" ] }