feat(server): add bounded thread content search - #8721
juliusmarminge wants to merge 4 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Your free Security trial is over. An organization admin can activate Security or dismiss this notice. Comment |
There was a problem hiding this comment.
Effect service conventions review: one finding on the new service failure type.
Posted via Macroscope — Effect Service Conventions
Thread transfer impact
This comment will update automatically after the next completed run. |
There was a problem hiding this comment.
One convention finding: the new service failure still carries an unstructured message as its only attribute.
Posted via Macroscope — Effect Service Conventions
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix is ON, but a cloud agent failed to start.
Reviewed by Cursor Bugbot for commit 0d5b88c5b5c898c171adb3d74c2069c1e8f46a26. Configure here.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a new production thread-content search capability with a substantial cross-generation SQL query, visibility rules, deduplication, pagination, and snippet processing. It is opt-in and well-tested without changing existing callers or product defaults, but the scope and runtime complexity warrant human review. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
c687679 to
0fc6b46
Compare
ff4bba4 to
7f421bc
Compare
7f421bc to
b57d3d8
Compare
d22f88d to
a9b92ca
Compare
a9b92ca to
298b869
Compare
|
Superseded as the active MCP proposal by #10561 in the rebuilt MCP stack, following the maintainer request to review thin service wrappers separately from service hardening. This is not a full feature-parity replacement. This filters the global top results, so a project can underfill the requested limit. It is not exhaustive or paginated. Project-first SQL pagination and search-service correctness changes belong in a separate service PR. Closing this mixed proposal without merging. The remote branch |

Problem
The existing thread search RPC is global, active-only, and cannot return stable anchors into the visible V2 timeline. MCP callers need project-scoped search without changing that established client wire behavior.
Change
Add an opt-in, bounded
ProjectionSnapshotQuery.searchThreadContentpath that searches durable titles plus visible user and assistant messages. The query:%,_, and!, rejects NUL, and preserves valid Unicode and internal whitespaceThe existing
searchThreadsRPC and cache shape are unchanged.Behavior
Results are deterministic within each live query page. Legacy hits keep nullable anchors instead of inventing V2 identifiers. V2 title, archive, and deletion state cannot be shadowed by stale legacy rows.
Validation
vp test run apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.search.test.ts(3/3)t3,@t3tools/contracts, and@t3tools/sharedtypechecksgit diff --checkDependency
Bottom of native stack #8785. Based on
t3code/codex-turn-mappingat415ed0f73b97f1655b6282492f81d0b2bba3a9cc. The dependent MCP tool is #8722.Implemented by GPT-5.6-Sol via Codex in T3 Code.