Skip to content

Matching algo: Add mock members data and match history for matching algo - #133

Open
Allimonae wants to merge 1 commit into
matches-uifrom
mock-matches-db
Open

Allimonae wants to merge 1 commit into
matches-uifrom
mock-matches-db

Conversation

@Allimonae

@Allimonae Allimonae commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Description

Adds local-only mock data so the matching algorithm has a realistic pool and history to develop against.

Mock members (R__Mock_V0003)

  • Adds 70 members (IDs ...0011 to ...0080). Together with the 10 from R__Mock_V0001, that makes 80 members.
  • Members are modeled on real Patina sign-ups: students and new grads looking for a mentor, and professionals with 2-20 years of experience offering mentorship.
  • Names are based on member description
    • First name: {Title}-{Company/University}
    • Last name: {Interests from introduction and topics}
  • The industry mix is roughly 50% tech, 30% finance and banking, and 20% other (design, sales, business, consulting, legal, healthcare, sciences).
  • match_pref and industry_pref use only the values from the sign-up form dropdowns. This covers mentor, mentee, peer, and no-preference members.
  • Some members are inactive and have a deactivation_reason. Some have no LinkedIn URL or extra notes, so the data includes missing optional fields.
  • The insert uses ON CONFLICT (id) DO UPDATE, so re-running the repeatable migration refreshes the rows without duplicating them.

Mock match history (R__Mock_V0004)

  • Adds seven past match cycles (2026-03 to 2026-09) with fixed IDs 8998-9004. This keeps the seed idempotent and clear of cycles created through the UI.
  • Each cycle has matches in a mix of COMPLETED, CANCELLED, and PENDING statuses. This gives the algorithm a history to avoid repeat pairings against, and no pair repeats across cycles.
  • Membership changes over time:
    • Members 1-50 are in every cycle.
    • Members 51-65 join in 2026-08.
    • Members 66-80 join in 2026-09.
    • Inactive members appear only in cycles before they paused.
    • With an odd head count, one member sits out each cycle.
  • Pairs are mostly sensible, as if hand-matched, with a few poor ones mixed in. match_score follows the current scorers: +20 or -20 for compatible or conflicting match preferences (0 for No Preference), and +10 for the same industry.
  • Existing mock matches in these cycles are deleted before the insert, so pairs removed from the file don't linger on re-runs.
  • Depends on the members from R__Mock_V0001 and R__Mock_V0003.

Testing

  • Run the repeatable migrations against a local database and confirm both files apply without errors.
  • Confirm the members table has 80 rows, and that the match cycles and matches tables contain the seeded cycles 8998-9004 with their matches.
  • Re-run the migrations to confirm they are idempotent: no duplicate rows, and no changes to cycles created through the UI.

UI Changes

None. These are database seed files for local development only.

Allimonae commented Oct 9, 2026 •

Copy link
Copy Markdown
Member Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Allimonae Allimonae changed the title Match algo: Add mock data for matches and match cycle Match algo: Add mock members data for matching algo Oct 9, 2026
@Allimonae Allimonae changed the title Match algo: Add mock members data for matching algo Match algo: Add mock members data and match history for matching algo Oct 9, 2026
@Allimonae
Allimonae marked this pull request as ready for review October 9, 2026 21:46
@Allimonae Allimonae changed the title Match algo: Add mock members data and match history for matching algo Matching algo: Add mock members data and match history for matching algo Oct 9, 2026
@Allimonae
Allimonae changed the base branch from matches-ui to graphite-base/133 October 16, 2026 22:23
'Ivan is a sophomore at Hunter College double majoring in Economics and Mathematics. He is teaching himself Python to prepare for quant trading internships.',
'Friend',
TRUE,
'Mentor - I am looking for guidance from someone with more experience',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment on other PR - let's eventually move this to a single word.

@Allimonae
Allimonae changed the base branch from graphite-base/133 to matches-ui October 26, 2026 19:03
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2285a297-3fbc-4628-aac5-4397706a756a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants