Build-vs-buy record · Library staff assistant · MVP 1
Specimen. Real structure, dummy content: a fictional city-library staff assistant. Every name, date and number is invented and marked †. None is taken from a real project.
The decision it makes: What was adopted, what was declined, and why.
Download the MarkdownSpecimen_Build_vs_Buy.md · 2.5 KB · described on The artefact set §3
Specimen: real structure, dummy content. The product, the options and every number on this page are invented to show how a decision record is kept. Options are named by kind, not by vendor. † marks a dummy value.
Header block: product · Library staff assistant · version 1.0 · 2026-04-10† · owner: tech lead · approved by: product owner · constraints that decide most rows: data residency in-country (PRD NFR-5), no patron data (PRD §2), monthly cost cap ₹ 20,000† (risk register R-07)
1 · Adopted
| Need | Option adopted | Build or buy | Why this one | Revisit when |
|---|---|---|---|---|
| Store and search passages | One relational database with a vector extension and full-text search | Buy (open source, self-hosted) | Both search legs in one store; runs in-country; one thing to back up | Corpus passes 100,000† passages |
| Embed passages | An open-weight embedding model, run locally | Buy (open weights) | No passage leaves the deployment | A model scores ≥ 5 points† higher on E-ANS |
| Generate answers | A hosted model in an in-country region | Buy (API) | Meets NFR-5; cost within cap at projected volume | Cost passes 80 %† of the cap |
| Classify patron-data questions | Rules written in the service | Build | Testable case by case; no model to evaluate | Refusal floor missed |
| Eval gate | A script over fixed case sets | Build | The floors are ours; it runs before every sign-off | — |
2 · Declined
| Option | Reason recorded | Kind of reason |
|---|---|---|
| A hosted vector-search service | Stores passages outside the country | Environment (NFR-5) |
| A document-parsing library under a copyleft licence | The licence would reach the delivered service | Licence |
| An agent framework that lets the model choose its next step | The answer path is fixed: classify, retrieve, threshold, generate. Model-decided control flow is kept out, by decision | Fixed control flow |
| A hosted tracing service for model calls | Question logs would leave the deployment, and staff questions can contain patron details (R-08) | Environment and data |
| Fine-tuning a model on the handbook | The handbook changes monthly; retrieval reflects a change the day it is published, a fine-tune does not | Fit |
What is real here: adopted and declined kept in one record, each declined option with its reason, the reason named by kind (licence, environment, fixed control flow), and a condition for revisiting each adopted choice. Everything inside the tables is invented.