bvandeusen and Claude Opus 5.5
ccbccb025c
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 17s
CI & Build / TypeScript typecheck (push) Successful in 54s
CI & Build / integration (push) Successful in 1m0s
CI & Build / Python tests (push) Successful in 1m54s
CI & Build / Build & push image (push) Successful in 27s
fix(retrieval): every semantic search scopes first, then ranks - the note, milestone and system searches join the rule search on one shared shape, _rank_scoped ( #4961 )
...
Ordered straight off a *_embeddings table, the planner walks the HNSW index,
takes ~ef_search (40) nearest chunks across every owner and project, and only
then applies the scope: an in-scope record behind 40 nearer ones the caller
cannot see was silently dropped. #4958 fixed the rule search alone; the note,
milestone and system searches kept the fault.
_scoped_chunks builds the in-scope chunks with their distance; _rank_scoped
materializes them as a CTE and ranks exactly. All four searches go through it,
and the row shape is unchanged, so callers and mocks are untouched.
Tests: a structural guard that every semantic_search_* ranks through
_rank_scoped and orders nothing itself (with a replay of the old shape), a
compiled-SQL check of the MATERIALIZED CTE, and integration crowd tests - 80
nearer out-of-scope records - for notes (another user; the reader own other
project), milestones and systems.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 21:08:45 -04:00
..
2026-05-27 22:39:50 -04:00
2026-03-08 18:46:54 -04:00
2026-10-05 12:24:30 -04:00
2026-10-05 12:21:45 -04:00
2026-09-20 12:20:45 -04:00
2026-08-21 12:34:28 -04:00
2026-09-23 16:29:48 -04:00
2026-09-23 16:48:28 -04:00
2026-09-17 12:49:15 -04:00
2026-07-31 14:52:06 -04:00
2026-10-03 21:25:37 -04:00
2026-09-18 12:11:39 -04:00
2026-09-21 18:27:05 -04:00
2026-09-14 08:33:56 -04:00
2026-09-23 16:48:28 -04:00
2026-08-21 11:13:17 -04:00
2026-08-03 11:37:20 -04:00
2026-08-21 11:13:17 -04:00
2026-09-22 08:33:01 -04:00
2026-08-07 13:01:45 -04:00
2026-09-21 11:20:27 -04:00
2026-10-05 07:55:06 -04:00
2026-08-21 11:03:48 -04:00
2026-09-02 14:59:41 -04:00
2026-09-24 07:11:10 -04:00
2026-10-05 18:19:59 -04:00
2026-09-21 02:49:07 -04:00
2026-09-21 18:27:05 -04:00
2026-09-14 18:54:49 -04:00
2026-05-27 22:39:50 -04:00
2026-09-15 12:20:57 -04:00
2026-09-24 09:58:41 -04:00
2026-09-21 02:18:51 -04:00
2026-08-28 15:22:50 -04:00
2026-09-20 23:56:05 -04:00
2026-09-11 16:22:17 -04:00
2026-08-21 11:03:48 -04:00
2026-09-16 14:49:05 -04:00
2026-08-21 11:03:48 -04:00
2026-09-14 22:04:38 -04:00
2026-09-15 12:20:57 -04:00
2026-09-23 16:48:28 -04:00
2026-09-23 19:02:30 -04:00
2026-10-01 15:31:15 -04:00
2026-09-23 19:02:30 -04:00
2026-10-05 10:58:00 -04:00
2026-09-23 19:02:30 -04:00
2026-09-14 08:43:04 -04:00
2026-09-18 12:39:13 -04:00
2026-09-14 08:43:04 -04:00
2026-09-10 21:14:29 -04:00
2026-10-05 18:19:59 -04:00
2026-10-05 18:19:59 -04:00
2026-09-21 18:27:05 -04:00
2026-10-05 19:30:05 -04:00
2026-09-15 12:20:57 -04:00
2026-09-21 18:27:05 -04:00
2026-09-16 14:49:05 -04:00
2026-10-05 21:08:45 -04:00
2026-10-01 08:45:14 -04:00
2026-08-21 11:13:17 -04:00
2026-08-27 15:55:04 -04:00
2026-09-18 15:34:17 -04:00
2026-09-17 11:17:23 -04:00
2026-10-03 23:04:53 -04:00
2026-10-01 15:31:15 -04:00
2026-09-23 16:48:28 -04:00
2026-09-21 16:39:31 -04:00
2026-09-23 16:48:28 -04:00
2026-09-23 16:48:28 -04:00
2026-10-01 13:25:27 -04:00
2026-10-01 16:36:43 -04:00
2026-10-01 14:30:58 -04:00
2026-09-19 13:58:54 -04:00
2026-09-21 22:03:05 -04:00
2026-09-23 19:00:03 -04:00
2026-09-15 16:07:00 -04:00
2026-09-21 09:44:10 -04:00
2026-09-15 12:31:04 -04:00
2026-06-03 15:48:35 -04:00
2026-09-24 07:21:27 -04:00
2026-08-24 01:28:07 -04:00
2026-10-03 21:31:10 -04:00
2026-09-15 13:43:18 -04:00
2026-09-14 22:04:38 -04:00
2026-09-15 16:07:00 -04:00
2026-08-30 13:17:52 -04:00
2026-09-15 13:43:18 -04:00
2026-10-05 14:23:24 -04:00
2026-09-15 12:20:57 -04:00
2026-09-14 17:43:16 -04:00
2026-09-20 23:58:27 -04:00
2026-09-21 11:25:53 -04:00
2026-08-30 13:17:52 -04:00
2026-10-02 22:55:26 -04:00
2026-08-21 11:13:17 -04:00
2026-08-27 15:55:04 -04:00
2026-09-15 16:07:00 -04:00
2026-08-21 11:13:17 -04:00
2026-09-18 12:08:00 -04:00
2026-10-05 14:23:24 -04:00
2026-10-05 14:28:50 -04:00
2026-10-05 18:19:59 -04:00
2026-10-03 22:10:14 -04:00
2026-10-05 20:02:37 -04:00
2026-10-01 10:47:03 -04:00
2026-08-21 11:13:17 -04:00
2026-10-01 08:46:58 -04:00
2026-09-02 00:38:50 -04:00
2026-09-20 12:20:45 -04:00
2026-09-21 00:26:54 -04:00
2026-09-21 00:53:29 -04:00
2026-09-16 14:49:05 -04:00
2026-10-03 21:25:37 -04:00
2026-09-21 08:50:16 -04:00
2026-09-18 18:35:13 -04:00
2026-08-30 13:10:04 -04:00
2026-08-28 16:01:28 -04:00
2026-09-18 11:52:14 -04:00
2026-10-05 12:30:07 -04:00
2026-09-20 12:20:45 -04:00
2026-09-15 15:21:28 -04:00
2026-09-23 19:02:30 -04:00
2026-09-24 09:58:41 -04:00
2026-09-11 20:11:43 -04:00
2026-10-05 08:38:05 -04:00
2026-10-05 20:02:37 -04:00
2026-09-18 12:08:00 -04:00
2026-10-05 20:11:20 -04:00
2026-10-05 20:02:37 -04:00
2026-09-21 14:38:16 -04:00
2026-10-03 23:02:32 -04:00
2026-06-03 15:48:35 -04:00
2026-06-14 17:53:24 -04:00
2026-08-21 11:13:17 -04:00
2026-06-03 15:48:35 -04:00
2026-10-05 16:16:59 -04:00
2026-09-15 12:26:39 -04:00
2026-07-28 18:42:29 -04:00
2026-06-13 23:14:54 -04:00
2026-06-03 15:48:35 -04:00
2026-06-03 15:48:35 -04:00
2026-09-19 12:12:14 -04:00
2026-09-16 17:35:08 -04:00
2026-09-11 16:22:17 -04:00
2026-10-05 11:03:51 -04:00
2026-10-05 18:19:59 -04:00
2026-10-05 16:03:53 -04:00
2026-09-21 01:04:17 -04:00
2026-09-21 22:44:01 -04:00
2026-09-16 14:45:32 -04:00
2026-10-05 20:02:37 -04:00
2026-10-05 20:25:47 -04:00
2026-09-20 12:20:45 -04:00
2026-09-21 11:12:48 -04:00
2026-10-05 21:08:45 -04:00
2026-08-28 12:06:43 -04:00
2026-10-05 18:19:59 -04:00
2026-08-26 12:31:18 -04:00
2026-08-27 18:43:45 -04:00
2026-08-21 11:13:17 -04:00
2026-09-23 18:53:22 -04:00
2026-08-21 11:03:48 -04:00
2026-08-19 11:23:22 -04:00
2026-09-18 15:30:49 -04:00
2026-08-21 11:03:48 -04:00
2026-08-28 16:59:41 -04:00
2026-08-21 11:03:48 -04:00
2026-08-28 15:42:12 -04:00
2026-09-23 19:04:27 -04:00
2026-09-14 08:43:04 -04:00
2026-09-15 12:20:57 -04:00
2026-10-05 20:02:37 -04:00
2026-09-14 22:04:38 -04:00
2026-09-14 08:33:56 -04:00
2026-09-17 11:20:47 -04:00
2026-06-10 01:33:58 -04:00
2026-09-14 18:34:46 -04:00
2026-09-21 00:13:45 -04:00
2026-08-26 15:00:49 -04:00
2026-09-20 23:56:05 -04:00
2026-09-16 14:49:05 -04:00
2026-10-01 08:46:58 -04:00
2026-09-23 16:48:28 -04:00
2026-08-21 11:13:17 -04:00
2026-10-02 22:55:26 -04:00
2026-09-15 12:20:57 -04:00
2026-09-23 16:07:33 -04:00
2026-09-20 12:20:45 -04:00
2026-09-21 01:04:17 -04:00
2026-09-21 18:27:05 -04:00
2026-10-05 12:30:07 -04:00
2026-10-01 08:39:36 -04:00
2026-09-21 01:33:45 -04:00
2026-09-22 08:44:58 -04:00
2026-08-21 11:13:17 -04:00
2026-08-21 11:13:17 -04:00
2026-10-05 14:23:24 -04:00
2026-09-24 09:58:41 -04:00
2026-08-16 13:05:00 -04:00
2026-08-09 10:33:11 -04:00
2026-08-23 22:36:04 -04:00
2026-08-21 15:14:34 -04:00
2026-08-21 11:13:17 -04:00
2026-09-23 17:27:22 -04:00
2026-08-21 11:03:48 -04:00
2026-08-21 11:13:17 -04:00
2026-09-30 23:27:07 -04:00
2026-09-19 10:50:57 -04:00
2026-08-21 11:03:48 -04:00
2026-09-21 11:25:53 -04:00
2026-10-05 20:25:47 -04:00
2026-09-21 16:09:41 -04:00
2026-10-03 08:49:20 -04:00
2026-09-24 06:48:01 -04:00
2026-09-24 06:48:01 -04:00
2026-09-21 08:54:15 -04:00
2026-07-30 12:53:57 -04:00
2026-08-21 11:13:17 -04:00
2026-09-11 11:48:14 -04:00
2026-06-03 15:48:35 -04:00
2026-09-21 20:47:16 -04:00
2026-06-03 15:48:35 -04:00
2026-09-24 09:58:41 -04:00
2026-08-31 00:45:22 -04:00
2026-08-21 11:13:17 -04:00
2026-08-21 11:14:44 -04:00
2026-06-03 15:48:35 -04:00
2026-09-02 11:23:43 -04:00
2026-09-17 12:18:25 -04:00
2026-09-21 23:02:44 -04:00
2026-10-05 20:02:37 -04:00