Ask my
writing
This runs the pipeline described in ADR-001 against 179 passages indexed from this site — case studies, decision records, and a profile feed (education, certifications, LinkedIn history, public GitHub). Two retrieval paths, combined by rank, with a trace panel beside the answer so you can see which passages it used and how long each step took.
Ask the site
179 passagesAnswers come only from the 179 indexed passages of this site. If the corpus doesn't cover it, the model is instructed to say so rather than improvise.
Try asking
Live trace
idleAsk something to see the retrieval trace: per-stage timings, which path found each passage, and the fused ranking that decided what the model was shown.
The pipeline, drawn
Two paths run against the same chunks. The dense path handles paraphrase; the lexical path handles the rare, specific terms embeddings smooth away. Rank-based fusion combines them without needing the two score scales to be calibrated against each other.
What it is built for
The size this is designed against, and the point at which each choice would have to change. These are the first things I would ask about if someone showed me this.
Sized for this corpus
Scoring is brute-force over every chunk, which is the right answer at this size and the wrong one past a few thousand. The threshold is enforced: the build fails rather than silently shipping a slow index.
Spend is capped
Per-IP and global limits run through a shared store, so the ceiling holds across serverless instances rather than resetting per cold start. The cap exists to bound token spend, and it is set low on purpose.
Measured single-user
The latencies in the trace are real, and they are from one user at a time. Concurrent behaviour is not something I have measured, so I do not quote a number for it.