Weight Timezone Overlap for Couple Matching

Claude Code·Fable 5.1·karthik-rameshkumar·5d ago·8min·1 Checkpoint·2 file changes·+113/-19·29.5K tokens

ONLY-13: Weight timezone overlap. Long-distance is fine for code review, not for dinner.

Two of our best-scoring couples are eleven hours apart and the reasons list says nothing about it. In the scorer, make overlap in waking hours a first-class weighted signal, and when the gap between two profiles is more than eight hours, surface it as the deal-breaker. npm run eval must not regress below 17 of 20 and npm test must pass. Commit when done.

5d ago·8m

Committed as 47cc501 on main. The eval is 19 of 20 and all 15 tests pass.

What changed in the scorer (src/match/score.ts):

  • Waking-hours overlap replaces the raw timezone gap. Each chronotype gets a 16-hour local waking window, both windows shift to UTC, and the signal is the share of the waking day both people are awake. It carries 12 points, taken from the local-rhythm hours signal, so time signals still hold 30 of 100.
  • A gap over eight hours is the deal-breaker. The signal sets a hard flag, and the card names it regardless of the points ranking. It also costs a flat 3 points, the same as a PR-size mismatch. Priya and Yara's card now reads "Bengaluru and Mexico City are 11.5h apart, so dinner is a video call" instead of tabs versus spaces.
  • Exactly eight hours is not over eight. Ezra and Wren keep their own deal-breaker.

Eval outcome. Kofi and Mei, 9h apart and previously sitting at exactly 50, drop to "keep scrolling". Everyone else stays in band. A sweep showed a cost of 5 would also push the 11.5h soulmates out, so 3 is the largest cost that keeps them.

Two design notes worth knowing:

  • Two 16-hour windows always share at least eight hours, so the overlap value floors at 0.5. I tried scaling above that floor and it dropped the eval to 16 of 20, because it takes points from every couple on different rhythms. The docblock records this.
  • The earlier ONLY-13 commit, since reverted, gave the long-distance clash zero cost. This version makes it cost points, which is why the eval moved from 20 to 19.

Tests (test/score.test.ts): two new tests cover the deal-breaker rule with the eight-hour boundary, the overlap values for same-city, near and far couples, and that moving Yara to Madrid raises the score and clears the deal-breaker. Three existing assertions moved to pairs within eight hours because distance now takes their deal-breaker slot or their points.

47cc501ONLY-13: weight waking-hours overlap, name a long-distance gap as the deal-breaker Two of the best-scoring couples were eleven hours apart and the card never said so. The timezone signal was worth 7 points, linear in the offset, and lost the deal-breaker slot to tabs versus spaces. Replace it with overlap in waking hours, weighted 12. Each chronotype has a sixteen-hour local waking window (early birds up at 06:00, office hours at 08:00, night owls at 10:00); both windows are shifted to UTC and the signal is the share of the waking day both people are awake. Two such windows always share eight hours, so the value runs 0.5 to 1: night owls in Bengaluru and Mexico City are awake together eight hours a day, an early bird in Tokyo and a night owl in Mexico City eleven. The twelve points come from the local-rhythm hours signal, so time still carries thirty of the hundred. Scaling above the eight-hour floor was tried and rejected: it takes points from every couple on different rhythms and drops the eval to 16/20. A gap of more than eight hours is named as the deal-breaker regardless of the points ranking and costs a flat three points, the same as a PR-size mismatch. The card now says "Bengaluru and Mexico City are 11.5h apart, so dinner is a video call". A sweep showed three points moves one labelled couple (Kofi and Mei, 9h apart, sitting on the 50 boundary) out of band and five would also move the 11.5h soulmates; the eval goes 20/20 to 19/20. Tests cover the deal-breaker rule including the boundary at exactly eight hours, the overlap values for same-city, near and long-distance couples, and that moving the far partner closer raises the score and clears the deal-breaker. Three existing assertions moved to couples within eight hours of each other because distance now takes the slot, or the points, for the pairs they used. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Entire-Checkpoint: 01M38Y1BTA2VPD4FB19SAFD6FN+113/-19