Skip to content
On this page

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.