Skip to content

Reduce Ask latency with bounded independent answer recovery - #177

Merged
variablenix merged 4 commits into
mainfrom
fix/ask-fast-source-recovery
Oct 21, 2026
Merged

variablenix merged 4 commits into
mainfrom
fix/ask-fast-source-recovery

Conversation

@variablenix

@variablenix variablenix commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Give lightweight Search Assist a short head start, then race bounded browser and independent source fallbacks instead of serially waiting for every timeout.
  • Preserve original-question retries, provider settings, source attribution, positive caching, input limits, and the single-browser limit; cancel and join losing work.
  • Accept inline Assist payloads directly and bound origin refreshes when a usable search snippet already exists.
  • Keep specific genre, type, procedure, and alternative questions out of generic entity fallbacks.
  • Replace the generic failure sentence with a clearly labeled Search Assist / web results link, with valid bounded URL encoding. This does not fabricate an answer or promise an upstream answer for every question.
  • Add concurrency, cancellation, panic-isolation, snippet, URL, and opt-in live latency/relevance regressions; update plugin documentation.

Validation

  • Go 1.26.10: full race suite including offline Chrome fixtures passed on the final head.
  • go vet, staticcheck, govulncheck (no vulnerabilities found), module verification, and native/Linux amd64 builds passed.
  • Live checks without IRC messages: the three baseline questions passed seven repetitions, five including expected-subject/relationship checks.
  • Representative uncached timings: OS definition about 10.5 s before versus 1.0–1.1 s after; cost comparison about 11.0 s before versus 0.5–0.8 s after. Upstream latency can vary.
  • Six additional live checks passed for character/vehicle questions, both genre phrasings, opinion/explanation, and a VM installation question (0.7–1.8 s). Some appropriately returned attributed search excerpts rather than generated Assist text.
  • All 20 live provider-plugin smoke tests and both live YouTube searches passed with available deployment credentials; no credentials were logged and no messages were sent to IRC.
  • Verify, Analyze Go, and CodeQL passed on the final PR head. Main-branch CI and CodeQL also passed after merge.
  • Prerequisite patched Go baseline Update Go baseline for certificate-validation security fixes #176 is merged.

Deployment

  • Built the merged revision 7cf294e with Go 1.26.10 and restarted the service.
  • Verified the running executable revision, clean build metadata, metrics readiness, both network connections, and four joined channels.
  • Configuration, environment, and the pre-existing workflow backup were preserved byte-for-byte.
  • Repeated the baseline live latency/relevance checks twice after deployment: all passed (about 0.55–1.05 s).
  • Docker image build was not exercised locally; its official base-image tag was verified as active.

@variablenix
variablenix merged commit 7cf294e into main Oct 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant