Repository navigation
feat(search): authenticated address-bar suggestions (CHE-1593) [merge] - #223
Draft
congvc-bot-x99[bot] wants to merge 25 commits into
Draft
congvc-bot-x99[bot] wants to merge 25 commits into
congvc-bot-x99[bot] wants to merge 25 commits into
Conversation
added 4 commits
October 14, 2026 20:33
…ac137f91198 # Conflicts: # apps/web/app/[workspaceSlug]/opensearch.xml/route.test.ts # apps/web/app/[workspaceSlug]/opensearch.xml/route.ts
added 18 commits
October 15, 2026 05:42
…ac137f91198 # Conflicts: # server/internal/handler/search.go
…9-codex-sol/aac137f91198
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Current Preview And Human Gate — 20 October 2026
Draft: independent code review/OCR PASS and exact-head HTTPS preview ready. Actual Brave acceptance remains open. Only Cheese merges.
7e2dd73d023b2f1861b97c8049721505d7c511fc, REST base6fd14f030655e6db6b9fd6e8df1b3f285ab53998, OPEN/draft and MERGEABLE/CLEAN. Exact-head checks: 19 SUCCESS, 3 SKIPPED, zero failed or pending. Live main advanced to17a8fae0d5dd25380eb39bd7d7bffc7e4e361ce0. The captured one-commit delta is design documentation/assets. No resync occurred; this is not a latest-main integration claim.claude-opus-5-5[1m], returned code-review PASS with no P0/P1 in CHE-1593 comment01a158ad-c72c-7829-a8af-38fd8483453d. Authors Sol and historical Luna contributions are OpenAI. Sol checked the trusted validator blob, exact-pair receipt/non-staleness and full 20 selected + 11 excluded path coverage. This is not Brave acceptance, PR-ready or full-issue PASS.01a1593e-9dd1-74f1-8553-3fa00085e659, evidence attachment01a1593e-9c6b-76c9-a84c-bdf32f07250c. Sol independently matched source/artifact/build identities and loopback/HTTPS cookie-only auth, fixture suggestions, logged-out privacy, public XML origin and manifest bytes. Native approval switched only route 19695 to loopback 13362. Other routes and all old stacks/rollback assets remain preserved. No source/branch/C00/production change or merge occurred.che1593-preview-7e2dd73-r1; buildDU6ZAIoozzn9VvyTl2yqR. API SHA-256c92600169cb2a825e4b871562bd509900b5e0916e65eaa30cad7d53e6c6de67d; web SHA-25618f4757c140f88babcaf1b161188cb8fcc9672d10edcf3720166175f4a5900c4. Lifecycle is supervised, not helper PASS. Sol owns reconciliation and the new scope's 17:20:52 ICT on 23 October 2026 retirement deadline. Registry TTL alone does not stop the services.01a15746-fac5-7050-a9ef-b01c08f7040fwaives only historical initial-probe Test-First ordering. Historical evidence remains NOT-RUN, not retroactive PASS. Nits remain deferred. No provider retry occurred.The sections below preserve earlier states as history. Their pending checks/reviews and old preview identities are not the current disposition. Evidence remains bound to each exact candidate named.
STE advisory: Retain 11 true semicolon and 16 true passive-voice warnings in this source/history. Treat 2 passive-voice state descriptions and 4 synonym-rotation warnings as false positives. The meaning check passes.
Historical Branch Repair — 20 October 2026
Status: Draft. The merge conflict is resolved and published. Independent review/OCR and final CI for this new pair remain pending. Only Cheese merges the PR.
7e2dd73d023b2f1861b97c8049721505d7c511fc.6fd14f030655e6db6b9fd6e8df1b3f285ab53998.2256409ad56097749db01e576df9dc38b18b4cda, then6fd14f030655e6db6b9fd6e8df1b3f285ab53998..env.example. The resolution retains the three suggestions settings and main's two commented vote-gate settings. No rebase or force-push occurred. The PR diff against the captured main contains 31 paths.git diff --check, nginx privacy/router fixtures and cutover control-flow fixtures. Full web and DB-backed search suites are NOT-RUN in this maintenance turn. Their earlier results do not transfer to this new pair.https://congvc-x99.taila6fa8a.ts.net:19695/still serves2256409ad56097749db01e576df9dc38b18b4cda, build0mSxLjv5h55oozzZMs4F5. This turn changed no serving checkout, preview service, route, database, artifact, C00 or production resource. A preview of the new head is NOT-RUN.01a15746-fac5-7050-a9ef-b01c08f7040f. The historical evidence remains NOT-RUN, not retroactively PASS. Actual Brave screenshot/version/date/issue selection remains NOT-RUN, not waived. Nits remain deferred.The earlier status sections below are historical. Their review/check receipts apply only to the exact pairs they name.
Historical Gate State — 20 October 2026
Cheese wrote the following in native issue comment
01a15746-fac5-7050-a9ef-b01c08f7040fat 10:07 ICT on 20 October 2026:Only the historical initial-probe Test-First ordering is WAIVED by Cheese. Historical test evidence remains NOT-RUN, not retroactively PASS. This does not waive Brave acceptance, API/privacy checks, independent review/OCR or merge permission. Keep this PR draft. Only Cheese merges.
Published head:
2256409ad56097749db01e576df9dc38b18b4cda. REST base:6b89a1764afb6418af873336c720bbc36bcb447e. Exact-head CI: 17 SUCCESS, 3 SKIPPED, zero failed or pending. Opus's independent PASS/OCR in issue comment01a14d04-5107-7883-89a6-74d2ef730a44covers only this pair. Livemainis now860e4e1210bb2879e4658d282d0076aeb727bef3; this is not a current-main integration claim.Cheese's actual Brave screenshot, Brave version/date and selected-issue result remain NOT-RUN, not waived. The existing queued Sol run handles the reported preview OTP problem. This status update does not assert that sign-in works.
Historical Implementation And Verification Notes
The original candidate labels and unwaived-state notes below remain historical evidence. The current gate disposition is the section above.
Status
Draft implementation for CHE-1593. Candidate
fc127686e9414faf03625dbc25164eb0c6d68a81, based onmain.The successful cookie probe opens the live-build gate. The signed Opus PASS and OCR receipt for
b3158dfa218185cdc00e6fc9e8fd14830bc9c934remain exact-head evidence only. They are not PR-ready or full-issue PASS. Fresh independent review and exact-head OCR for this candidate remain pending. Cheese's Brave screenshot/selection remains NOT-RUN, not waived.Conditions
706bfe02b613fd6f6ec0e6629e4975875c475844mixed tests and production. The initial-probe Test-First Gate is NOT-RUN, not waived. The live phase has the tests-only RED commit below. This does not retroactively repair probe history. The leader must reconcile this historical gate before ready.Change
/api/search/suggestions?workspace_slug=<slug>&q=<typed-text>reuses the existing issue/project query builders and bounded runner. Human session cookies/JWTs/PATs are accepted. Task tokens and non-members are denied.Spec deviations
/<workspace>/suggestions-probe, a Next.js route and a bundled isolated C00 service. It did not use the stable backend URL or an X99 app preview. Cheese's approval comment01a13530-228e-7b9f-bc88-2a20186864caaccepts isolated C00 side-hosting. The live endpoint now uses the specified backend URL. The engine must be re-discovered once because the probe URL differed.Evidence
fetch with cookie, Brave 1.97.56, 14 Oct 2026 about 16:45 ICT, Improve search suggestions on.withCookie=22,withoutCookie=0,errors=0, control PASS. Destination URL followed: not tested. Source: comment01a13a83-33cc-7bb4-8bfc-0df398df220b.44fe6af9a, then tests-only commit8f79d178563c7b68ad116246a6805e37385e0017, then implementation8c585438aad2c3951886f33266113f3acf539f27, then scoped lint correctionb3158dfa218185cdc00e6fc9e8fd14830bc9c934. Commits were pushed in small steps without rewriting history.git diff --checkPASS.C9-1 Address-bar suggestions previewand a project row. The emitted issue text opens/che1593-preview/issues/C9-1with its title visible.01a13a89-b3db-746a-ae89-2a24711d5ef5.b3158dfa218185cdc00e6fc9e8fd14830bc9c934. The previous PR author was x99-codex-sol (OpenAI). This new head requires fresh independent review and exact-head OCR before PR-ready. CI readback and exact-head review remain separate evidence.8c585438aad2c3951886f33266113f3acf539f27found two unchecked response writes, field alignment and a missing Changelog line. The scoped correction explicitly discards irrecoverable response-write errors and applies gofmt. This PR description supplies the Changelog line. Fresh CI is separate from the local validation.38584015823, attempt 2, is SUCCESS onb3158dfa218185cdc00e6fc9e8fd14830bc9c934.Backend-tests and the backend aggregate PASS. All 10 suggestions tests/subcases and
TestCreateComment_GovernanceOn_NativeMentionRoutingUnaffectedPASS.Latest Changelog line PASS (
38586749862). No production or test change was needed. Only failed CI jobs were rerun.The prior missing-receipt assertion is intermittent, but its root cause is not established. Main baseline reproduction remains NOT-RUN.
d2a5b1671e37ed4abc746ef42713517089be0593, implementationd50db3a964387781d3ef952700dcd14562293f5e, tests-onlyd370fc32b0186876936e614bf250d7166d3debe7, tests-onlyaa708c0b5ace012a332fdd3dd958fd2f6452b01c, then implementation667b8c208e26d7c709c40b98c8927d4ee6632e08.d2a5b1671e37ed4abc746ef42713517089be0593:frontend-testobserved the synthetic query marker in Next.js output. Thesqlc-checkfailure on that run was a dependency-download error before drift validation (issue comment01a13c9e-326e-73cb-a570-210463d9e55e). The later tests-only cutover checks reproduced duplicate Nginx upstream mappings before the deduplication fix.pnpm --dir apps/web exec vitest run proxy-failure-privacy.test.tspassed (1 test).bash deploy/cd/test-router.shpassed the nginx error-log privacy and router fixtures.bash deploy/cd/test-cutover.shpassed the cutover fixtures.667b8c208e26d7c709c40b98c8927d4ee6632e08: run38654950498passed all applicable checks; the Changelog line check38654950571passed.frontend-quality,image-budgetanddaemon-artifactwere skipped.bd5a2ebfee04b2cdbd72e7a6886fd6c2e986622d889cff76ed139c34a2bc87c2. Build ID:KMtF5DJkPHkWy0werifXB. The tailnet preview at https://congvc-x99.taila6fa8a.ts.net:19695/ served the matching build ID in HTML; its build manifest returned HTTP 200.production-proxy-failure.logretainsECONNREFUSEDfor suggestions without query or referrer markers. The unrelated/healthfailure retains its diagnostic query marker.19695; do not stop it before review. Tailnet route cleanup istailscale serve --https=19695 off. The recorded web-service cleanup command issystemctl --user stop che1593-correction-preview-web.service. Service-stop readback is NOT-RUN because the systemd user bus is unavailable in this shell.tdd-proofCI check exists on this PR. Green GitHub checks do not resolve the historical gate, signed review, OCR receipt or Brave preview evidence.removed,fetchandfixare false positives.Residual privacy correction — current head
fc127686e9414faf03625dbc25164eb0c6d68a817aa326660d33891e6ee0840b122e52b3c19a34a6at 12:15:21 ICT. Nginx RED at 12:16:07 ICT reportednginx error log includes sensitive markers: NGINX_BACKEND_ISSUES_QUERY_MARKER_1593 NGINX_BACKEND_PROJECTS_QUERY_MARKER_1593 NGINX_WEB_ISSUES_QUERY_MARKER_1593 NGINX_WEB_PROJECTS_QUERY_MARKER_1593 NGINX_PALETTE_REFERRER_MARKER_1593.e880154de34d480e223fe250493daa4d24041e93.web-red-behavioral-final.logrecords the missingReferrer-Policy: originand both palette query markers in Next.js output. RED was behavioral, not a compile or collection failure.befd7027b02a71002dec48a409a5200bd41509f7ande880154de34d480e223fe250493daa4d24041e93precede implementationsd1b7c26a816b42cb90572a2eb88a2528a68c8c89and3438f2bf2d84996d29688e676c4a6258aa6609a2. The final tests-only commitfc127686e9414faf03625dbc25164eb0c6d68a81adds supplemental tests retrospectively and does not replace the RED evidence.pnpm --dir apps/web exec vitest run proxy-failure-privacy.test.ts proxy.test.tspassed 39 tests across two files.bash deploy/cd/test-router.sh,bash deploy/cd/test-cutover.shand web typecheck passed in the retained X99 receipts.git diff --checkpassed.d99318b892ae69e03f03982f7abf1fe1fedba0ff545edeaef143764487469628. Its source isfc127686e9414faf03625dbc25164eb0c6d68a81; build ID isObHRMekhaIyYf2Umu3YvR.Referrer-Policy: origin./healthcontrol returned HTTP 500. The Next.js log retainedECONNREFUSEDandPREVIEW_UNRELATED_QUERY_MARKER_1593; it contained none of the synthetic query/referrer markers for the sensitive search paths.che1593-preview-fc127686e.serviceis active with MainPID3873050. Tailscale port19695routes to127.0.0.1:13277. Keep the preview available for review. Cleanup handles aresystemctl --user stop che1593-preview-fc127686e.serviceandtailscale serve --https=19695 off.38700122607was pending at 14:38 ICT.Changelog linerun38700122736andchangespassed.frontend-quality,image-budgetanddaemon-artifactwere skipped.congvc-bot[bot] <3634010+congvc-bot[bot]@users.noreply.github.com>.Search proxy cancellation correction — current head
5d044c2a9b363aadbf11464035c4a555ba2250053ea669f3729c409046dc1d4a829d4691beb2441d, then implementation5d044c2a9b363aadbf11464035c4a555ba225005. The tests-only commit follows6e5c89fac5769eee4128f5191a24b0805e41ffa3.3ea669f3729c409046dc1d4a829d4691beb2441d:pnpm --filter @multica/web exec vitest run proxy-failure-privacy.test.ts lib/search-proxy.test.tsexited 1. Output:Test Files 2 failed (2)andTests 4 failed | 2 passed (6). The three real HTTP abort tests observed open upstream requests for suggestions, issue search and project search. The cancellation disposition test received 502 instead of 499. Collection succeeded. The failures were behavioral.5d044c2a9b363aadbf11464035c4a555ba225005: the same command exited 0 withTest Files 2 passed (2)andTests 6 passed (6).5d044c2a9b363aadbf11464035c4a555ba225005exited 0 with 84 tests passing across five files.pnpm --filter @multica/web typecheckalso exited 0.request.signalto the upstream fetch. An expected client abort returns 499/no-store without loggingSearch proxy failed. Genuine upstream failures retain sanitized diagnostics and 502/no-store behavior.removed,fetchandfixsynonym warnings are false positives.Changelog: Workspace search engines now offer authenticated issue and project suggestions in the browser address bar.
Closes CHE-1593