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

Freegle / Iznik / 27762
85%

Build:
DEFAULT BRANCH: master
Ran 18 Jul 2026 04:41PM UTC
Jobs 4
Files 1422
Run time 2min
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

18 Jul 2026 04:19PM UTC coverage: 72.39% (-0.02%) from 72.405%
27762

push

circleci

edwh
perf(search): cache the browse-search reach arm for 60s per member

On top of the UNION split (1abb23824) and the restored sandwich prefilter
(366fd88d2), the remaining cold cost of a browse-scoped search is the exact
ST_Contains pass over the prefiltered reach candidates. That answer only
changes on the rippling engine's minutes-cadence ticks, but members search
repeatedly in quick succession (the reporting member tried 'headboard',
'wall tiles', 'table' within minutes), re-paying it every time.

Split the universe into its two arms in Go and cache ONLY the reach arm,
keyed by member + location (4dp, so moving invalidates immediately), 60s
TTL, bounded size. The own-posts arm stays uncached - it is a cheap indexed
query, and keeping it fresh means a just-posted item is searchable
immediately rather than after the TTL. An inner_bound fast-accept variant
was measured and rejected (decides ~23% of candidates, consistently slower).

Measured on apiv2-live against production data: 1.34s cold, 0.16s warm,
result sets byte-identical. All browse modes re-verified (nearby, group,
distance cap + Closest sort, Newest sort, legacy no-flag path unchanged).
Go suite 3516/3516.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CQZ56NwFYEuhrtaoU7oYoM

13216 of 17412 branches covered (75.9%)

Branch coverage included in aggregate %.

18 of 65 new or added lines in 1 file covered. (27.69%)

17 existing lines in 2 files now uncovered.

138114 of 191637 relevant lines covered (72.07%)

37.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
47
75.93
-12.1% iznik-server-go/message/search.go

Coverage Regressions

Lines Coverage ∆ File
12
75.93
-12.1% iznik-server-go/message/search.go
5
78.38
-4.5% iznik-batch/app/Console/Commands/Ripple/MigrateReachBoundsSchemaCommand.php
Jobs
ID Job ID Ran Files Coverage
27762 go - 27762 18 Jul 2026 04:41PM UTC 158
83.26
CircleCI Job 27762
27762 vitest - 27762 18 Jul 2026 04:41PM UTC 764
70.56
CircleCI Job 27762
27762 playwright - 27762 18 Jul 2026 04:41PM UTC 75
22.1
CircleCI Job 27762
27762 laravel - 27762 18 Jul 2026 04:41PM UTC 499
69.24
CircleCI Job 27762
Source Files on build 27762
  • Tree
  • List 1422
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #27762
  • c66acbe0 on github
  • Prev Build on master (#27741)
  • Next Build on master (#27775)
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