Membership Apply

Expert membership now opens as a real route, but it still stays honest about manual review.

The expert platform now has a live membership-application route. It captures the applicant draft, shows the manual-review approval preview, and keeps the later master-upgrade lane explicit without pretending the admin queue already runs automatically.

Keep the first intake inside apps/expert so the route family is complete before real reviewer tooling lands.
Treat every state as review-first and fail-soft: submitted, approved-member preview, and master-upgrade preview.
Use the shared auth-policy matrix instead of inventing a separate membership state machine just for this page.
Policy ladder

The approval matrix is visible on the route instead of hiding inside future reviewer tooling.

These cards keep the three-step ladder visible on one route: who can apply, what gets created, and which capabilities remain locked or unlocked at each state.

GuestPatientExpert Pending

Expert application submission

expert_application_submission

The first submission never grants member-only access. It only creates the `expert_pending` identity state and waits for reviewer action.

Approval state: Pending manual review
Expert PendingExpert Member

Expert membership approval

expert_membership_approval

The approved `expert_member` lane unlocks the future academy, network, and store surfaces only after manual admin review.

Approval state: Approved
Expert MemberExpert Master

Expert master upgrade

expert_master_upgrade

The `expert_master` tier is not a self-serve badge. It stays on a later completion-and-review lane even after membership approval.

Approval state: Elevated
Application intake

Create the pending-review expert application draft.

Guests and patients can submit the first expert-membership application here. The route normalizes the created `expert_pending` role and keeps the applicant on a manual-review lane instead of pretending approval is instant.

The current policy allows applications from `guest` and `patient` only. Both produce the same `expert_pending` role and wait for manual review.

Configured mailbox
Runtime contractv1

Submission and review previews already share the same contract version.

The server helper normalizes application drafts, approval previews, and master-upgrade previews against the shared auth-policy matrix.

Review mailbox mode
Configured mailbox
Applicant entry role
Guest applicantPatient applicant
Role ladder

The expert route now owns the whole membership ladder without claiming instant approval.

The role ladder is locked to the shared policy matrix: first application, then admin-reviewed membership approval, then a reviewed master-upgrade lane.

Application creates expert_pending

The first submission never grants member-only access. It only creates the `expert_pending` identity state and waits for reviewer action.

Membership approval is admin-reviewed

The approved `expert_member` lane unlocks the future academy, network, and store surfaces only after manual admin review.

Master upgrade is a second reviewed lane

The `expert_master` tier is not a self-serve badge. It stays on a later completion-and-review lane even after membership approval.

Role ladder

The expert route now owns the whole membership ladder without claiming instant approval.

The role ladder is locked to the shared policy matrix: first application, then admin-reviewed membership approval, then a reviewed master-upgrade lane.

Approval preview

Preview the manual approval lane before the real admin queue exists.

This preview shows how an admin-reviewed approval would move a submitted applicant from `expert_pending` into the approved `expert_member` lane once credential review is complete.

Role-upgrade preview

Preview the reviewed master-upgrade lane without faking automatic elevation.

This preview shows how an approved `expert_member` later enters the manual-review master-upgrade lane and what evidence must be present before the role can elevate.

This route is intentionally review-first. It proves the application and upgrade contracts now, while the real admin queue, persistence, and role mutation remain future work.