fix(01): revise plans based on checker feedback

- Split Plan 05 (5 tasks → 2 tasks): password reset request interface
- Split Plan 06 (5 tasks → 2 tasks): created Plans 06-09 for focused scope
- Fixed Plan 06 wave assignment: Wave 4 → Wave 3 (depends only on Wave 2)
- Created Plan 07: password reset navigation and deep linking
- Created Plan 08: authentication pages error handling
- Created Plan 09: auth components error display and loading feedback
- Updated Plan 07 → Plan 10: logout and verification
- Updated ROADMAP.md with 10 plans in 4 waves
- All plans now have 2-3 tasks as recommended
This commit is contained in:
Dani B
2026-01-28 00:38:31 -05:00
parent f9150e04d5
commit 4a20b93fae
6 changed files with 417 additions and 228 deletions

View File

@@ -0,0 +1,143 @@
---
phase: 01-authentication
plan: 08
type: execute
wave: 3
depends_on: ["01-03", "01-04"]
files_modified: ["lib/features/authentication/presentation/pages/login_page.dart", "lib/features/authentication/presentation/pages/signup_page.dart", "lib/features/authentication/presentation/pages/reset_password_page.dart"]
autonomous: true
user_setup: []
must_haves:
truths:
- "Login errors distinguish invalid password vs account not found"
- "Signup errors show specific failure reasons"
- "Password reset errors provide helpful guidance"
artifacts:
- path: "lib/features/authentication/presentation/pages/login_page.dart"
provides: "Login with error handling"
min_lines: 50
- path: "lib/features/authentication/presentation/pages/signup_page.dart"
provides: "Signup with error handling"
min_lines: 50
- path: "lib/features/authentication/presentation/pages/reset_password_page.dart"
provides: "Password reset with error handling"
min_lines: 45
key_links:
- from: "lib/features/authentication/presentation/pages/login_page.dart"
to: "lib/core/errors/auth_exceptions.dart"
via: "error type checking"
pattern: "InvalidCredentialsException|UserNotFoundException"
---
<objective>
Integrate comprehensive error handling in authentication pages.
Purpose: Provide clear, actionable error messages for all authentication scenarios.
Output: Authentication pages with proper error handling and user feedback.
</objective>
<execution_context>
@~/.opencode/get-shit-done/workflows/execute-plan.md
@~/.opencode/get-shit-done/templates/summary.md
</execution_context>
<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/01-authentication/01-RESEARCH.md
</context>
<tasks>
<task type="auto">
<name>Enhance login page with error handling</name>
<files>lib/features/authentication/presentation/pages/login_page.dart</files>
<action>
Update LoginPage to:
1. Connect to AuthProvider for authentication
2. Handle loading states during login attempts
3. Display specific error messages based on exception type:
- "Invalid password" for InvalidCredentialsException
- "Account not found" for UserNotFoundException
- "Network error" for NetworkException
- "Session expired" for SessionExpiredException
- Generic error message for unknown errors
4. Show success message and navigate on successful login
5. Disable form inputs during submission
6. Include accessibility error announcements
7. Add proper error disposal when user starts typing again
8. Handle edge cases like empty form submission
9. Include proper error styling and positioning
</action>
<verify>Login page shows specific error messages for different failure scenarios and handles loading states properly</verify>
<done>Login page with comprehensive error handling and user feedback</done>
</task>
<task type="auto">
<name>Enhance signup page with error handling</name>
<files>lib/features/authentication/presentation/pages/signup_page.dart</files>
<action>
Update SignupPage to:
1. Connect to AuthProvider for registration
2. Handle loading states during signup attempts
3. Display specific error messages:
- "Email already in use" for EmailAlreadyInUseException
- "Password too weak" for WeakPasswordException
- "Invalid email format" for validation errors
- "Network error" for NetworkException
- Generic error message for unknown errors
4. Show password mismatch error before submission
5. Show success message on successful registration
6. Navigate to login after successful signup
7. Disable form inputs during submission
8. Include accessibility error announcements
9. Add proper error disposal when user starts typing again
10. Handle terms acceptance (placeholder)
</action>
<verify>Signup page provides specific feedback for all registration scenarios and validates password matching</verify>
<done>Signup page with comprehensive error handling and validation feedback</done>
</task>
<task type="auto">
<name>Enhance password reset pages with error handling</name>
<files>lib/features/authentication/presentation/pages/reset_password_page.dart</files>
<action>
Update ResetPasswordPage to:
1. Handle loading states during email sending
2. Display specific error messages:
- "Email not found" for UserNotFoundException
- "Too many requests" for rate limiting
- "Network error" for NetworkException
- Generic error message for unknown errors
3. Show success message with clear instructions
4. Display countdown before resend is allowed (if needed)
5. Include accessibility error announcements
6. Add proper error disposal when user changes email
7. Handle edge cases like empty email submission
8. Provide helpful error recovery instructions
9. Show proper loading indicators
</action>
<verify>Password reset page handles all error scenarios and provides clear user guidance</verify>
<done>Password reset page with comprehensive error handling and user guidance</done>
</task>
</tasks>
<verification>
1. Login attempts show specific error messages for invalid password vs account not found
2. Registration attempts show specific error messages for email conflicts, weak passwords, etc.
3. Password reset requests handle all error scenarios with helpful guidance
4. Error messages disappear when user takes corrective action
5. Loading states appear consistently during all authentication operations
6. Accessibility features announce errors and state changes properly
</verification>
<success_criteria>
Authentication pages with comprehensive error handling that meets user feedback requirements.
</success_criteria>
<output>
After completion, create `.planning/phases/01-authentication/01-08-SUMMARY.md`
</output>