Technical Evidence.
Reproducible. Verifiable.
This page documents the architecture, methodology, test results, and reproducibility of the BuildIT Index certification harness. Every claim here can be independently verified against the repository and the demo data.
1. Architecture
The certification harness is a Python CLI application. The reference platform is a Next.js application. They are separate but related codebases in the same repository.
Certifier (Python)
- Entry point:
scripts/certify-model.ts(TypeScript wrapper calling Python) - Core logic:
certifier/package (Python 3.10+) - Dependencies: numpy, pandas, scipy (standard scientific stack)
- Database: None required. Operates on CSV input only.
- Output: STDOUT verdict + exit code (0=PASS, 1=OVERFIT, 2=MARGINAL, 3=FAIL)
Reference Platform (Next.js)
- Framework: Next.js 15 (App Router)
- Runtime: Node 22 (Node 24 breaks Prisma install)
- Database: PostgreSQL + Prisma ORM (50 models)
- API routes: 102 routes
- Pages: 73
- Lines of code: ~172,000 in src
- Commits: 452
- Features: Paper trading only, Yahoo Finance data, single-operator
2. Validation Methodology
The harness applies eight validation components in sequence. Each has a defined boundary. Nothing is described as more than it is.
01 Recompute Accuracy Verdict gate · always runs
Accuracy is recomputed from raw predictions. Any claimed-accuracy column in the file is ignored entirely.
02 Baselines Verdict gate · 2 on bare CSV
The model is compared against baselines computed from the data supplied — not against a number someone wrote down.
03 Walk-Forward Consistency Verdict gate · period stability
Accuracy is measured fold by fold, earliest to latest, so decay shows up instead of hiding inside one average.
04 Multiple-Testing Correction Verdict gate · Bonferroni
Trying many configurations and reporting the best one is corrected for — the more you tried, the harder it is to pass.
05 Uncertainty Intervals Wilson intervals · always runs
Every accuracy figure carries a Wilson interval, so a small sample can’t dress up as certainty.
06 Leakage Gate Verdict gate · pass / fail
Checks for leakage — information in the test data that the model shouldn’t have had when it made the prediction.
07 Probability of Backtest Overfitting (PBO) Not a gate · needs candidates file
When a candidates file is supplied, the harness estimates the probability that the chosen model only looks best because many were tried.
08 Calibration Verdict gate · always runs
Checks whether the model’s stated confidence matches how often it is actually right.
3. Dated Test Results
All results below are from the verified demo fixture (vendor-model-sample.csv, 600 rows) run against the certifier at commit d06dcaf (2026-11-03).
- Commit
d06dcaf(2026-11-03)- Fixture
vendor-model-sample.csv(600 rows)- Command
npx tsx scripts/certify-model.ts examples/vendor-model-sample.csv --configurations 20- Recomputed Accuracy
- 69.33% (416 / 600 correct)
- Claimed Accuracy
- 78.00% (ignored)
- Wilson 95% CI
- 65.5% – 72.9%
- Baselines (bare CSV)
- 2 run: always-bullish, no-change
- Walk-Forward Folds
- 5 folds: 80.00% → 77.50% → 71.67% → 61.67% → 55.83%
- Fall Across Folds
- −24.17 pts
- Leakage Gate
- Passed
- Verdict
- OVERFIT · exit code 1
- PBO
- Null (no candidates file supplied)
- Calibration
- Ran (no confidence column in fixture)
These results are reproducible. Run the command above against the fixture to verify.
4. Runtime Requirements
Minimal dependencies. No database. No external services required for the certifier.
Python 3.10+
Standard library + numpy, pandas, scipy. No TensorFlow, PyTorch, or ML frameworks required.
- OS: Linux, macOS, WSL (no native Windows)
- Python: 3.10, 3.11, 3.12
- numpy ≥ 1.24
- pandas ≥ 2.0
- scipy ≥ 1.10
Node 22 + PostgreSQL
Required for the Next.js platform. The certifier does not need this.
- Node: 22.x (24.x breaks Prisma)
- PostgreSQL: 15+
- Prisma: 5.x
- pnpm or npm
Estimated Setup Time
3–5 engineer-days for a clean environment. The certifier itself runs in seconds.
Running Costs (Platform)
$35–80 / month at hobby scale (Vercel + managed Postgres). Model weights (Chronos-2, ~460 MB) download at first run.
5. Reproducibility Package
Everything needed to independently verify the demo results.
Downloadable Assets
Verification Steps
- Download
vendor-model-sample.csv - Verify SHA256:
8b3747cd980b388249b92f32d00d81c554e90f4998c158d63558b477c8d3f5a3 - Run:
npx tsx scripts/certify-model.ts examples/vendor-model-sample.csv --configurations 20 - Confirm output matches §3 exactly
Browser vs CLI
The homepage terminal demo runs the same algorithm in-browser (JavaScript port of the Wilson interval and fold logic). The CLI is the authoritative implementation. Both produce identical results for the demo fixture.
6. Dependency & Licensing Summary
Third-party dependencies and their licenses. Verified at commit d06dcaf.
Certifier (Python)
| Package | Version | License |
|---|---|---|
| numpy | ≥1.24 | BSD-3-Clause |
| pandas | ≥2.0 | BSD-3-Clause |
| scipy | ≥1.10 | BSD-3-Clause |
Reference Platform (Key Dependencies)
| Package | Version | License |
|---|---|---|
| next | 15.x | MIT |
| react | 18.x | MIT |
| prisma | 5.x | Apache-2.0 |
| @prisma/client | 5.x | Apache-2.0 |
| tailwindcss | 3.x | MIT |
| zod | 3.x | MIT |
Note: Full dependency trees with transitive licenses available in the repository (pnpm licenses list / pip-licenses).
7. Known Limitations
Honest boundaries. These are not bugs — they are the defined scope.
Bare CSV = 2 baselines only
Price history required for the other 3 baselines. The demo fixture has no price history.
PBO is null without candidates file
The demo does not supply a candidates file. PBO is not computed, not "passed".
Calibration needs confidence column
The demo fixture has no confidence column. Calibration runs but has nothing to compare.
No live broker execution
Platform is paper trading only. No licensed market data feed included.
Single-threaded certifier
No parallel fold evaluation. Large fixtures take proportionally longer.
MIT history (1–22 Oct 2026)
Repository was public under MIT. Anyone who copied then holds a perpetual MIT licence to that snapshot.
AI-assisted development
Copyright in purely AI-generated expression is unsettled. Disclosed in writing to buyers.