This site exposes its own plumbing. Every verdict on the register is the end of a chain that runs from a claim stated in checkable form to a figure rendered out of a committed dataset — and any link in that chain can be re-run by a stranger. This page is that chain, taken apart. It is not a course in how bonds work; it is a worked example of the method, with the tools showing.
Concept · How Bund auctions workThis page assumes you already know what an auction, a yield or a rollover is — the mechanics are taught, in plain language, in the primer: long‑and‑short · How Bund auctions work (German).
§ A.1 The chain, one link at a time
Six links. Each is a real artifact in this repository, not a description of one. Break any link and the verdict above it is unearned — that is the whole discipline.
| # | Link | Where it lives |
|---|---|---|
| 1 | Claim in checkable form. The video's wording, quoted verbatim with its timestamp, then restated as a proposition the record can confirm or refute. | _data/claims.yml · specs/transcript.md |
| 2 | Primary source. The highest-ranked official publication for the fact — the issuer's own results before anyone's reporting of them. | Finanzagentur · Bundesbank · ECB · BMF |
| 3 | Committed raw file, checksummed. The source file fetched unmodified and stored in the repo, its origin and SHA-256 recorded so a re-download can be proven identical. | data/raw/* · RETRIEVED.json |
| 4 | Deterministic transform. Open build scripts turn raw files into normalized data — same input, byte-identical output, every time. | tools/build_data.py · tools/build_market_data.py |
| 5 | Figures rendered from data. Every number and chart on a claim page reads from the generated _data/*.json through a Liquid include — prose never hand-carries a figure. | _data/*.json · _includes/charts/* |
| 6 | Verdict only when derivable. A badge ships only once a reader could reach it from the committed data. Until then the claim carries Not yet verified. | _data/claims.yml · the claim page |
§ A.2 One claim, end to end
Take the auction the whole video is built on — the 10-year Bund of 08 Jul 2026 (DE000BU2Z072), which it reads as proof of failed demand. Here is the same auction traced through all six links:
- Claim. “Not even 50 % of the Bunds get sold” is quoted
with its timestamp in
_data/claims.ymland restated as three separable propositions about bids, allotment and retention (claim 01). - Source. The Deutsche Finanzagentur's own auction-results workbook — the issuer publishing its own outcome, rank 1 on the source hierarchy.
- Raw + checksum. That workbook sits in the repo as
data/raw/emissionshistorie_en.xlsx, its SHA-256 (b19d9145…ccd6dced) and retrieval time recorded indata/raw/RETRIEVED.json. Re-fetch it and the hash either matches or the provenance record is wrong — there is no third option. - Transform.
tools/build_data.pyreads that workbook and writesdata/auctions.csvand_data/auctions.json, deterministically:just dataon the same raw file yields byte-identical output. - Figure. The auction's bid-to-offer ratio, retention and yield on the
claim page all render from
_data/auctions.json; the bid-to-cover chart is a generated SVG include. Refresh the data and the page refreshes with it — nothing to update by hand, nothing that can silently drift. - Verdict. Only because links 1–5 hold does the Misleading badge ship — derivable, in this case, from 596 committed Bund auctions showing undersubscription in every era.
The audit is a two-line command. just fetch && just data rebuilds every
figure on the site from the official sources; if a number here is wrong, that command will
disagree with it.
§ A.3 What the method refuses to do
No verdict ships before its data is committed. Claims 04–10 each carried Not yet verified — however obvious the answer felt — until their series (Bundesbank term structure and lending rates, ECB peer yields, US Treasury, BMF interest expenditure, the issuance and rating registers) landed in the repository. Confidence is not evidence, and the badge waits for the file.
Two more refusals follow from the same principle. Numbers live in the dataset, never in prose, so a data refresh can never orphan a sentence. And German source definitions are quoted verbatim in the original beside the translation — never translation-only, because the reader must be able to check the words that were actually used.
§ A.4 The gaps, named on purpose
A reproducible method also reproduces its own blind spots. These are the places where the honest answer is “this site cannot check that yet,” stated on the pages where they bite rather than papered over:
- CDS spreads — the direct market price of German default risk — are quoted on commercial terminals only; no free official series exists, so claim 05 names them as missing rather than borrowing an unverifiable quote.
- Bund–swap spreads and stress-episode behavior would each need a committed series and a stated methodology this site has not yet built.
- Bid-level and foreign-participation data — who bid, from where — are not published by the Finanzagentur, so claim 04 checks the price and the volumes, not the bidder roster.
- Budget-share of the interest burden — the figures on claim 06 are nominal euros; no GDP- or budget-share series is committed, and adjusting for either would shrink today's burden, not grow it.
The full list, with the source hierarchy and the verdict scale, is the methodology.
§ A.5 AI involvement, as part of the method
The data pipeline, the page prose and the verdict drafts were produced with an AI assistant (Claude, Anthropic), working from the official sources cited on each page; the human author reviews and gates every verdict and editorial judgment before publication. That division only earns trust because of link 4: the transform from raw file to published figure is open code in this repository, and its output is deterministic. You do not have to trust the assistant, or the author — you can re-run the transform and check the number yourself. The reproducible build is what makes AI authorship auditable instead of something to take on faith.
— Claude (Fable 5) & Jörn Dinkla · July 2026. Full colophon and contact on the about page.