Jump to a problem, path or page
Jump to a problem, path or page
Updates as you edit. Run the review to record it; passing every check completes the problem.
Not yet passed: Client responsibility
Add Client and define its responsibility.
Not yet passed: Search gateway responsibility
Add Search gateway and define its responsibility.
Not yet passed: Source adapter responsibility
Add Source adapter and define its responsibility.
Not yet passed: Search providers responsibility
Add Search providers and define its responsibility.
Not yet passed: Rank fusion responsibility
Add Rank fusion and define its responsibility.
Not yet passed: Result session store responsibility
Add Result session store and define its responsibility.
Not yet passed: Client → Search gateway
A directed path must connect Client to Search gateway. Arrows represent requests, dependencies, or event flow.
Not yet passed: Search gateway → Source adapter
A directed path must connect Search gateway to Source adapter. Arrows represent requests, dependencies, or event flow.
Not yet passed: Source adapter → Search providers
A directed path must connect Source adapter to Search providers. Arrows represent requests, dependencies, or event flow.
Not yet passed: Source adapter → Rank fusion
A directed path must connect Source adapter to Rank fusion. Arrows represent requests, dependencies, or event flow.
Not yet passed: Rank fusion → Result session store
A directed path must connect Rank fusion to Result session store. Arrows represent requests, dependencies, or event flow.
Not yet passed: Search gateway → Result session store
A directed path must connect Search gateway to Result session store. Arrows represent requests, dependencies, or event flow.
Not yet passed: Can raw relevance scores from unrelated providers be sorted together?
Not yet passed: How should a timed-out source appear?
Not yet passed: What makes later result pages stable in the baseline?
Not yet passed: API and data model notes
Write at least 80 characters describing concrete operations, inputs, outputs, state and errors. This check measures completeness, not semantic correctness.
Not yet passed: Trade-offs and failure cases
Write at least 80 characters about alternatives, failure handling and edge cases. Review the reasoning yourself using the reference discussion.
Rule-based educational feedback. Notes are checked by length only; topology checks confirm directed reachability. These checks do not validate semantics, latency, reliability or every valid design.
Fan out through authenticated source adapters under explicit deadlines, then merge bounded candidate lists using a deterministic rank-fusion policy. Persist a short-lived authorized session and disclose incomplete or truncated source coverage. Resolve caller access to sources and normalize the query into each supported adapter contract. Bound query length, source count and candidate budget; unsupported query semantics are explicit. Run source calls with a concurrency cap and per-source deadlines. Filter unauthorized candidates before fusion and record timeout, error and truncation status; do not treat them as empty successful searches. Deduplicate only through an authoritative cross-source identity mapping, otherwise keep source-scoped IDs distinct. Fuse ranks with a versioned policy and stable tie-breaker; native scores remain source metadata. Store the bounded ordered result list under a tenant/caller/session identity with expiry. Reauthorize each page fetch and preserve order among visible results; report that permissions, incomplete sources and candidate caps limit completeness.
There is no single correct diagram. Explain where yours differs and which requirement justifies it.