Matchmaking workspace
Central matchmaking queue and governed matching work.
/admin/matchmakingFuture Spec 10 →Current-state summary
The live Matchmaking workspace lets an Admin select one of three Project Opportunities, review its saved matching profile, make temporary criteria adjustments, see profile-completeness guidance, and prepare offers from a shortlist. However, changing the selected opportunity does not clear or reconcile the prior policy snapshot, criteria snapshot, scores, or shortlist. Forest Hill Residence remained paired with an Oakville/New build/$500K–$1M result set, making the visible Create offers action unsafe until a new immutable Match Run is created.
Interface inventory
Anatomy and verified behavior
Verification states separate observed behavior from requirements or assumptions.
| Element | Current behavior | Verification |
|---|---|---|
| Subject selector | Searchable dropdown lists Forest Hill Residence, Oakville Lakeside and Rosedale Heritage with Client names; leadId deep links preselect a record. | Verified live |
| Matching profile | Shows Project, budget, location, timing, style and needs from saved opportunity data plus missing-detail guidance. | Verified live |
| Temporary adjustments | Project type, budget, property type, language, location, province, start date and timeline can be changed for the run; specialties/styles/services/rooms display as summarized chips. | Verified live; no values saved |
| Run action | Find compatible designers is available and states that the saved profile will be used. | Visible; not executed to avoid creating a real run |
| Policy and criteria snapshot | Displays Proper Gallery residential matching v2 and a criteria summary that can belong to a different opportunity than the active selection. | Critical mismatch verified live |
| Shortlist and candidates | Shows up to two seeded Designer cards with score, eligibility, availability and add/remove actions. | Verified live |
| Offer preparation | Create offers opens a modal for shortlisted Designers, permission-safe summary, response deadline and portal delivery. | Modal verified; offer not sent |
User journeys
Current flows
Start from a record
- Open Matchmaking with leadId
- Resolve the Project Opportunity
- Review saved criteria and missing details
- Run matching
- Review results
Adjust one run
- Open Adjust criteria
- Change temporary inputs
- Run matching
- Store an immutable snapshot
Prepare offers
- Shortlist candidates
- Select Create offers
- Review visible summary and deadline
- Send
State model
Current and expected states
Shows selection guidance but still displays seeded policy, shortlist and candidate results.
Displays saved profile and completion guidance.
Inline temporary criteria panel opens.
No warning or block appears when result snapshot disagrees with selected subject.
Shows shortlisted Designer, summary, deadline, disclosure statement and send count.
Product rules
Non-negotiable boundaries
- A Match Run, result set, shortlist and outreach action must reference the same canonical subject ID and snapshot hash.
- Changing subject clears unbound draft state or labels the prior run stale and blocks outreach.
- Scores always identify Criteria Set version, run time and data freshness.
- Offers can be created only from a completed non-stale run and its saved shortlist.
- Temporary adjustments never overwrite the Project Opportunity unless explicitly saved through its canonical form.
- Client-private details are excluded from pre-acceptance outreach.
Known current limitations · 7 mapped
What is missing, broken or unverified
Future Spec 10 owns closure →- Critical: active subject and visible result snapshot can disagree.
- The empty-selection state still shows seeded candidates and shortlist.
- Complete criteria produced no visible action during review.
- Temporary adjustments mention saving to the opportunity but expose no clear save action.
- Proper Gallery policy branding and legacy /admin/leads links remain.
- Loading, run failure, no-match, partial evaluation and stale-data states are not represented.
- Provider matching is not available on this workspace.
Future alignment
Required evolution
- 01Bind every result and shortlist to an immutable subject/run identity from Spec 10.
- 02Replace legacy Lead links and Proper Gallery policy language.
- 03Implement readiness, stale-run, running, failure, no-match and superseded states.
- 04Add governed Provider matching from Project Requirements and Work Packages.
- 05Prevent offer creation whenever subject, run, shortlist or disclosure snapshot is inconsistent.
Current baseline
Acceptance record
- Subject selection and deep linking are documented.
- Visible matching-profile fields and temporary criteria are inventoried.
- Offer preparation is separated from actual sending.
- Stale cross-subject results are a release blocker.
- No real Match Run or Offer was created during review.
Reverse-spec completeness
Documentation coverage
The interface is still changing, so visual evidence and repository tracing remain intentionally incomplete.
Purpose and user outcome
DocumentedRoles and access
DocumentedRoutes and entry points
DocumentedPage and component anatomy
DocumentedFields and displayed data
DocumentedPrimary actions
DocumentedForms and validation
DocumentedStates and transitions
DocumentedEmpty, loading and error states
DocumentedResponsive behavior
PartialAccessibility behavior
PartialActivity and audit events
PartialData sources and persistence
DocumentedNotifications and automation
PartialKnown defects and limitations
DocumentedReusable component dependencies
DocumentedFuture-spec conflicts
PartialVisual and repository evidence
DeferredAcceptance of current baseline
Documented