alumni_lookup

Phase 12 — Source-Alignment Review

Canonical sources: Portal philosophy, posture, and language live in /docs/planning/champion-portal/source/README.md.
Use these sources (including CHRIST_CENTERED__IDENTITY_STATEMENT.md) when writing specs or user-facing copy. Prefer quoting/paraphrasing over inventing new language.

Status: ✅ Complete
Date: 2025-07-14 (review) · 2026-02-16 (implementation) · 2026-02-16 (wrapped)
Scope: Full audit of Champion Portal user-facing text against the 20 canonical source documents
Method: Automated grep + manual review of all CP controllers (38), view directories (37), mailers (10), helpers (9), config files (4), and JS controllers


A. Review Method

Audit Scope

Every user-facing surface of the Champion Portal was searched against the principles established in the canonical source documents at /docs/planning/champion-portal/source/.

Surface Count Method
CP controllers 38 files in app/controllers/cp/ Flash messages, redirect notices, error copy
CP view directories 37 dirs in app/views/cp/ Headings, labels, empty states, CTAs, body copy
Mailers 10 mailer classes (7 CP-namespaced + 3 root) Subject lines, body copy, footer text
Email templates 19+ templates in app/views/cp/*_mailer/ Full text audit
Helpers 9 files in app/helpers/cp/ Display strings returned to views
Config YAML faq.yml, welcome_packs.yml, career_resources.yml, primary_contacts.yml User-facing strings
JS controllers app/javascript/controllers/ Alert/confirm messages, UI strings
Seeded content docs/seeded_questions_100.yml, rake tasks System-generated posts

Source Documents Referenced

All 20 files in /docs/planning/champion-portal/source/:

# Filename Short label
1 CHRIST_CENTERED__IDENTITY_STATEMENT.md IDENTITY
2 CHRIST_CENTERED__PORTAL_IMPLICATIONS.md IMPLICATIONS
3 ALUMNI_CHAMPIONS__VERBAL_STYLE_GUIDE.md VERBAL
4 ALUMNI_CHAMPIONS__ONBOARDING_PHILOSHOPY.md ONBOARDING
5 ALUMNI_CHAMPIONS__OVERVIEW.md OVERVIEW
6 ALUMNI_CHAMPIONS__ROLES_FRAMEWORK.md ROLES
7 FOUNDATIONS__CORE_ALUMNI_NARRATIVE.md NARRATIVE
8 FOUNDATIONS__CREATION_FALL_REDEMPTION_RECREATION_ARC.md ARC
9 FOUNDATIONS__ENGAGEMENT_ECOSYSTEM_MODEL.md ECOSYSTEM
10 FOUNDATIONS__HOPE_BEYOND_THE_TOWER_LIFESTAGE_RHYTHM.md LIFESTAGE
11 HOPE_TRANSFORMS__GIVING_PHILOSOPHY.md GIVING
12 HOPE_TRANSFORMS__OVERVIEW.md HT-OVERVIEW
13 HOPE_TRANSFORMS__PILLARS.md HT-PILLARS
14 HOPE_TRANSFORMS__FUNDING_PROIRITIES.md HT-FUNDING
15 COMMUNICATIONS__PORTAL_PURPOSE_AND_POSTURE.md POSTURE
16 COMMUNICATIONS__INVITATIONS_AND_CTAS.md INVITATIONS
17 COMMUNICATIONS__PERSONALIZATION_AND_SEGMENTATION.md PERSONALIZATION
18 COMMUNICATIONS__MEASUREMENT_FOR_PORTAL_MESSAGING.md MEASUREMENT

Plus README.md (index) and SOURCES_CHANGELOG.md (version history).

Key Principles Extracted

| Source | Non-negotiable Principle | |——–|————————–| | IDENTITY | Everyone has dignity. Unleash hospitality. Hope that endures. The Christ-centered identity is expressed through radical welcome, not labels. | | IMPLICATIONS | Use: “dignity”, “belonging”, “hospitality”, “hope in action”, “character and calling.” Avoid: doctrine debates, insider/outsider language, overt theological labels that create exclusion. | | VERBAL | “Invitational, never recruiters.” Say the main point first. Short sentences. Avoid: “We need you”, “Apply/qualify/earn”, guilt/urgency. | | GIVING | “Generosity is formation, not merely financial.” “Stories before numbers.” “Gratitude, not guilt.” | | NARRATIVE | Belonging → transition → rebuilding. “You still belong.” Normalize re-entry. | | ONBOARDING | First impression = warmth and belonging, not tasks. Identity-first, not feature-first. |

Inclusivity & Identity Framing (Added 2026-02-16)

Guiding principle for all Phase 12 implementation: This portal is for all Belmont alumni, not exclusively those who self-identify as “Champions.” By showing up, every alum is already a Champion. The language must reflect this.

The hybrid approach:

Vocabulary guidance for this phase:

Context Use Avoid
Pre-registration / external “alumni,” “Bruins,” “your community” “Champion Portal,” “become a Champion”
Post-login / internal “Champion” (as celebration), “Bruin” “user,” “member” (except in moderation/admin)
Email footers / system messages “your Belmont alumni community” “the Alumni Champions system/platform”
Gatekeeping moments Warm explanation + redirect “You don’t qualify,” “You must be…”

This framing aligns with Phase 13’s planned language evolution and should be applied to all findings below.

B. Product-Surface Inventory

Controllers (38)

Controller Domain User-Facing Text?
dashboard_controller.rb Home/dashboard Flash messages
landing_controller.rb Public landing page — (view-driven)
registrations_controller.rb Sign-up Flash messages
sessions_controller.rb Sign-in Flash messages
confirmations_controller.rb Email confirmations Flash messages
passwords_controller.rb Password reset Flash messages
profile_controller.rb Profile edit Flash messages
profile_wizard_controller.rb Onboarding wizard Flash messages
verification_controller.rb Identity verification Flash messages
directory_controller.rb Champion directory
boards_controller.rb Discussion boards Flash messages
board_comments_controller.rb Board comments Flash messages
replies_controller.rb Comment replies Flash messages
news_controller.rb Community news Flash messages
events_controller.rb Events Flash messages
communities_controller.rb Communities Flash messages
community_suggestions_controller.rb Community suggestions Flash messages
message_threads_controller.rb Messaging Flash messages
messages_controller.rb Message compose Flash messages
contacts_controller.rb Contact list Flash messages
invites_controller.rb Champion invites Flash messages
blocks_controller.rb User blocking Flash messages
photo_albums_controller.rb Photo albums Flash messages
photos_controller.rb Photo management Flash messages
reactions_controller.rb Content reactions — (turbo)
notifications_controller.rb Notifications
notification_preferences_controller.rb Notification settings Flash messages
settings_controller.rb Account settings Flash messages
help_controller.rb Help/FAQ
careers_controller.rb Career resources — (view-driven)
leadership_controller.rb Community leadership Flash messages
moderation_controller.rb Content moderation Flash messages
support_threads_controller.rb Support requests Flash messages
push_subscriptions_controller.rb Push notifications
roadmap_controller.rb Development roadmap
omniauth_callbacks_controller.rb OAuth callbacks Flash messages
unlocks_controller.rb Account unlock Flash messages
application_controller.rb Base controller Helper methods

View Directories (37)

Key user-facing directories with substantial copy:

Mailers (10)

Mailer Templates Facing
Cp::ChampionMailer invite, confirmation_instructions External
Cp::NotificationMailer digest (daily/weekly), verification_pending, verification_approved, welcome, support_reply, leadership_promotion External
Cp::CommunityMailer join_request_admin, welcome, request_update, membership_update External + Admin
Cp::SupportThreadMailer new_thread, staff_reply External + Admin
Cp::FeedbackMailer beta_feedback Admin
Cp::ModerationMailer auto_hidden, escalated Admin
Cp::AdminNotificationMailer new_signup, weekly_summary Admin
VerificationMailer External
InviteMailer External
ApplicationMailer Base

Config Files

File Content Lines
config/faq.yml 11 FAQ categories + onboarding tooltips ~237
config/welcome_packs.yml Community welcome message templates ~237
config/career_resources.yml Career resource links
config/primary_contacts.yml Staff contact info

C. Findings & Recommendations

Severity Scale

Level Meaning
CRITICAL Core source-doc principle entirely absent from portal
HIGH Key touchpoint (landing, onboarding, peak moments) violates a named principle
MEDIUM Vocabulary or tone mismatch in secondary surfaces
LOW Minor wording improvement or missed opportunity
STRUCTURAL Architectural pattern that makes alignment harder

LANGUAGE Findings (L-01 through L-14)


L-01 · CRITICAL · Christ-centered identity not expressed through portal voice

Current state: The portal’s tone is warm but generic — it could belong to any alumni platform. The distinctive posture that flows from Belmont’s Christ-centered identity (radical hospitality, dignity for every person, belonging without qualification, hope-centered language) is not yet woven into the portal’s voice.

Source violated: IDENTITY_STATEMENT (“All people have dignity”, “Unleash hospitality”), IMPLICATIONS (use “dignity”, “belonging”, “hospitality”, “hope in action”, “character and calling”)

Important nuance: The goal is NOT to add overt theological labels (“Christ-centered” in the footer, faith language in CTAs). That risks making non-Christian alumni feel unwelcome — the opposite of the source docs’ intent. Instead, the Christ-centered identity should be expressed through how people are treated: unconditional welcome, radical hospitality, language that communicates “you have dignity and you belong here, period.” Everyone should feel welcome, especially those who don’t share the faith tradition.

Recommendation: Let the identity come through in posture, not labels:

Anti-pattern: Do NOT add explicit theological language to footers, CTAs, headings, or prominent UI elements. That creates an insider/outsider dynamic the sources explicitly reject.

Files to update (through other findings):


L-02 · HIGH · “Sign Up — It’s Free” CTA

Current state: Primary CTA on landing page and careers page uses transactional “Sign Up — It’s Free.”

Source violated: VERBAL (“Invitational, never recruiters”), ONBOARDING (identity-first)

Recommendation: Replace with invitational CTA per INVITATIONS source. Examples:

Files to update:


L-03 · HIGH · “Become a Champion” registration heading

Current state: Registration page heading says “Become a Champion.”

Source violated: VERBAL (“Avoid: Apply/qualify/earn”). “Become” implies earning status.

Recommendation: Replace with identity-affirming language. Examples:

Files to update:


L-04 · HIGH · “recruitment district” language

Current state: Profile completion page says “We use your ZIP code to assign you to a recruitment district.”

Source violated: VERBAL (“Invitational, never recruiters”). “Recruitment” is the exact posture the sources reject.

Recommendation: Replace “recruitment district” with “your local community” or “your Bruin community.” Examples:

Files to update:


L-05 · HIGH · “You don’t currently qualify” flash message

Current state: Communities controller responds with “You don’t currently qualify for this community.”

Source violated: VERBAL (“Avoid: Apply/qualify/earn”), IMPLICATIONS (avoid insider/outsider language)

Recommendation: Replace with warm, explanatory language:

Files to update:


L-06 · MEDIUM · “the Belmont Alumni Champions system” in emails

Current state: 4 support thread mailer templates use “system” in footer text.

Source violated: VERBAL (relational tone), IMPLICATIONS (avoid product language)

Recommendation: Replace “system” with “community” or remove entirely:

Files to update:


L-07 · MEDIUM · “User” instead of “Champion” or “person”

Current state: “Anonymous User” in feedback mailer templates; “Block User” in discussion board actions; “from X users” in moderation views.

Source violated: VERBAL — Champions are champions, not “users.”

Recommendation: Replace all user-facing instances of “user” with “champion”, “person”, or “member”:

Files to update:


L-08 · MEDIUM · “Career Tools & Platforms” + heavy “networking”

Current state: Careers page uses “Platforms” in heading and “networking” 7 times. CTA: “Join the Bruin Network.”

Source violated: VERBAL (warm/relational, not corporate), IMPLICATIONS (community > network)

Recommendation: Replace “platforms” with “resources” and “networking” with “connecting” or “community”:

Files to update:


L-09 · MEDIUM · “Alumni Champion Network” mixed with “community”

Current state: Communities explore page mixes “network” and “community” terminology inconsistently.

Source violated: IMPLICATIONS, NARRATIVE (belonging > networking)

Recommendation: Standardize on “community” throughout. Reserve “network” only for external platform references (e.g., LinkedIn).

Files to update:


L-10 · MEDIUM · “New to Champion Portal?” sign-in prompt

Current state: Sign-in page asks “New to Champion Portal?” — treating the portal as a product.

Source violated: IMPLICATIONS (community, not product)

Recommendation: Replace with relational framing:

Files to update:


L-11 · MEDIUM · “Welcome to the Champion Portal!” email subject

Current state: Welcome email subject line uses product name.

Source violated: ONBOARDING (warmth/belonging), IMPLICATIONS (community > product)

Recommendation: Replace with relational subject:

Files to update:


L-12 · MEDIUM · “network” in welcome_packs.yml

Current state: Welcome pack templates say “You’re now part of the alumni network” and “Professional networking with alumni in your industry.”

Source violated: IMPLICATIONS, NARRATIVE

Recommendation: Replace “network” with “community”:

Files to update:


L-13 · MEDIUM · FAQ uses “portal” as product name throughout

Current state: FAQ copy references “the portal” repeatedly as a product noun (“navigate the portal”, “your experience on the portal”).

Source violated: IMPLICATIONS (community, not product), VERBAL

Recommendation: Replace “the portal” with “Alumni Champions” or “the community” in FAQ copy. Reserve “portal” for technical contexts only.

Files to update:


L-14 · LOW · Gatekeeping flash messages across controllers

Current state: Multiple controllers use gatekeeping language:

Source violated: VERBAL (“Invitational, never recruiters”), IMPLICATIONS (avoid insider/outsider framing)

Recommendation: Soften gatekeeping messages:

Files to update:


ONBOARDING Findings (O-01 through O-05)


O-01 · HIGH · Landing page — feature-first, no identity grounding

Current state: Landing page hero says “Your people are waiting” (good) but pillars are entirely feature-driven: “Connect with Bruins”, “Host & Attend Events”, “Share Stories.” No reference to belonging, formation, calling, character, dignity, or hope.

Source violated: NARRATIVE (belonging-first), IMPLICATIONS (dignity, hospitality, belonging language), ONBOARDING (identity-first)

Recommendation: Shift pillars from features to identity, and let warmth/hospitality carry the voice:

Anti-pattern: Do NOT add “A Christ-centered community” as a prominent heading. Express the identity through hospitality and belonging, not labels.

Files to update:


O-02 · HIGH · Confirmation email — task-oriented

Current state: Confirmation email lists 4 tasks (Confirm → Complete Profile → Connect → Show Up). Closes with “Go Bruins! 🐻”. No belonging, formation, or identity framing.

Source violated: ONBOARDING (“First impression must communicate warmth and belonging, not tasks”)

Recommendation: Lead with belonging, then guide. Per NARRATIVE (“You still belong”):

Files to update:


O-03 · HIGH · Verification email — missed peak moment

Current state: “🎉 You’re Verified!” followed by a feature list (Find Champions, Send Messages, Join Communities, Discover Events). This is a peak emotional moment used for feature promotion.

Source violated: ONBOARDING, NARRATIVE (“You still belong”)

Recommendation: Use this moment to affirm identity per NARRATIVE:

Files to update:


O-04 · HIGH · Invite email — feature-first framing

Current state: Invite email describes Champions as “engaged Belmont graduates who: Connect, Host, Share, Stay connected.” Pure feature list with no belonging/identity framing.

Source violated: ONBOARDING (identity-first), NARRATIVE (“You still belong”)

Recommendation: Rewrite invite body per INVITATIONS source:

Files to update:


O-05 · MEDIUM · Profile wizard — feature-driven, no identity anchoring

Current state: 20-step profile wizard drives profile completion. Uses “recruitment district.” No identity/formation framing between steps.

Source violated: ONBOARDING (identity-first), VERBAL (avoid “recruitment”)

Recommendation: Add brief identity-grounding interstitials between wizard sections:

Files to update:


FUNCTIONALITY Findings (F-01 through F-06)


F-01 · HIGH · Roles confined to quiz — not woven into experience

📋 Phase 11 scope: This finding is the subject of Phase 11: Champion Role Dashboard Card. The recommendations below served as input for that spec.

Current state: Champion roles (Community Builder, Digital Ambassador, Connection Advisor, Giving Advocate) appear only in the quiz/wizard flow and profile badges. They are NOT referenced in dashboard, empty states, suggestion cards, notifications, or mailers.

Source violated: ROLES (roles are identities that shape ongoing experience), ECOSYSTEM (roles guide participation)

Recommendation: Weave role identity into ongoing touchpoints:

Files to update:


F-02 · HIGH · 20+ bare “No X yet” empty states

Current state: Majority of empty states follow “No [content type] yet” pattern: “No discussions yet”, “No news posts yet”, “No upcoming events”, “No communities yet”, “No messages yet”, “No members yet”, “No comments yet”, “No photos in this album”, “No communities available”, “No members to display”, “No contacts yet.”

Source violated: VERBAL (warm, invitational), DESIGN-GUIDELINES §5.5 (“Every empty state invites action”)

Recommendation: Rewrite each empty state with warmth + CTA per INVITATIONS:

Files to update:


F-03 · MEDIUM · Zero “generosity as formation” language

Current state: Only 1 match for generosity/giving across all CP views (careers page: “give back to fellow Bruins”). The Giving Philosophy source doc’s entire framework is absent.

Source violated: GIVING (“Generosity is formation, not merely financial”; “Stories before numbers”; “Gratitude, not guilt”)

Recommendation: Add giving-philosophy language where contribution is referenced:

Files to update:


F-04 · MEDIUM · Source guardrail phrases never appear

Current state: The following phrases from IMPLICATIONS appear zero times in user-facing copy: “unleash hospitality”, “hope in action”, “character and calling”, “wisdom”, “dignity” (in source-doc context).

Source violated: IMPLICATIONS (these are specifically listed as language TO use)

Recommendation: Incorporate guardrail phrases into appropriate surfaces:

Files to update:


F-05 · MEDIUM · Transactional flash messages at key moments

Current state: 80+ flash messages across CP controllers use functional language: “Changes saved successfully”, “Signed in successfully”, “Password updated!”, “Your comment has been posted.” Even key moments (first login, first post, first community join) use the same transactional tone.

Source violated: VERBAL (warm tone)

Recommendation: Upgrade flash messages at milestone moments with warmth:

Files to update:


F-06 · STRUCTURAL · No i18n infrastructure for CP copy

Current state: All CP user-facing text is hardcoded in views, controllers, config YAMLs, and service objects. config/locales/ contains only devise.en.yml and en.yml. No centralized copy management.

Source violated: Not a direct source violation, but a structural barrier to implementing alignment improvements at scale.

Recommendation: Consider creating a config/locales/cp.en.yml for centralizing user-facing Champion Portal copy. This would:

Files to create:

Priority: LOW — implement alongside other alignment work, not as a standalone task.


D. Source-Coverage Matrix

How well does each source document’s core message appear in the portal?

Source Document Core Message Portal Coverage Gap Severity
IDENTITY_STATEMENT Christ-centered identity expressed through hospitality & dignity WEAK — tone is warm but generic; distinctive hospitality/dignity posture absent CRITICAL
PORTAL_IMPLICATIONS Guardrail phrases & hospitality language ABSENT — none of the recommended phrases (“dignity”, “hospitality”, “belonging”, “character and calling”) appear CRITICAL
VERBAL_STYLE_GUIDE Invitational tone, avoid recruitment PARTIAL — warm in places, but “recruit”, “qualify”, “become” still present HIGH
ONBOARDING_PHILOSHOPY Identity-first, belonging-first WEAK — onboarding is task/feature-first at every touchpoint HIGH
CORE_ALUMNI_NARRATIVE “You still belong”, formation arc WEAK — “Your people are waiting” is close, but narrative arc absent HIGH
GIVING_PHILOSOPHY Generosity as formation ABSENT — one passing mention HIGH
ROLES_FRAMEWORK Roles shape ongoing experience PARTIAL — roles exist but confined to quiz/badge MEDIUM
ENGAGEMENT_ECOSYSTEM_MODEL Ecosystem participation model PARTIAL — activity tracking exists, language doesn’t reflect model MEDIUM
INVITATIONS_AND_CTAS Invitational CTA patterns WEAK — CTAs are transactional MEDIUM
PORTAL_PURPOSE_AND_POSTURE Community posture PARTIAL — warm in dashboard, corporate elsewhere MEDIUM
HOPE_BEYOND_THE_TOWER_LIFESTAGE_RHYTHM Lifestage-aware engagement WEAK — lifestage not reflected in UX LOW
CREATION_FALL_REDEMPTION_RECREATION_ARC Theological narrative arc NOT EXPECTED in UI — background doc
PERSONALIZATION_AND_SEGMENTATION Personalized messaging PARTIAL — community-based personalization exists LOW
MEASUREMENT_FOR_PORTAL_MESSAGING Messaging effectiveness NOT EXPECTED in UI — analytics doc
HOPE_TRANSFORMS__OVERVIEW Campaign context NOT EXPECTED in UI — background doc
HOPE_TRANSFORMS__PILLARS Campaign pillars ABSENT from portal surfaces LOW
HOPE_TRANSFORMS__FUNDING_PROIRITIES Funding context NOT EXPECTED in UI — background doc
ALUMNI_CHAMPIONS__OVERVIEW Program overview PARTIAL — program described functionally, not missionally MEDIUM

E. Implementation Priority

Tier 1 — Must Fix (CRITICAL + HIGH findings)

These findings address the most fundamental source-alignment gaps:

# Finding Impact Effort
L-01 Express identity through hospitality/dignity/belonging Defines portal identity Medium
O-01 Landing page identity grounding First impression for every visitor Medium
O-02 Confirmation email — belonging-first First email every champion receives Low
O-03 Verification email — peak moment Highest-emotion touchpoint Low
O-04 Invite email — identity framing Every invite sent Low
L-02 Replace “Sign Up — It’s Free” CTA Primary conversion touchpoint Low
L-03 Replace “Become a Champion” Registration heading Low
L-04 Replace “recruitment district” Profile completion Low
L-05 Replace “You don’t qualify” Community gatekeeping Low
F-01 Weave roles into ongoing experience Ongoing engagement High
F-02 Rewrite 20+ empty states Every content area Medium

Tier 2 — Should Fix (MEDIUM findings)

# Finding Impact Effort
L-06 Replace “system” in mailer footers Email tone Low
L-07 Replace “User” with “Champion/person” Consistent identity Low
L-08 Careers page vocabulary Career resources section Low
L-09 “Network” → “Community” standardization Community explore Low
L-10 Sign-in page product language Sign-in experience Low
L-11 Welcome email subject line First email subject Low
L-12 Welcome packs “network” language Community welcome Low
L-13 FAQ “portal” → “community” Help/FAQ content Medium
F-03 Add generosity-as-formation language Contribution framing Low
F-04 Incorporate guardrail phrases Source-prescribed vocabulary Medium
F-05 Warm flash messages at milestones Ongoing experience Medium
O-05 Wizard identity interstitials Onboarding flow Medium

Tier 3 — Structural Improvements

# Finding Impact Effort
F-06 Create CP i18n file Future alignment maintainability High
L-14 Soften gatekeeping messages Access-denied experiences Low

Appendix: Implementation Summary

Completed: 2026-02-16 · Tests: 3316 runs, 0 failures, 0 errors

What Was Implemented

Tier Findings Files Changed Test Fixes
Tier 1 (Quick Wins) L-02, L-03, L-04, L-05, L-06, L-07, L-10, L-11, L-12 15 app files, 3 test files 8
Tier 2 (Email Overhaul) O-02, O-03, O-04 6 email templates, 1 test file 1
Tier 3 Wave A (Vocab + Gatekeeping) L-09, L-13, L-14 6 app files, 2 test files 2
Tier 3 Wave B (Empty States) F-02 8 app files, 2 test files 2
Tier 3 Wave C (Flash Messages) F-05 3 app files, 2 test files 3
Tier 3 Wave D (Landing Page) O-01 1 app file, 1 test file 1
Tier 3 Wave E (Wizard) O-05 2 app files 0

Key Decisions Made During Implementation

  1. Inclusivity framing: External-facing = “alumni” / “Bruins” (welcoming). Internal = “Champion” as celebration of showing up. Never a gated title.
  2. Platform naming: No proper noun for the platform. “Alumni Champions” = the people, not the product. Use “your community” / “your alumni community” in copy.
  3. Landing pillars: Renamed from Connect/Host Events/Share Stories → Belong / Gather / Inspire (identity arc, not feature list).
  4. L-08 skipped: “Careers & Networking” label kept as-is — user decided careers and networking naturally go together.

Explicitly Deferred

Finding Reason Target
F-01 Roles woven into experience — scoped to Phase 11 Phase 11 scope
F-03 Generosity-as-formation language — future content work Future
F-04 Source guardrail phrases — partially addressed via other findings Future
F-06 i18n infrastructure — user deferred explicitly Future
L-08 Careers networking vocabulary — user approved current Kept as-is

Documentation Updates


Appendix: Files Changed in This Review Phase

This document is a review and recommendation document only. No application code was modified. Implementation of these recommendations should be tracked as future work items, potentially as Phase 12 sub-phases or backlog items.

  1. Quick wins (1-2 hours): L-02, L-03, L-04, L-05, L-06, L-07, L-10, L-11, L-12 — simple string replacements
  2. Email overhaul (2-4 hours): O-02, O-03, O-04 — rewrite 3 key email templates
  3. Landing page (2-4 hours): O-01, L-01-landing — add identity grounding to landing page
  4. Empty states (4-6 hours): F-02 — rewrite 20+ empty states with source-aligned copy
  5. Role integration (8-16 hours): F-01 — weave roles into dashboard, empty states, notifications
  6. FAQ & config (2-4 hours): L-13, L-08, L-09, F-04 — vocabulary standardization
  7. Wizard polish (4-6 hours): O-05 — add identity interstitials to profile wizard
  8. Infrastructure (8-16 hours): F-06 — CP i18n file (do alongside other copy work)