The Hypothesis-Driven Design Kit
A form, a check and a log for writing down what you expect before you build, and a forecaster for what it will take, drawn from how TerraQuotes has worked since its first issue
My role
Designer and builder
- Company
- Good Citizens
- Method used on
- TerraQuotes, since its first issue
- Years
- March 2025 to now
- Team
- Sole developer
- Built the method into a GitHub repository template: Prediction, Observation and Decision forms, a check that won't merge a pull request without a prediction, and a trace rebuilt from the links.
- Added an agent skill that turns briefs, PRDs and decks into predictions that can be proven wrong.
- Ran the method on TerraQuotes from its first issue, on March 9, 2025, and added a design history file, borrowed from medical-device design controls, in January 2026.
- Built the kit's effort forecaster, and held it to its own predictions, PRE-004 and PRE-005.
- 340 build-cost forecasts in TerraQuotes' ledger when it was read on October 29, 2026; 146 have an actual cost to check against
- 82% of actual costs inside the kit forecaster's 80% range, backtested forward across 131 of those issues
- 167 design-history records in TerraQuotes, as of October 17, 2026
- 9 of 40 predictions in TerraQuotes' registry can be measured fully from its warehouse; 16 only in part, and 15 from CI and code instead
Summary
Before I build something, I write down what I expect it to do, the number that will settle it, and the result that would prove me wrong. The Hypothesis-Driven Design Kit makes that habit hard to skip: three GitHub issue forms, a check that won't merge a pull request without a prediction, and a log that traces each prediction to what was decided.
TerraQuotes' first epic, in March 2025, wrote down what it expected and the measure that would settle it, and most of its epics since have done the same. Since September 2026 TerraQuotes has also forecast what most issues will cost to build, and the kit's own forecaster was built and tested on that record.
Who was involved
- Product and design teams Who the template is for: teams that want to decide what will count as working before they ship it.
- TerraQuotes The first product run this way, from its first epic to the issues it works today.
Read the record .
Context
The method came first: TerraQuotes' first epic, in March 2025, wrote down what it expected, and most of its epics since have done the same. The kit started in February 2026 as a GitHub repository template: issue forms and a check that won't merge a pull request without a prediction. In March 2026 it gained an agent skill that turns briefs, PRDs and decks into predictions. In October 2026 its issue forms were cut to three, and its trace was rebuilt from the links. The forecaster came after, as a script.
TerraQuotes has kept a design history file since January 2026: 167 records as of October 17, 2026. Records dated before January 11, 2026 were written afterward from git history; the change records say so.
Why most predictions stay open
Writing a prediction is quick. Settling one takes data that arrives on its own schedule. TerraQuotes' registry holds 40 predictions; as of March 31, 2026, its table counts 9 that can be measured fully from the warehouse, 16 only in part, and 15 that need CI or code evidence instead. Predictions about pricing and conversion settle only as real jobs close, won or lost. TerraQuotes is live with one pilot operator, Quiet Village Landscaping, but those outcomes come back slowly, and a lost bid reaches the record only when the contractor's sales software sends it. Those predictions stay open, and the record says so.
Forecasting the work
Since September 2026, TerraQuotes has forecast the build cost of most issues it worked: 340 forecasts in its ledger when it was read on October 29, 146 of them on issues whose actual cost is in. The kit's forecaster reads a range from your own past misses, and a backtest says whether to trust it. Run forward in time over those issues, each forecast only from issues finished before it, its 80% range held 82% of actual costs across 131.
PRE-004 expected ranges half as wide as TerraQuotes' own estimator's, and batch forecasts that held. Its observation found neither: misses arrive in streaks, so batches aren't offered. PRE-005 was registered after a simulation showed ranges falling short with only 10 to 30 finished items, and before the fix was run on TerraQuotes' record. Neither decision has been recorded yet.
What it taught me
Writing a prediction was never the hard part. Being in a position to settle it is. Build costs are recorded every time an issue ships, so the forecaster could be checked against TerraQuotes' record the day it was written. Pricing predictions settle only when real jobs close, so they haven't moved. Writing down the ones still waiting keeps them from being quietly forgotten, or quietly closed.