Skip to content

[Feature · V1 · #459] Unified Channel Profile: inline owner view, Materials & Hours tabs, Centre Affiliation & Pro-Bono capacity #548

Closed
0 of 3 issues completed

Description

@owlstonbusiness-svg

Header

1. Problem

Currently, MatchMax suffers from a fragmented profile experience:

  • Internal vs. Public Mismatch: Tutors edit their data in an internal settings view that looks completely different from their public profile card/page, making it hard to visualize how parents see them.
  • Siloed Credentials & Assets: Clicking a user/tutor card only shows basic tutoring fields. It does not act as a unified "YouTube Channel" housing everything they do on MatchMax—their published Study Materials/Notes, Date Joined, Verified Teaching/Learning Hours, Active Student Count, Academic CV ([Feature · V1 · #459] Lifelong Academic Records & Education CV #545), and Centre Affiliations.
  • Missing Pro-Bono Capacity & Stigma-Free Matching: While Feature: MatchMax Impact (CSR Ecosystem Integration) #400 introduced the Pro-Bono concept, tutors cannot specify how many concurrent pro-bono/discounted cases they can take or display their active pro-bono slot count publicly, and students have no stigma-free way to signal eligibility for pro-bono/discounted rates when requesting a tutor.

2. Product lock

Ship now (V1 Unified Channel Profile) Park (Moved to Social Posts under #460)
• Unified Channel Page (/en/u/[handle] & /en/tutors/[id]): Every tutor/user card clicks through to a comprehensive YouTube/LinkedIn-style channel profile
• Zero-Mismatch Owner Mode: Viewing your own profile shows the exact public layout with inline [ ✎ Edit ] triggers and a [ 👁 Preview Public View ] toggle (sensitive settings stay in /en/account/settings)
• Concentrated Profile Header & Stats Bar: Date Joined, Verified Teaching Hours, Active Students/Lessons count, Notes Sold count, and Centre Affiliations
• Channel Tabs: Overview & CV · Study Materials (Notes) · Reviews & Impact (plus Posts tab when Social Posts ships)
• Centre Association: Tutors/users can link an Education Centre as Affiliated Educator (requires Centre confirmation) or Student / Alumni
• Pro-Bono & Rate Tier System (Extending #400): Tutors set Pro-Bono toggle (Free $0 and/or Reduced Rate), max concurrent slots (e.g., 1–5), and display live public slot status (1/2 Pro-Bono Slots Active) without exposing student identity
• Private Student Access Signal: Case request form includes a private Request Pro-Bono / Reduced Rate toggle visible ONLY to matched tutors and staff (never public on student profile)
• Instagram/LinkedIn Photo & Achievement Posts (Posts tab)
• Post Likes, Comments, Saves, Shares, and @tagging in posts/comments

3. Exact behaviour (how it works)

A. Card-to-Channel Navigation & Owner vs. Public View

  1. Universal Click-Through: Clicking any Tutor Card (in search results), Material Seller badge (on /en/materials), or Centre Faculty card navigates to the user's unified Channel Profile.
  2. Identical Layout (Owner vs. Visitor):
    • When auth.uid() == profile.user_id, the page renders the exact public Channel Profile layout with a sticky top bar: Viewing your public channel · [ ✎ Edit Mode (ON) ] [ 👁 View as Visitor ].
    • In Edit Mode, each block (Bio, Pro-Bono Banner, Academic CV from [Feature · V1 · #459] Lifelong Academic Records & Education CV #545, Centre Affiliations) displays an inline [ ✎ Edit ] button opening its respective modal.
    • Strict Privacy Separation: Private data (phone number, email, HK FPS payout details, private child sub-profiles, internal admin risk flags) MUST NEVER render on the Channel Profile DOM; they remain strictly inside /en/account/settings or the Admin Drawer.

B. Concentrated Profile Metrics & Centre Affiliations

  1. Header Metadata:
    • Display Name / Creator Alias, @handle, Avatar, Cover Banner, Verification Badges (Blue Tick Verified / Community Champion #400).
    • Joined Date: Joined Oct 2026 (於 2026年10月 加入) derived from profiles.created_at.
    • Centre Affiliation Pill:
      • A user can request an affiliation with a registered Partner Centre (centre_id, role_type: 'affiliated_tutor' | 'alumni_student').
      • If role_type == 'affiliated_tutor', status starts as pending until the Centre Admin clicks Approve in their Centre Workspace; once approved, displays 🏛 Affiliated Tutor at [Centre Name] (clickable to the Centre's page) and lists the tutor on the Centre's page.
      • If role_type == 'alumni_student', displays in the user's Academic Timeline (Studied at [Centre Name]).
  2. Live Stats Ribbon (Auto-Calculated):
    • Verified Hours: Sum of confirmed teaching hours from the [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459 ledger.
    • Active Cases / Students: Count of currently active tutoring cases (shows count only, e.g., 4 Active Students, never exposing student names).
    • Study Materials: Count of published notes/materials in the marketplace.
    • Pro-Bono Impact: Count of active/completed pro-bono cases + pro-bono hours.

C. Pro-Bono & Reduced-Rate Signalling Rules (No Student Stigma)

  1. Tutor Supply Settings (Extending Feature: MatchMax Impact (CSR Ecosystem Integration) #400):
    • In Edit Mode, a tutor can configure their Impact & Pro-Bono Preferences:
      • accepts_pro_bono (boolean: $0 Free Tuition for financial-need students)
      • accepts_reduced_rate (boolean: Concessionary / Discounted Rate, with optional reduced_hourly_rate_hkd)
      • pro_bono_max_slots (integer 0–10, e.g., "I can take up to 2 pro-bono students at a time").
  2. Public Signalling on Tutor Channel:
    • When accepts_pro_bono == true or accepts_reduced_rate == true, the tutor's card and profile display the Pro-Bono & Impact Card:
      • Shows capacity: e.g., 🌱 Pro-Bono Capacity: 1 of 2 Slots Active (1 Slot Open) (義教名額:進行中 1/2(尚餘 1 個名額)).
      • If active_pro_bono_cases >= pro_bono_max_slots, badge reads: 🌱 Pro-Bono Capacity Full (Currently teaching 2/2 pro-bono students) — giving the tutor public social proof for actively teaching pro-bono while preventing burnout from extra requests.
  3. Student / Parent Demand Signalling (Strictly Private to Tutor & Staff):
    • Rule: There MUST NOT be a public "Pro-Bono Student" badge on any student's or child's public profile.
    • Instead, inside the Request / Book Tutor modal (when booking a tutor who has Pro-Bono/Reduced Rate enabled, or submitting a general case), the student/parent can check: [x] Apply for Pro-Bono / Financial Assistance Rate (申請義教或學費減免) and enter a brief private note (e.g., family/financial context or referral by school/NGO).
    • On the Tutor's incoming Case Lead Card, this renders a clear badge: [🌱 Pro-Bono / Access Request] ([🌱 義教/減免申請]) alongside [Parent Account] or [Independent Student].
    • Once the case becomes active at $0 (or concessionary rate), the system automatically increments the tutor's active_pro_bono_cases counter on their public profile.

4. UI / UX (how it looks and where it lives)

A. ASCII Wireframe — Unified Channel Profile (/en/u/[handle])

+-----------------------------------------------------------------------+
| [Owner Bar: Viewing Your Channel]  [✎ Edit Mode: ON] [👁 Public View] |
+-----------------------------------------------------------------------+
| [Cover Banner]                                                        |
| (Avatar)  Hauzton Chan  ✓ Blue Tick  🌱 Community Champion            |
|           @hauzton · Joined Aug 2026 · 🏛 Affiliated: Top Leader Ed    |
|           "HKU BBA · IB 42/45 · Specializing in HL Econ & Business"   |
|                                               [ Request Lesson ]      |
+-----------------------------------------------------------------------+
| 📊 128 Verified Hrs  | 👥 4 Active Students | 📚 3 Study Notes | 🌱 1/2 Pro-Bono |
+-----------------------------------------------------------------------+
| 🌱 Pro-Bono & Access Pledge                                    [✎]    |
| Welcomes Pro-Bono ($0) & Reduced-Rate students (HK$150/hr).           |
| Status: Currently teaching 1 Pro-Bono student · 1 Slot Available.     |
+-----------------------------------------------------------------------+
| Tabs: [ Overview & CV (5) ]  [ Study Materials (3) ]  [ Reviews (12) ]|
+-----------------------------------------------------------------------+
| (Tab 1: Overview & CV)                                                |
| • tutoring subjects, rates, MTR stations                              |
| • Public Academic & Achievement Timeline (from #545)                  |
|                                                                       |
| (Tab 2: Study Materials — Direct Buy Cards)                           |
| • [PDF] IB HL Economics Complete Notes · HK$100 · [Buy & Download]    |
+-----------------------------------------------------------------------+

B. Exact Copy (English + 繁中)

  • Joined Date: Joined {month} {year} / 於 {year}年{month}月 加入
  • Active Students Stat: {count} Active Students / {count} 位進行中學生
  • Pro-Bono Capacity Open: Pro-Bono Welcome ({active}/{max} Slots Active — {open} Available) / 歡迎義教申請(進行中 {active}/{max} — 尚餘 {open} 個名額)
  • Pro-Bono Capacity Full: Currently Teaching {active}/{max} Pro-Bono Students (Slots Full) / 現正為 {active}/{max} 位義教學生補習(名額已滿)
  • Student Case Modal Checkbox: Request Pro-Bono ($0) or Reduced Rate (Visible only to the tutor & MatchMax staff) / 申請義教($0)或學費減免(僅導師及平台管理員可見,絕不公開)

5. Logic & edge cases

Case Expected behaviour
User has published Study Materials, but has NOT activated 1-on-1 Teaching Mode Their Channel Profile (/en/u/[handle]) hides the Request Lesson button and tutoring rate table, and defaults directly to the Study Materials and Overview & CV tabs (acting as a Creator/Student channel).
Tutor claims affiliation with a Centre without permission Affiliation badge stays Pending and is hidden from the public profile until the Centre Admin approves it in the Centre Workspace. Either side can revoke the affiliation at any time.
Tutor's Pro-Bono slots are full (2/2 active) The Apply for Pro-Bono ($0) checkbox in the booking modal for that specific tutor is disabled with tooltip: "This tutor's pro-bono slots are currently full (2/2 active), but you may still request their standard or reduced rate."
Pro-Bono case ends When the case status transitions to completed or ended, active_pro_bono_cases decrements by 1 (freeing up the slot automatically), while total Pro-Bono Impact Hours remains permanently credited on the tutor's profile.
0% Admin Fee on $0 Pro-Bono Cases Consistent with #400, cases tagged and confirmed as $0 Pro-Bono incur $0 MatchMax administrative fee.

6. Implementation notes

  • Extend profiles / tutor_profiles with:
    • accepts_pro_bono (boolean, default false)
    • accepts_reduced_rate (boolean, default false)
    • reduced_hourly_rate_hkd (integer, nullable)
    • pro_bono_max_slots (integer, default 0)
  • Create centre_affiliations table (id, user_id, centre_id, role_type: 'affiliated_tutor' | 'alumni_student', status: 'pending' | 'approved' | 'rejected', created_at).
  • On cases, add is_pro_bono_request (boolean, default false) and rate_tier: 'standard' | 'reduced' | 'pro_bono'.
  • Refactor the existing tutor profile view so the owner edit view and public visitor view share the exact same React layout component, conditionally rendering [ ✎ Edit ] controls when isOwner && !isPreviewingPublic.
  • Verified Hours ribbon reads [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459 ledger sum only (no manual edits).
  • Study Materials tab lists published rows from [Feature · V1 · #251] Digital materials: Stripe checkout, 2% fee, R2 download, 72h hold #543 marketplace for that seller — do not fork checkout.

7. Acceptance criteria

  • Clicking any tutor card or material seller name navigates to the unified Channel Profile showing Date Joined, Verified Hours, Active Students count, Academic CV ([Feature · V1 · #459] Lifelong Academic Records & Education CV #545), and published Study Materials tab.
  • Viewing one's own Channel Profile renders the exact same layout as a public visitor, with a toggle to switch between Edit Mode and Public Preview, and exposes zero private settings (FPS, phone, child sub-profiles).
  • A tutor can enable Pro-Bono / Reduced-Rate preferences and set a maximum concurrent slot limit (pro_bono_max_slots).
  • Having an active pro-bono case publicly displays "Currently teaching X/Y pro-bono students" on the tutor's profile without revealing who the student is.
  • A student/parent can privately check Request Pro-Bono / Reduced Rate when requesting a lesson, displaying a [🌱 Pro-Bono / Access Request] badge on the tutor's private case lead card without adding any stigma badge to the student's profile.
  • A tutor can link a Centre affiliation (which goes live upon Centre approval).

8. Out of scope

9. Test plan

  1. Owner vs. Public Parity Test: Log in as Tutor A, open own Channel Profile, edit bio and Pro-Bono capacity inline (max_slots = 1), toggle Preview Public View, and compare with an incognito window—confirm layouts are 100% identical.
  2. Pro-Bono Slot & Privacy Test: As Student B, submit a case request to Tutor A with Request Pro-Bono checked. Verify Tutor A sees [🌱 Pro-Bono / Access Request] on the lead card. Accept the case as active; verify Tutor A's public profile now reads 1/1 Pro-Bono Slots Active and Student B's profile has zero public pro-bono indicators.
  3. Materials Tab Integration Test: Publish a study note as Tutor A; verify it appears automatically under the Study Materials tab on Tutor A's Channel Profile.

Addendum (2026-10-31): Centre Faculty Tab, Context-Aware Routing, Posts host note, Watermark/SEO

A. Our Tutors & Faculty (導師團隊) Tab

  • On any Centre Channel Profile, add tab Our Tutors & Faculty / 導師團隊.
  • Query: all users with centre_affiliations.centre_id = current_centre AND status = 'approved' AND role_type = 'affiliated_tutor'.
  • Clicking a tutor card opens that tutor's independent Channel Profile (/en/u/[handle]).

B. Context-Aware Case Routing (CEO lock)

Entry point Lead destination
Request Lesson on Tutor A's independent Channel Profile Tutor A's private inbox — case.owner_id = tutor_a_user_id (Independent Case).
Request Lesson on Tutor A's card while browsing the Centre Faculty Tab (or a Centre-owned bootcamp listing) Centre Workspace Inbox — case.centre_id = target_centre_id, tagged [Requested Tutor: Tutor A].

Why: tutors can freelance independently while also driving B2B centre business without channel conflict.

C. Posts & Media tab host (#549)

D. Watermark & SEO (shared with #549 / #543)

  • Post photos and material previews: auto-watermark MatchMax logo + @handle bottom-right.
  • Overview & CV / non-commercial channel pages: noindex,nofollow by default.
  • Settings: Allow search engines to index my public profile — default off Learning Mode; default on Verified Tutors & Centres.

Additional acceptance criteria


ADOPTED addendum (2026-10-31 · CEO review enhancements)

Preview tooltip (ship with V1)

  • Next to [ 👁 Preview Public View ] / [ 👁 View as Visitor ], show a short tooltip / helper:
    • EN: How parents see this — private settings (phone, FPS, child profiles) stay hidden.
    • 繁中: 家長所見畫面 — 電話、FPS、子女檔案等私密設定不會顯示。
  • Purpose: tutors immediately understand Edit Mode vs Public Preview without leaving the channel.

Stats ribbon — public vs owner-only (one-line lock)

Stat Public Channel Owner-only (never on public DOM)
Joined date ✅ —
Verified Hours (#459) ✅ —
Active Students / Cases count ✅ (count only) Student names never
Study Materials count ✅ —
Pro-Bono slots active/open ✅ (counts only) Student identity never
Phone / email / FPS / child sub-profiles / admin flags ❌ ✅ /en/account/settings + Admin Drawer only

Ship order note: #548 first unblocks #549 (Posts tab host) and #551 (availability grid on Overview).

Additional AC

  • Preview Public View control has “How parents see this” helper tooltip (EN+繁中).
  • Header/stats ribbon documents public vs owner-only stats per table above (eng + UI copy).

Activity

  1. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Integrator note (2026-10-31): Body addendum applied —

    Multi-Staff Workspace → new #550 under #459.

  2. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    CEO lock applied — Public Availability Calendar child #551 updated in place (V1.1 body + title).

    • Nested under this Channel Profile issue.
    • Weekly HKT grid on Overview & CV; inline Edit Schedule; privacy Available|Busy only.
    • Two-way sync with #461: confirmed lessons → Busy; cancel/reschedule restores Available.
    • Tutors/Centres public by default; Students/children private share-with-matched-tutors (same pattern as [Feature · V1 · #459] Lifelong Academic Records & Education CV #545).
    • Parked: Google/iCal, auto-booking, multi-tz, Centre staff aggregate (V1 = centre operating hours only).

    #518 map refreshed.

  3. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    ADOPTED (CEO review 2026-10-31) — locked in body addendum:

    1. “How parents see this” tooltip next to Preview Public View (EN+繁中) so tutors grasp Edit vs Public without leaving the channel.
    2. One-line public vs owner-only stats table on the header ribbon (Joined / Verified Hrs / Active count / Materials / Pro-Bono slots = public counts; phone/FPS/child names = never on Channel DOM).

    Cross-note: Ship #548 first → unblocks #549 and #551. Privacy consistent: no child sub-profiles / no student names on public grids.

  4. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Cross-lock from #553 (CEO 2026-10-31) — Profile / channel tags

    • Tutors (and public channel owners) may pin 5–8 service/style tags on the Channel Profile (e.g. #exam-prep, #ia-supervision, #probono, #online-only, #group-lessons).
    • Tags are searchable via global # typeahead and appear on public channel DOM (same privacy boundary as this issue: no child sub-profiles / no sensitive fields).
    • Normalize: lowercase · spaces→hyphens · max length · vulgarity reuse.
    • HYBRID: these free tags sit on top of existing curriculum / lesson-mode / district chips — they do not replace structured filters.
    • Cap.57 / 1.5 fee SoT unchanged. No scope change to Stripe materials fee.
  5. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Child (CEO 2026-11-01)

    • #560 Pro-Bono / Financial Need Verification — two-tier Self-Declared vs MatchMax Verified, admin-only R2 + Verify & Purge, PDPO Cap.486 safe. Tutors only see badge on private case card; never raw CSSA/WFSFAA letters; never public student stigma.
  6. owlstonbusiness-svg commented on Oct 31, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    CEO lock 2026-11-01 — Tag input UX AC (profile edit) + PARK highlights

    Shared freestyle # tags SoT: #553. Profile pin tags (5–8) already cross-locked — this fills editor UX.

    ADOPT — Acceptance criteria (Channel Profile Edit Mode)

    • Pin-tags editor: typing # shows typeahead of existing public tags (~8; popularity + prefix per [Feature · V1] Global Search Bar: free-text across Tutors, Cases, Notes, Centres, Users & Posts #553).
    • Pinned tags render as removable chips on public Channel DOM; bilingual chips OK as separate tags (#bio ≠ #生物 in V1).
    • Limits: max 5–8 pinned; 2–32 chars after #; normalize lowercase · spaces→hyphens · vulgarity reuse.
    • Optional suggested tags from tutor subjects / curriculum / service mode to reduce duplicates.
    • Privacy unchanged: no child sub-profiles / no sensitive fields in typeahead or chips.

    Cross — Pro-bono discoverability

    #probono / #reduced-rate soft-promoted in typeahead once usage exists (#553) — pairs with public capacity counter here + #560. No student stigma badges.

    PARK V1.1 — Pinned materials / highlights strip

    No V1 “pinned materials / highlights” strip on Channel beyond existing Study Materials tab. Revisit lightly under V1.1 with #549 if tutors need richer early presence before full social photos. Do not unpark early photo posting here.

    Cap.57 / 1.5 fee / materials 2% SoT unchanged.

  7. added a commit that references this issue on Nov 1, 2026
  8. keyframesfound commented on Nov 1, 2026

    @keyframesfound
    Owner

    Closing — Unified Channel Profile shipped on main (c0e8ce4 + c424662; migration 20261101050000 prod-applied):

    • /u/[handle] Channel page: identity header (avatar, display name, Blue Tick, @handle, Joined date, 🏛 affiliation pills), live stats ribbon (Verified Hours from the [Urgent · V1] Unified account + roles + child sub-profiles + hours ledger #459 ledger · Active Students count · Study Notes count · Reviews avg) — counts only, never student identities.
    • Owner mode: identical public layout with Viewing your public channel bar, Edit-Mode toggle (reveals inline affiliation request + edit hints), settings hand-off. Strict privacy separation: no phone/email/FPS/child data in any channel payload.
    • Tabs: Overview & CV (subjects, rates, public [Feature · V1 · #459] Lifelong Academic Records & Education CV #545 timeline) · Study Materials (published listings → /notes/$slug) · Reviews (visible parent→tutor reviews).
    • Pro-Bono & Rate system (Feature: MatchMax Impact (CSR Ecosystem Integration) #400 extension): tutor supply settings (accepts_pro_bono, accepts_reduced_rate + reduced rate, pro_bono_max_slots 0–10) in My Tutor settings via service fn; public Pro-Bono & Impact Card with live slot status ({active}/{max} · {open} open / Capacity Full). No student-side stigma: the request lives as a private pro_bono_request+note on the case, rendered only as the 🌱 badge on the tutor's lead card (tutor+staff only, verified in getMyTutorCases).
    • Centre affiliation: centre_affiliations (affiliated_tutor pending→centre-approved; alumni_student auto-approved → "Studied at"), requests raise an AR-8 action for centre admins (c424662), approval lists the tutor on the centre page and the pill on the channel.
  9. owlstonbusiness-svg commented on Nov 2, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    ADOPT — Channel Materials tab = Seller Materials Store (ties to #556)

    Public (and owner) Materials tab on Unified Channel Profile is the seller’s storefront — not a flat dump.

    AC

    Fee / Cap locks unchanged (materials 2%+72h; Cap.57 / 1.5 tutoring elsewhere).

  10. owlstonbusiness-svg commented on Nov 2, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Industry grounding — Channel Materials tab (no stretch)

    • Many structured cards, not one blob: Carousell/Etsy shop grids = one listing card per SKU; Amazon/Gumroad storefronts likewise. Collections/folders = shop sections (organiser) or a Bundle/Pack card (Gumroad Bundle / Amazon boxed set).
    • Pack card + child cards when sell_separately: same as Gumroad listing both the bundle and its included products (help/339). Pack-only when toggle off ≈ Teachable single course product.
    • Photo · title · price · seller-under: Carousell/Etsy browse density; richer attrs on detail (already [Feature · V1 · #543 · #626 Child 2] Materials Discovery + Similar-on-Click Harden (Author Cap · 5+1) #557).

    Parent lock: #556. Studio bulk manage → #585.

  11. owlstonbusiness-svg commented on Nov 2, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Cross-ref · Materials tab Collections (Gemini pack Issue B)

    Even though this issue is closed as shipped channel shell, Materials tab Collections behaviour is refined by the Argon pack:

    Full wireframes + ACs → #557 (Issue B). Seller create assigns collection_id → #556 (Issue A). Fee SoT unchanged (materials 2%+72h / weekly FPS).

  12. owlstonbusiness-svg commented on Nov 2, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    Cross — Explore entry is Marketplace (Materials tab unchanged)

    CEO lock: #557 — Explore pill = Marketplace → Notes | Gigs. Seller profile Materials tab Collection filter pills + Carousell grid from Gemini Issue B are unchanged (organise-only Collections; no Collection checkout). Discovery entry rename only.

  13. owlstonbusiness-svg commented on Nov 3, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    2026-11-03 Asia/Hong_Kong — CEO via Jarvis

    Channel Profile Teaching/Learning surfaces now get concrete Active Cases / 進行中個案 cards (replacing Active students/tutors counters) under #632 / #633. Dignity locks (no public student stigma badges) remain — restated REJECT on #632. Related calendar thin-link: #636 → #551/#594.

  14. owlstonbusiness-svg commented on Nov 3, 2026

    @owlstonbusiness-svg
    CollaboratorAuthor

    2026-11-03 Asia/Hong_Kong — CEO via Jarvis

    Channel Profile Teaching/Learning surfaces get concrete Active Cases / 進行中個案 under #632. Dignity locks (no public student stigma) restated REJECT. Calendar thin-link: #636 → #551/#594.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClaudeRoute to Claude Code: complex or UI-heavy workenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions