Mentorship
Mentorship
Section titled “Mentorship”Mentor-led study is core to Garrison Bible Study. v1 ships foundation: invitation-only pairings, participation modes on studies, and per-step discipleship note lanes. Chat, tasks, and church assignment are later.
See also Study Plans, Identity and Access, Messaging (deferred).
Relationship model
Section titled “Relationship model”| Rule | Detail |
|---|---|
| Pairing | Invitation only in v1 (no church auto-assign) |
| Cardinality | One mentor may have many mentees; one active mentor per mentee |
| Mentor eligibility | Mentor must be Meat spiritual phase or higher |
| Gender pairing | Female mentor + male mentee: hard block (1 Timothy 2:11–12; Titus 2:3–5). Male mentor + female mentee: allowed only after both parties acknowledge a cross-gender warning on invite and accept. Same-gender pairings: no extra gate. Both users must have gender set. |
| Identity verification | When Identity verification ships, non-exempt users must pass platform IDV before initiating or accepting a mentorship invite |
| Study ownership | Studies remain on the mentee (studies.user_id); mentor access is via active mentorship_id |
Table: mentorships — mentor_user_id, mentee_user_id, status (pending, active, declined, ended, revoked), invited_by_user_id, timestamps.
Deferred: church-proposed mentors, guardian approval (pending_guardian), church_id on rows.
Gender pairing exceptions (deferred)
Section titled “Gender pairing exceptions (deferred)”| Exception | Effect |
|---|---|
| Guardian mother + own young son | May bypass female-mentor / male-mentee hard block when subprofiles ship |
| Spouse, parent/child, group (not 1:1) | May skip cross-gender warning for male mentor + female mentee |
Hooks live in MentorshipEligibility; all return false until household and group flows exist.
Participation modes
Section titled “Participation modes”Templates declare what modes they support:
supports_mentored_participationsupports_individual_participation
Each study stores participation_mode:
| Mode | Step note lanes | Writers |
|---|---|---|
mentored | mentee + mentor | Mentee owns study; mentor writes mentor lane only |
individual | individual | Study owner only |
A study uses one mode at create time—not all three lanes on the same study.
Create-study rules
Section titled “Create-study rules”- Resolve plan template (method, phase, focus) as today.
- Milk + template supports mentored → require active mentorship; force
participation_mode = mentored. - Transition / meat →
individualwhen no mentorship or template allows;mentoredwhen active mentorship and template allows (UI may offer choice when both flags are true). - Persist
studies.mentorship_idwhen mentored.
Milk book and guided plans are typically mentored-only in seed data.
Step note lanes
Section titled “Step note lanes”Materialized study_steps link optional notes per lane:
mentee_note_id— mentee reflection (mentored studies)mentor_note_id— mentor guidance (mentored studies)individual_note_id— solo journaling (individual studies)
completeStudyStep attaches notes to the lane matching the study’s participation mode and the step’s completionMode.
Discipleship lanes are visible to the paired mentor and mentee. Mentor private notes (mentor_private_note_id on a step) are visible only to the mentor — not shared on the discipleship lane. General notes on the study detail page (not tied to a step lane) remain owner-private — see Identity and Access.
Step completion handoffs
Section titled “Step completion handoffs”Mentored templates use typed completion modes instead of a single “complete step” for every row:
| Mode | Typical actor | Behavior |
|---|---|---|
write_note | Mentee | Mentee submits lane notes |
review_note | Mentor | Mentor reviews; may reject back to prior write step (mentor note required) |
meet | Pair | Stub: acknowledge plus optional notes until study sessions exist |
acknowledge | Mentee / mentor / pair | Confirm only |
assign_track | Mentor | Assign published track to mentorship (completeStudyStep + trackId) |
answer_quiz | Mentee | Submit quiz via submitQuizAttempt, then complete step with quizAttemptId |
attest_outcomes | Mentor | Confirm outcome slugs via outcomeChecks on completeStudyStep |
promote_phase | Mentor | Advance mentee spiritual_phase when track and outcomes are satisfied |
Parallel waves let mentor and mentee prepare simultaneously before a shared meet step.
Intro pairing study
Section titled “Intro pairing study”Published study_method = mentorship templates with mentorship_plan_kind = intro (seeded per spiritual phase) are promoted on the mentor mentee page when the pairing has no track and no studies yet. Assign via assignMentorshipIntroStudy. The final step uses assign_track; mentors browse tracks with tag filters or optionally call suggestMentorshipTracks (AI, admin_study_plan_ai flag) for a top-five shortlist.
Phase promotion checkup
Section titled “Phase promotion checkup”When the assigned track is complete, mentors see checkupStudyPromotion for templates with mentorship_plan_kind = checkup and checkup_context = phase_promotion. Assign via assignMentorshipCheckupStudy. Steps combine quiz, mentor outcome attestation, meet, and promote_phase (sets users.phase_source = mentor). See Phase promotion and Learning outcomes.
Onboarding profile
Section titled “Onboarding profile”learning_style, personality_focus, and study_motivation do not change step schema in v1. Templates use one instruction set per (method, phase, focus). Mentors may adapt in the mentor note lane without extra columns.
Later: variant templates or resolver logic keyed on users.learning_style.
GraphQL (v1 foundation)
Section titled “GraphQL (v1 foundation)”| Area | Operations |
|---|---|
| Mentorship | inviteMentorship, acceptMentorship, declineMentorship, endMentorship, assignMentorshipIntroStudy, assignMentorshipCheckupStudy, assignMentorshipTrack, assignNextTrackStudy, submitQuizAttempt |
| Queries | myMentorships, pendingMentorshipInvites, menteeStudy (mentor), activeMentorship (mentee), introStudyPromotion, checkupStudyPromotion, suggestMentorshipTracks |
| Study | participationMode, mentorshipId, outcomeEvaluations on Study; lane note ids, quizQuestions, latestQuizAttempt on StudyStep |
Local dev seed
Section titled “Local dev seed”DevSeeder creates two active mentorships before sample studies so milk book create works: user@garrison.test (milk) mentored by mentor@garrison.test (meat), and mentor@garrison.test mentored by admin@garrison.test (platform admin).
Deferred
Section titled “Deferred”- In-app mentor/mentee Messaging
- Mentorship tasks (distinct from study steps)
- Church assignment + guardian approval
- Mentor aggregate dashboard (streaks, time studied)
- Periodic checkup studies (
checkup_context = periodic) - Per-user step variants from onboarding fields