// library
How the work is actually done
In short
The library is where we write down how the work is actually done — the decisions behind an AI build, what breaks in production, and how to tell a good supplier from a confident one. Everything here is grouped by topic, and every page answers one question.
44 pages4 topics
Browse by topic
Retrieval and grounding: answering from your own contentEverything that happens at query time — how a passage is chosen, ranked, filtered by permission and cited — and how you tell 'the wrong documents came back' apart from 'the right documents, badly used'; the plumbing that gets content into the index lives in the data cluster, and eval methodology lives in the release-gate cluster.20 pagesData readiness, pipelines and keeping the corpus trueThe unglamorous half of every AI build — whether the data is usable at all, how it gets in, how it stays fresh, and how deletions, duplicates and schema drift are handled before anything is indexed or inferred over; one-off migrations of a legacy dataset belong to the integration cluster.16 pagesChoosing the shape of the systemThe decision made before any code exists: what problem shape this actually is, whether it needs an agent loop, a fixed pipeline, a classifier or no model at all, how much autonomy the task can carry, and whether prompting, retrieval or training is the right lever — which process to automate first is an organisational question and sits in the adoption cluster.2 pagesDeciding what to build, and who builds itThe pre-engagement decision — whether to build, buy or configure, whether to hire in-house or bring in a partner, how studios, consultancies, agencies and freelancers actually differ, and how to justify the spend and run diligence on a vendor whose security posture rests on controls rather than certificates.6 pages
Recently published
- "Dedicated team" defined by what it does not promiseThe phrase commits a supplier to almost nothing on its own. What it usually means in practice, and the three artefacts that turn it into something you can verify.definition6 min
- A freshness SLA is a promise about the worst case, not the averageFreshness is the age of the data behind an answer when it is served, held under a stated ceiling. Latency is how fast a run finishes, and the two can disagree by a week.definition6 min
- A subset of the PDFs came through as gibberish and nobody lookedA chunk of mojibake embeds happily, indexes happily and retrieves for nothing. No stage errors, so the only defence is a screen that reads the text before it is indexed.diagnostic10 min
- Adding one new source made unrelated answers worseNothing about the old passages changed. A new source ranks moderately well on a great many queries, and a fixed top-k has to give it those slots by taking them from something else.diagnostic11 min
- An agent loop: a goal, a tool set, carried state and a stopping ruleFour mechanical parts decide whether a system is agentic. Remove one and you have a pipeline with a model in it — often the better system, and always cheaper to run.definition6 min
- An upstream field changed and the pipeline carried on regardlessA renamed source field does not raise an error. It returns nothing, coalesces to an empty string, and quietly hollows out every record ingested since — until someone plots completeness by day.diagnostic10 min
- Backfill: the word that hides four different jobsFirst historical load, gap repair, transform-change reprocessing and full rebuild are all called backfill. They share a shape and nothing else, including risk.definition6 min
- Change data capture, applied to documents rather than rowsChange data capture makes downstream work proportional to what changed rather than to the size of the corpus. Documents make it hard, because they have no equivalent of a database write log.definition6 min
- Chunk overlap: what it protects against and what it duplicatesOverlap is insurance against a chunk boundary landing in the middle of one idea. The premium is paid in duplicated candidates crowding a fixed number of prompt slots.definition6 min
- Everything is now a change requestArguing about whether a change request is fair goes nowhere. Sorting the last 10 into 3 buckets says whether the bid was underscoped, the scope grew, or nobody decided.diagnostic9 min
- Facts in the middle of a long context get missedHold the passage set constant, walk the answer-bearing chunk from first position to last, and measure. The shape of the resulting curve is the diagnosis, and it takes about an hour to produce.diagnostic9 min
- Finance sent it back again and did not say whyA second rejection with no stated reason is not obstruction. Ask which number would have to change for approval, and the reply identifies which of four defects you have.diagnostic9 min
- Groundedness: what separates a supported answer from a plausible oneGroundedness relates a claim to the evidence supplied with it. Correctness relates it to the world. Systems lose credibility in the gap between the two.definition6 min
- Idempotent ingestion: running the same file twice must change nothingIdempotence is a property of the write path decided by the key. Path, arrival order and generated identifiers all look stable and fail on the second run.definition6 min
- It worked on five hundred documents and broke at fifty thousandNothing regressed when the corpus grew. A candidate budget that comfortably held the answer at 500 documents now competes against a hundred times as many near-neighbours, and k never moved.diagnostic11 min
- Lineage: tracing one answer back to the record and the run that produced itLineage is three identifiers carried on every derived record: which record it came from, which version of the transform produced it, and which run wrote it.definition6 min
- Metadata filters, and the difference between filtering and rankingA filter decides which passages may compete. A boost decides how they place. Treating one as the other produces empty result sets and permission leaks.definition6 min
- Multi-hop questions: the shape single-shot retrieval cannot serveThe test is dependency, not difficulty: if you cannot write the second search until the first answers, no amount of index tuning makes one retrieval enough.definition6 min
- Prompt chaining, defined: the primitive between one call and a loopThe author fixed the path. That one property separates a chain from a state machine, which branches, and from an agent loop, which chooses its own next move.definition6 min
- Queries with a part number or a clause reference come back emptyProse questions work and a single part number returns nothing useful. Identifiers are the one query class where similarity is structurally the wrong instrument.diagnostic11 min
- Query rewriting: what happens to the user's words before the search runsOne name covers three unrelated operations: resolving what a follow-up refers to, widening vocabulary, and reshaping a question into something passage-shaped. Each fails differently.definition6 min
- Rank fusion: merging a keyword list and a vector list into one orderFusion combines the positions a document holds in two result lists, not the scores. That is the whole trick, and why hybrid search works without calibration.definition6 min
- Recall collapsed the day you turned on permission filteringThe retrieval quality did not change. A filter applied after the nearest-neighbour search is eating a candidate set that was already fixed at k, and the users with least access feel it first.diagnostic10 min
- Recall@k, and why it is the number retrieval lives or dies byRecall@k is the share of questions whose answer-bearing passage made the top k. It gates everything downstream, because no reranker or prompt recovers a passage that was never fetched.definition6 min
Have a build in mind?
Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.
Start the conversation