• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / Iznik / 27835
72%
master: 72%

Build:
Build:
LAST BUILD BRANCH: fix/matched-posts-similarity-floor
DEFAULT BRANCH: master
Ran 19 Jul 2026 10:42AM UTC
Jobs 4
Files 1426
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Jul 2026 10:21AM UTC coverage: 72.449%. First build
27835

Pull #1122

circleci

edwh
feat(matched): resurrect matched-posts email with vector matching

For each recently-arrived Offer/Wanted, email the poster the opposite-type
posts near them that match, and the owners of matched posts the new arrival.
Rebuilds V1 cron/relevant.php on the vector embeddings.

- apiv2 GET /message/{id}/matches: opposite-type vector matches near a post,
  reach-filtered against the post owner (batch calls unauthenticated).
  Killswitch FEATURE_MATCHED_POSTS.
- matches:notify command, scheduled every 10 min, arrival-driven (~100 posts
  /run on prod). One vector search per fresh post feeds both directions.
- Adaptive MjmlMailable (hero for one match, list for several) with a
  "matches your wanted/offer" reason line, reusing shared chrome + tracking.
- Never re-mails: per-(msgid,userid) ledger messages_matched_notified; skips
  posts already clicked to view (messages_likes View + pageview=1); ~4h
  per-user cooldown; honours relevantallowed opt-out; excludes own/taken/
  deleted/unapproved posts.

Separate from the digest relevance ranking (PR #956), left untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013YqwEGSmzjUbHM3QinYAxX
Pull Request #1122: feat: matched-posts email (vector-based resurrection of "Any of these take your fancy?")

13213 of 17412 branches covered (75.88%)

Branch coverage included in aggregate %.

348 of 448 new or added lines in 7 files covered. (77.68%)

138590 of 192119 relevant lines covered (72.14%)

37.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
29
12.58
iznik-batch/app/Console/Commands/Mail/TestMailCommand.php
26
74.76
iznik-server-go/message/postmatches.go
25
75.96
iznik-batch/app/Mail/Matched/MatchedPosts.php
16
88.65
iznik-batch/app/Services/MatchedPostsService.php
2
95.92
iznik-batch/app/Console/Commands/Message/NotifyMatchedPostsCommand.php
2
72.27
iznik-batch/app/Services/FreegleApiClient.php
Jobs
ID Job ID Ran Files Coverage
27835 go - 27835 19 Jul 2026 10:42AM UTC 159
83.46
CircleCI Job 27835
27835 laravel - 27835 19 Jul 2026 10:42AM UTC 502
69.34
CircleCI Job 27835
27835 playwright - 27835 19 Jul 2026 10:42AM UTC 75
21.98
CircleCI Job 27835
27835 vitest - 27835 19 Jul 2026 10:42AM UTC 764
70.56
CircleCI Job 27835
Source Files on build 27835
  • Tree
  • List 1426
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #27835
  • Pull Request #1122
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc