diff --git a/.planning/phases/07-testing-polish/07-01-PLAN.md b/.planning/phases/07-testing-polish/07-01-PLAN.md
new file mode 100644
index 0000000..4cd7ca3
--- /dev/null
+++ b/.planning/phases/07-testing-polish/07-01-PLAN.md
@@ -0,0 +1,184 @@
+---
+phase: 07-testing-polish
+plan: 01
+type: execute
+depends_on: []
+files_modified: []
+---
+
+
+Verify complete provider workflow from registration through job deactivation works end-to-end without errors.
+
+Purpose: Ensure providers can successfully register, submit jobs, manage their listings, and deactivate when needed - the complete lifecycle works as designed.
+Output: Verified provider user journey, documented test results, issues logged if any.
+
+
+
+~/.claude/get-shit-done/workflows/execute-plan.md
+~/.claude/get-shit-done/references/checkpoints.md
+./summary.md
+
+
+
+@.planning/PROJECT.md
+@.planning/ROADMAP.md
+@.planning/STATE.md
+
+# Prior work being tested:
+@.planning/phases/02-provider-registration-auth/02-01-SUMMARY.md
+@.planning/phases/02-provider-registration-auth/02-02-SUMMARY.md
+@.planning/phases/02-provider-registration-auth/02-03-SUMMARY.md
+@.planning/phases/02-provider-registration-auth/02-04-SUMMARY.md
+@.planning/phases/03-job-management-core/03-01-SUMMARY.md
+@.planning/phases/03-job-management-core/03-02-SUMMARY.md
+@.planning/phases/04-job-deactivation-system/04-01-SUMMARY.md
+
+**Tech stack being tested:** Formidable Forms (F1 registration, F2 submission, F3 edit, F4 deactivation), custom role `ddhh_provider`, ACF fields, access control, email notifications
+**Expected flows:** Self-registration with auto-login, dashboard access, job submission to pending, job editing (resets to pending), job deactivation (to draft)
+**Established patterns:** German UI, ownership validation, admin approval workflow
+
+
+
+
+
+ Provider registration and login flow (Phase 2)
+
+ **Test Registration:**
+ 1. Visit: /anbieter-login/ (login/registration page)
+ 2. Fill out registration form (F1) with test data:
+ - Email: test-provider-[timestamp]@test.com
+ - Company name, password, etc.
+ 3. Submit form
+ 4. Confirm: Auto-logged in after registration (no manual login needed)
+ 5. Confirm: Redirected to provider dashboard (/anbieter-dashboard/)
+ 6. Confirm: Dashboard shows "Keine Stellenangebote gefunden" (no jobs yet)
+
+ **Test Login (existing user):**
+ 1. Log out
+ 2. Return to /anbieter-login/
+ 3. Log in with registered credentials
+ 4. Confirm: Redirected to dashboard
+ 5. Confirm: Access control works (logged-in providers can access dashboard)
+
+ **Test Access Control:**
+ 1. Log out
+ 2. Try to visit /anbieter-dashboard/ directly
+ 3. Confirm: Redirected to /anbieter-login/ (non-logged-in users blocked)
+
+ Type "approved" when registration and login work correctly, or describe issues to investigate
+
+
+
+ Job submission and editing flow (Phase 3)
+
+ **Prerequisites:** Logged in as provider from previous test
+
+ **Test Job Submission (F2):**
+ 1. From dashboard, click "Neues Angebot erstellen" or similar submission link
+ 2. Fill out job submission form with test data:
+ - Job title (Stellentitel)
+ - Description (Beschreibung)
+ - Location (Standort)
+ - Job type (Art der Stelle)
+ - Contact email
+ - Logo upload (optional)
+ 3. Submit form
+ 4. Confirm: Redirected back to dashboard
+ 5. Confirm: New job appears in dashboard with "pending" status
+ 6. Confirm: Job NOT visible on public job archive (/jobangebote/) yet
+
+ **Test Job Edit (F3):**
+ 1. From dashboard, click "Bearbeiten" (edit) button on submitted job
+ 2. Edit form appears with pre-filled data
+ 3. Modify job title or description
+ 4. Submit changes
+ 5. Confirm: Redirected back to dashboard
+ 6. Confirm: Job status reset to "pending" (requires re-approval)
+ 7. Confirm: Changes saved correctly
+
+ **Test Admin Notification:**
+ 1. Check admin email inbox (WordPress site admin email)
+ 2. Confirm: Received notification about new job submission
+ 3. Confirm: Email includes job title, provider details, direct edit link
+
+ Type "approved" when submission and editing work correctly, or describe issues
+
+
+
+ Job deactivation flow (Phase 4)
+
+ **Prerequisites:**
+ - Job from previous test exists
+ - Admin approves job (set status to "publish" in WP admin)
+ - Wait for job to appear on dashboard as "published"
+
+ **Test Deactivation (F4):**
+ 1. From dashboard, find published job
+ 2. Click "Deaktivieren" (deactivate) button
+ 3. Deactivation form appears with reason field (required)
+ 4. Enter deactivation reason: "Test: Position filled"
+ 5. Submit form
+ 6. Confirm: Job status changes to "draft"
+ 7. Confirm: Job no longer visible on public job archive
+ 8. Confirm: Job still visible in provider's dashboard (as draft)
+
+ **Test Admin Deactivation Notification:**
+ 1. Check admin email inbox
+ 2. Confirm: Received notification about job deactivation
+ 3. Confirm: Email includes job title, provider details, deactivation reason
+
+ **Test Deactivation Access Control:**
+ 1. Try to deactivate a pending/draft job (should not have deactivate button)
+ 2. Confirm: Deactivate button only appears for published jobs
+
+ Type "approved" when deactivation flow works correctly, or describe issues
+
+
+
+
+
+Before declaring plan complete:
+- [ ] Provider can register and auto-login
+- [ ] Provider can submit jobs (go to pending)
+- [ ] Provider can edit jobs (reset to pending)
+- [ ] Provider can deactivate published jobs (go to draft)
+- [ ] Access control prevents non-logged-in access
+- [ ] Admin receives email notifications for submissions and deactivations
+- [ ] German UI labels display correctly
+
+
+
+
+- Complete provider lifecycle tested end-to-end
+- All workflows function without errors
+- Access control works correctly
+- Email notifications reach admin inbox
+- German UI displays properly
+- Any issues documented for fixes
+
+
+
diff --git a/.planning/phases/07-testing-polish/07-02-PLAN.md b/.planning/phases/07-testing-polish/07-02-PLAN.md
new file mode 100644
index 0000000..04ccc4a
--- /dev/null
+++ b/.planning/phases/07-testing-polish/07-02-PLAN.md
@@ -0,0 +1,198 @@
+---
+phase: 07-testing-polish
+plan: 02
+type: execute
+depends_on: []
+files_modified: []
+---
+
+
+Verify complete mentor workflow from browsing protected job board through application submission and notification opt-in works end-to-end.
+
+Purpose: Ensure mentors (subscribers) can browse approved jobs, view details, apply to positions, and manage notification preferences - the complete mentor experience works as designed.
+Output: Verified mentor user journey, documented test results, issues logged if any.
+
+
+
+~/.claude/get-shit-done/workflows/execute-plan.md
+~/.claude/get-shit-done/references/checkpoints.md
+./summary.md
+
+
+
+@.planning/PROJECT.md
+@.planning/ROADMAP.md
+@.planning/STATE.md
+
+# Prior work being tested:
+@.planning/phases/05-mentor-job-board/05-01-SUMMARY.md
+@.planning/phases/05-mentor-job-board/05-02-SUMMARY.md
+@.planning/phases/05-mentor-job-board/05-03-SUMMARY.md
+@.planning/phases/05-mentor-job-board/05-04-SUMMARY.md
+@.planning/phases/06-email-notifications/06-01-SUMMARY.md
+
+**Tech stack being tested:** Elementor templates (archive, single post), ACF fields display, Formidable form F5 (job application), access control, user preferences, notification opt-in
+**Expected flows:** Login-protected archive, job detail pages with logo/fields, application form sends email to provider, mentor can opt-in to notifications
+**Established patterns:** German UI, access control redirects to /anbieter-login/, 200x200px logo auto-crop, German email templates
+
+
+
+
+
+ Protected job archive with access control (Phase 5)
+
+ **Test Access Control (Logged Out):**
+ 1. Ensure you're logged out
+ 2. Visit: /jobangebote/ (job archive)
+ 3. Confirm: Redirected to /anbieter-login/ (archive is protected)
+ 4. Try to visit a single job post URL directly
+ 5. Confirm: Redirected to /anbieter-login/ (single posts also protected)
+
+ **Test Archive Access (Logged In as Mentor/Subscriber):**
+ 1. Log in as subscriber/mentor user
+ - If no mentor user exists, create one in WP admin (Users → Add New → Role: Subscriber)
+ - Or register as provider and admin can change role to subscriber
+ 2. Visit: /jobangebote/
+ 3. Confirm: Archive page loads successfully
+ 4. Confirm: Published jobs are visible
+ 5. Confirm: Pending/draft jobs are NOT visible
+ 6. Confirm: Job listings show basic info (title, excerpt, etc.)
+
+ **Test Elementor Template:**
+ 1. Verify archive template displays correctly
+ 2. Check responsive design (desktop, tablet, mobile if needed)
+ 3. Confirm no layout issues or broken elements
+
+ Type "approved" when archive access control and display work correctly, or describe issues
+
+
+
+ Job detail page with ACF fields and application form (Phase 5)
+
+ **Prerequisites:**
+ - Logged in as mentor/subscriber
+ - At least one published job exists (from Phase 7 Plan 1 testing or admin-created)
+
+ **Test Job Detail Page:**
+ 1. From archive (/jobangebote/), click on a job listing
+ 2. Single job post page loads
+ 3. Confirm: All ACF fields display correctly:
+ - Job title (post title)
+ - Job description (post content)
+ - Location (job_location)
+ - Job type (job_type)
+ - Contact email (job_contact_email)
+ - Logo (job_logo) displays at 200x200px if uploaded
+ 4. Confirm: Elementor template renders properly
+ 5. Confirm: No PHP errors or warnings
+
+ **Test Application Form (F5):**
+ 1. Find "Apply" button or application form on job detail page
+ 2. Fill out application form with test data:
+ - Applicant name
+ - Applicant email (auto-filled if logged in)
+ - Cover message
+ 3. Submit application
+ 4. Confirm: Success message displays
+ 5. Confirm: Form stays on same page (no redirect)
+
+ **Test Application Email:**
+ 1. Check email inbox for job provider's contact email (job_contact_email)
+ 2. Confirm: Application notification received
+ 3. Confirm: Email includes:
+ - Applicant name and email
+ - Cover message
+ - Job title
+ - German language template
+ 4. Confirm: Email is readable and properly formatted
+
+ Type "approved" when job detail and application work correctly, or describe issues
+
+
+
+ Mentor notification opt-in system (Phase 6)
+
+ **Prerequisites:** Logged in as mentor/subscriber
+
+ **Test Notification Preference Toggle:**
+ 1. Visit profile page: /wp-admin/profile.php
+ 2. Scroll to notification preferences section
+ 3. Confirm: Checkbox appears with German label:
+ "Benachrichtigungen über neue Stellenangebote erhalten"
+ 4. Confirm: Checkbox only visible for subscribers (mentors), not other roles
+ 5. Check the opt-in checkbox
+ 6. Click "Update Profile" to save
+ 7. Confirm: Preference saves successfully
+ 8. Refresh page
+ 9. Confirm: Checkbox remains checked (preference persisted)
+
+ **Test Notification Email (if possible):**
+ 1. With opt-in enabled for test mentor user
+ 2. Have admin publish a new job (or trigger via provider flow)
+ 3. Check mentor's email inbox
+ 4. Confirm: Notification email received with:
+ - German subject: "Neues Stellenangebot: [job title]"
+ - Job details (title, location, type, permalink)
+ - Unsubscribe hint in German
+ 5. If NOT opted in, confirm: No email received
+
+ **Test Async Processing (Background Jobs):**
+ 1. Check Action Scheduler status: /wp-admin/tools.php?page=action-scheduler
+ 2. Confirm: Scheduled actions for email batches appear
+ 3. Confirm: Actions complete successfully (status: complete)
+ 4. Confirm: No failed actions or errors
+
+ Type "approved" when notification opt-in and email system work correctly, or describe issues
+
+
+
+
+
+Before declaring plan complete:
+- [ ] Logged-out users cannot access job archive or detail pages
+- [ ] Logged-in mentors can browse job archive
+- [ ] Job detail pages display all ACF fields correctly
+- [ ] Logo displays at 200x200px when uploaded
+- [ ] Application form submits successfully
+- [ ] Provider receives application email
+- [ ] Notification preference toggle works for subscribers
+- [ ] Opted-in mentors receive job publish notifications
+- [ ] Action Scheduler processes email batches successfully
+
+
+
+
+- Complete mentor lifecycle tested end-to-end
+- All workflows function without errors
+- Access control protects job content from public
+- Application emails reach providers
+- Notification system works for opted-in mentors
+- German UI and emails display properly
+- Any issues documented for fixes
+
+
+
diff --git a/.planning/phases/07-testing-polish/07-03-PLAN.md b/.planning/phases/07-testing-polish/07-03-PLAN.md
new file mode 100644
index 0000000..1a75922
--- /dev/null
+++ b/.planning/phases/07-testing-polish/07-03-PLAN.md
@@ -0,0 +1,179 @@
+---
+phase: 07-testing-polish
+plan: 03
+type: execute
+depends_on: []
+files_modified: [.planning/phases/07-testing-polish/DEPLOYMENT-CHECKLIST.md]
+---
+
+
+Verify admin moderation workflow functions correctly and create comprehensive deployment checklist for production readiness.
+
+Purpose: Ensure admin can effectively moderate job submissions, manage listings, and that the system is ready for production deployment with all necessary configurations documented.
+Output: Verified admin workflow, deployment checklist document, system ready for production.
+
+
+
+~/.claude/get-shit-done/workflows/execute-plan.md
+~/.claude/get-shit-done/references/checkpoints.md
+./summary.md
+
+
+
+@.planning/PROJECT.md
+@.planning/ROADMAP.md
+@.planning/STATE.md
+
+# Prior work being tested:
+@.planning/phases/03-job-management-core/03-03-SUMMARY.md
+@.planning/phases/03-job-management-core/03-04-SUMMARY.md
+@.planning/phases/04-job-deactivation-system/04-02-SUMMARY.md
+@.planning/phases/06-email-notifications/06-03-SUMMARY.md
+
+**Tech stack being tested:** WordPress admin UI enhancements, custom columns, email notifications, Action Scheduler, moderation workflow
+**Expected flows:** Admin receives notifications, reviews pending jobs, approves/rejects via status changes, sees enhanced columns
+**Established patterns:** German admin UI, custom columns (submission date, location, type), sortable columns, admin-only hooks
+**Deployment considerations:** Email configuration (WP Mail SMTP on production, disabled in Local WP dev), Action Scheduler, ACF fields, Formidable forms
+
+
+
+
+
+ Admin moderation workflow with enhanced UI (Phase 3)
+
+ **Prerequisites:**
+ - Logged in as admin
+ - At least one pending job exists (from provider flow test in Plan 07-01)
+
+ **Test Admin Job List UI:**
+ 1. Visit: /wp-admin/edit.php?post_type=job_offer
+ 2. Confirm: Custom columns display:
+ - Eingereicht am (submission date)
+ - Standort (location)
+ - Art (job type)
+ 3. Confirm: Default "Author" and "Date" columns removed (cleaner interface)
+ 4. Click column headers to test sorting
+ 5. Confirm: All columns are sortable (including ACF fields)
+ 6. Confirm: German labels display correctly
+
+ **Test Moderation Actions:**
+ 1. Find pending job in list
+ 2. Click job title to edit
+ 3. Review job details:
+ - Title, description, location, type, contact email, logo
+ 4. Change post status from "Pending Review" to "Published"
+ 5. Click "Update" to save
+ 6. Confirm: Job status changes to published
+ 7. Confirm: Job now appears on public archive (/jobangebote/)
+
+ **Test Rejection (Set to Draft):**
+ 1. Find another pending job
+ 2. Change status to "Draft"
+ 3. Update
+ 4. Confirm: Job remains in admin list but not on public archive
+ 5. Confirm: Provider can still see it in their dashboard (as draft)
+
+ **Test Admin Email Notifications:**
+ 1. Review inbox for submission notifications (from Plan 07-01)
+ 2. Confirm: Email includes direct edit link
+ 3. Click edit link in email
+ 4. Confirm: Taken directly to job edit screen
+ 5. Review deactivation notification (from Plan 07-01)
+ 6. Confirm: Email includes deactivation reason
+
+ Type "approved" when admin moderation workflow works correctly, or describe issues
+
+
+
+ Action Scheduler and async email processing (Phase 6)
+
+ **Test Action Scheduler Status:**
+ 1. Visit: /wp-admin/tools.php?page=action-scheduler
+ 2. Confirm: Page loads without errors
+ 3. Review scheduled actions for group "email-notifications"
+ 4. Confirm: Mentor notification batches scheduled after job publish
+ 5. Check "Complete" tab
+ 6. Confirm: Email batch actions completed successfully
+ 7. Check "Failed" tab
+ 8. Confirm: No failed actions (or investigate failures if present)
+
+ **Test Email Batch Logging:**
+ 1. Check error_log or debug.log for notification logs
+ 2. Search for "Scheduled X notification batches" (from job publish hook)
+ 3. Search for "Processed notification batch" (from batch processor)
+ 4. Confirm: Logs show expected behavior with counts
+ 5. Confirm: No PHP errors or warnings in logs
+
+ **Test Rate Limiting:**
+ 1. If large mentor list exists (50+ opted-in users)
+ 2. Confirm: Batches processed in chunks of 50
+ 3. Confirm: No timeout errors
+ 4. If small list: Note that rate limiting works programmatically
+
+ Type "approved" when async processing works correctly, or describe issues
+
+
+
+ Task 3: Create deployment readiness checklist
+ .planning/phases/07-testing-polish/DEPLOYMENT-CHECKLIST.md
+ Create comprehensive deployment checklist covering all system requirements for production. Include sections: (1) Server Requirements (PHP version, WordPress version, memory limit), (2) Required Plugins (ACF Pro, Formidable Forms + addons, Elementor Pro, WP Mail SMTP), (3) Plugin Configuration (ACF field groups, Formidable forms F1-F5, Elementor templates, notification opt-in), (4) Email Configuration (WP Mail SMTP setup for production, admin email verification, test notifications), (5) Access Control (verify /anbieter-login/ and /anbieter-dashboard/ pages exist, test redirects), (6) User Roles (ddhh_provider role exists, capabilities correct, test users), (7) Action Scheduler (verify cron running, check failed actions, monitor queue), (8) Testing Checklist (provider flow, mentor flow, admin flow - reference Phase 7 plans), (9) Security Checklist (HTTPS enabled, user enumeration blocked, file upload restrictions), (10) Performance (check query optimization, image optimization, caching if applicable), (11) Backup Strategy (pre-deployment backup, rollback plan), (12) Post-Deployment Verification (smoke tests, notification tests, form submissions). Use German labels where appropriate for consistency. Format as checklist with [ ] checkboxes for easy tracking.
+ cat .planning/phases/07-testing-polish/DEPLOYMENT-CHECKLIST.md shows comprehensive checklist with all sections and checkboxes
+ Deployment checklist created with all required sections, ready for production use
+
+
+
+
+
+Before declaring plan complete:
+- [ ] Admin can moderate jobs via status changes
+- [ ] Enhanced admin columns display and sort correctly
+- [ ] Admin receives all notification emails
+- [ ] Action Scheduler processes email batches successfully
+- [ ] No failed actions or errors in logs
+- [ ] Deployment checklist created and comprehensive
+
+
+
+
+- Admin moderation workflow verified end-to-end
+- All admin UI enhancements working correctly
+- Email notification system functioning
+- Action Scheduler stable and error-free
+- Comprehensive deployment checklist created
+- System ready for production deployment
+- Phase 7 complete - all testing and polish work done
+
+
+