Patriot Platform Members 1.01 — Regional Coordinator Dashboard

Baseline: the user-supplied patriot-platform-1.00.zip. Its internal header and
version constant still said 0.4.9; both now identify this release as 1.01.

INSTALL
Back up the current plugin and database. In WordPress go to Plugins > Add New >
Upload Plugin, select patriot-platform-1.01.zip and replace the installed plugin.
The plugin folder remains patriot-platform-members. No existing pages, members,
agreement decisions, certificates or activities are replaced by this update.
No deactivate/reactivate cycle is required for the new module.

WHERE TO FIND IT
National administrator: Patriot Platform > Regional dashboard; choose a region.
Approved coordinator: My membership; dashboard appears automatically.
Members: My membership > Volunteer for regional tasks; opt in there and enable
contact permission to become eligible for assignment. Assigned tasks appear there.
Optional shortcode: [patriot_coordinator_dashboard]. Exclude any page containing
it, and the existing membership page, from CDN/server page caching.

WHAT IS INCLUDED
- Counts of active approved members and available volunteers for the region.
- Up to 100 members visible under existing contact permissions (administrators
  can see all active members). Accepted agreement and certificate integration
  status are shown. Queued is not proof of certificate email delivery.
- Recent regional activity submissions; existing activity creation/review flow.
- Private regional tasks with description, optional willing volunteer, due date,
  and To do / In progress / Completed status. Coordinator/admin and the currently
  active regional assignee may update status.
- Private progress reports visible to that region's coordinators and national
  administrators. No automatic emails are sent.
- Existing audit log records preference, task and report changes.
- No new coordinator role or blanket WordPress administrator permissions.

VALIDATION PERFORMED
All 17 PHP files parsed using php-parser configured for PHP 8.0. Reviewed nonce,
POST-only mutation checks, regional authorization, volunteer eligibility, escaping,
private post types, audit-failure handling and upgrade wiring. No PHP interpreter,
WordPress instance or live database was available for runtime testing here.

CHECK ON A TEST SITE BEFORE LIVE USE
1. Log in as admin: select two different regions; verify member/activities scope.
2. Log in as an approved coordinator: verify only their assigned region appears.
   Changing ppm_coord_region in the URL must not expose another region.
3. A regular member and logged-out visitor must not see the coordinator dashboard.
4. Enable contact AND volunteer preferences on an active member. Confirm that
   member appears in the task assignee list only for the same region.
5. Create an unassigned task, then an assigned task. Verify the assignee can update
   it and another member cannot (including a forged record ID).
6. Withdraw contact/volunteer permission: new assignments must be rejected and
   the coordinator task list must hide that assignee's name. Existing active
   assignees may still update their own task until membership/region changes.
7. Change/withdraw coordinator approval or suspend membership: privileged access
   must stop immediately. Test forged POST requests for other regions/records.
8. Save progress report; confirm admin can read it by selecting that region.
9. Check existing registration, agreement, certificate and activity workflows.
10. Verify mobile layout, cache exclusions, and the existing audit log.

LIMITS
Member table shows the first 100 permitted active members; tasks first 100,
reports first 20, activities first 20. Counts cover all queried regional members.
Task reassignment, task deletion, report editing and email notifications are not
included in this first dashboard release. All records use private post types.
Free-text task/report details should avoid unnecessary personal information.
The broader existing plugin has not received a complete security audit.
