diff --git a/daily-finds.log.md b/daily-finds.log.md
index dde67cc..81fec89 100644
--- a/daily-finds.log.md
+++ b/daily-finds.log.md
@@ -5190,3 +5190,41 @@ The through-line: five things that take what nobody thinks to map and put it on
**The item that was cut, and why it is worth recording.** `the-phone-in-your-hand` was in bundle 2 until the last pass, on a looser reading of the theme ("things that show you something you already have from the outside"). It went because that phrasing is a feeling, not a through-line, and it would have made the bundle argue two cases at once. It stays unbundled and shortlisted, ranked second on the day, and it goes to the review stage instead — which is the better use of it.
**Weekly catch: judged not due, and this is the second run to make that call.** `2026-08-02-the-weeks-catch` covers July 27 – August 2 and is dated inside the trailing seven days, so the rule as written does not fire. Recording a caveat rather than acting on it: because 08-05 and 08-06 did not run at all, five days of finds have accumulated behind that catch, and the two themed bundles above absorbed nine of them. The catch becomes due on 08-09 and should be run then even if a themed bundle also ships — the leftovers from 08-03 (`crotchet`, `kakehashi`, `project-espanol`, `newold-computer`) have now been invisible for four days.
+
+## 2026-08-07 — reviews: morningprint, braun-collection, the-listening-museum
+
+Three graduations. Two of them clear the backlog the 08-04 run left behind — that run named `the-listening-museum` and `braun-collection` as its top two review candidates and then stopped after the bundle stage, so they have been sitting graduated-in-name-only for three days.
+
+### morningprint
+
+Graduated from find captured 2026-08-07, source: Hacker News — Show HN.
+Hero: the project's own `example/example_2.jpeg` — two thermal receipts pinned to a corkboard, July 3's single scout rocket beside July 4's full sky. Deliberately *not* the GitHub OG card, which is the auto-generated repo-name graphic.
+Category: making (existing).
+Fact-check: **the find undersold it, and the README is unusually forthcoming.** Verified against the repo: the canvas is 203 dpi, 1-bit, 48 monospace columns, CP437 only; the trick that makes block art possible is an `ESC 3` line-spacing value calibrated by hand so `░▒▓█` rows fuse instead of leaving a white seam. Cloud half is a single Google Apps Script; the local half is a Raspberry Pi Zero W writing to `/dev/usb/lp0` behind ngrok. The model emits a declarative spec, not bytes. The `continues` field is what produced the July 3 / July 4 pair in the hero — it is designed to stay empty almost every day. MIT-licensed.
+The correction worth having: the find said the brief is built from "forecast, season and headlines". Accurate, but the more load-bearing input is a **rolling archive of the last fourteen pieces** that the model is asked to differ from — and the README documents the week that broke: a valid spec with a 3,155-character filler title poisoned the archive, every later prompt replayed it, and within a week the printer was producing the model talking to itself. Now length-bounded and sanitised on read. That paragraph is in the review; a project that publishes its own failure mode is exactly what the charter means by honest beating glossy.
+Amazon: n-a (open-source project; the printer is an off-the-shelf Epson TM-T20III but the review is not a product review).
+**Over budget at 483 words** against the 250–450 band (ceiling 600). Flagged to the copy-edit stage rather than trimmed in place.
+
+### braun-collection
+
+Graduated from find captured 2026-08-04, source: Atlas Obscura.
+Hero: the find's own image, recovered on 08-04 through the Atlas Obscura base64 trick at 3790×2853 — hair dryers suspended nose-first on wires with the shaver wall behind. It was called the best photograph of that fortnight in the 08-04 log and it holds up.
+Category: places (existing).
+Fact-check: **braun-sammlung.de would not resolve** (curl returns 000 at both apex and www, twice), so the check ran against secondary sources instead of the museum's own site — recording that plainly because auto mode treats the fact-check as the substitute for a human eye, and this one is a tier weaker than usual. Confirmed across WhichMuseum and the City of Kronberg: Westerbachstraße 23C, 61476 Kronberg im Taunus; Tuesday–Sunday 11:00–17:00, closed Mondays; €3 adults, €1.50 ages 7–17, free under 6 and for school groups; wheelchair accessible; run by the Förderkreis BraunSammlung, a volunteer association working with the company; chronological arrangement; every object labelled in German and English with model number, designer and history. The find held up in every particular.
+Three claims were **written and then cut** for being unverifiable rather than merely unverified: a named ET66 calculator, "fifteen minutes from a major airport", and "no café". The surviving travel line — Kronberg is the end of the S4, roughly half an hour out of Frankfurt — was checked.
+Amazon: n-a (a museum).
+
+### the-listening-museum
+
+Graduated from find captured 2026-08-04, source: Kottke.org.
+Hero: `og-keyboard-sounds.png` (2400×1260). **This is the run's one weak hero decision and it should be logged as such:** it is a title card with copy set into it, and the hero rules discourage images carrying overlay text. It was taken anyway because the page renders its interface entirely client-side and ships no other image — there is exactly one asset on the domain — and because the card is the project's own typography rather than sales copy. A real interface screenshot would be better; it would need a headless browser this run does not have.
+Category: sound (existing).
+Fact-check: **the find's central claim was wrong and the review says so.** The find called it "the only honest way to audition a switch you can't get your hands on." The page's own methodology note says the opposite, in bold: *treat this as a listening museum, not a buying guide*. It cites ThereminGoat on sound tests being limited by microphone, room, host board, keycap set, codec and your speakers, and warns that loudness differences between paired entries are recording variance. The review leads with that correction, which turns out to make the piece better rather than worse — the "alt build" entries (same switch, different host board and mic chain) exist precisely to demonstrate how much of a "switch sound" is plate, case and room.
+Also verified and added: 8 switch families, 500+ samples, 40+ years; none of the audio was recorded by the maker (Mechvibes MIT, Bucklespring GPL-2.0, a CC0 HHKB recording on Freesound, keyboardsounds and Monkeytype GPL-3.0, keyBeats and daktilo MIT); the Unicomp Classic shares the Model M's recording because Unicomp still builds on the original IBM tooling.
+Amazon: n-a (a free web page).
+
+### Considered and not graduated
+
+- **the-phone-in-your-hand** was the fourth candidate and the closest call of the run. It is genuinely good and it is ranked second on today's shortlist. Held for one reason: its only available image is a 1200×630 OG card, and having already accepted one OG-card hero this run (`the-listening-museum`, above, where there was no alternative at all), taking a second would make it a habit rather than an exception. It is the strongest ungraduated candidate on the board and stays that way until someone can screenshot it.
+- **the-pickle-guys** clears the bar on story and hero and was held on access: Atlas Obscura place pages are Cloudflare-blocked, so the mandatory fact-check would have to run entirely against thepickleguys.com, and the interesting claims (eighty pushcarts, the brine timeline) are historical rather than checkable on a shop's own site. It went into a bundle instead, which is the right home for it today.
+- **newold-computer** remains ungraduated for the third run running, on the same hero gap flagged when it was captured. Recording the count because it is now the second candidate (with `project-espanol`) held purely on media rather than merit.
diff --git a/src/content/find/2026/08/braun-collection/index.mdx b/src/content/find/2026/08/braun-collection/index.mdx
index 05a23ff..4933128 100644
--- a/src/content/find/2026/08/braun-collection/index.mdx
+++ b/src/content/find/2026/08/braun-collection/index.mdx
@@ -5,6 +5,7 @@ date: 2026-08-04
shortlist: true
link: "https://www.atlasobscura.com/places/braun-collection"
linkText: "atlasobscura.com"
+promotedTo: "braun-collection"
source: "Atlas Obscura"
topics: [design-and-art, travel-and-places]
tags: [industrial-design, museum, germany, braun]
diff --git a/src/content/find/2026/08/morningprint/index.mdx b/src/content/find/2026/08/morningprint/index.mdx
index 15d0e72..deab92d 100644
--- a/src/content/find/2026/08/morningprint/index.mdx
+++ b/src/content/find/2026/08/morningprint/index.mdx
@@ -5,6 +5,7 @@ date: 2026-08-07
shortlist: true
link: "https://github.com/matt-w-horn/morningprint"
linkText: "github.com"
+promotedTo: "morningprint"
source: "Hacker News — Show HN"
topics: [gadgets-and-toys, design-and-art]
tags: [raspberry-pi, thermal-printer, generative-art, open-source]
diff --git a/src/content/find/2026/08/the-listening-museum/index.mdx b/src/content/find/2026/08/the-listening-museum/index.mdx
index 7c68a8e..4d62092 100644
--- a/src/content/find/2026/08/the-listening-museum/index.mdx
+++ b/src/content/find/2026/08/the-listening-museum/index.mdx
@@ -5,6 +5,7 @@ date: 2026-08-04
shortlist: true
link: "https://sheets.works/data-viz/keyboard-sounds"
linkText: "sheets.works"
+promotedTo: "the-listening-museum"
source: "Kottke.org"
topics: [music-and-sound, gadgets-and-toys]
tags: [keyboards, sound, mechanical-keyboards, free]
diff --git a/src/content/reviews/braun-collection/hero.jpg b/src/content/reviews/braun-collection/hero.jpg
new file mode 100644
index 0000000..753b297
Binary files /dev/null and b/src/content/reviews/braun-collection/hero.jpg differ
diff --git a/src/content/reviews/braun-collection/index.mdx b/src/content/reviews/braun-collection/index.mdx
new file mode 100644
index 0000000..1c5b916
--- /dev/null
+++ b/src/content/reviews/braun-collection/index.mdx
@@ -0,0 +1,28 @@
+---
+name: "Braun Collection"
+subtitle: "The industrial-design canon, one flight up in a Kronberg strip mall, for three euros"
+date: 2026-08-07
+category: places
+topics: [design-and-art, travel-and-places]
+tags: [industrial-design, museum, germany, braun, dieter-rams]
+link: "https://www.atlasobscura.com/places/braun-collection"
+linkText: "atlasobscura.com"
+description: "The BraunSammlung in Kronberg im Taunus — decades of Braun design run by a volunteer association, admission €3, and the hair dryers hang from the ceiling on wires."
+source: "Atlas Obscura"
+fromFind: "braun-collection"
+---
+
+import { Image } from 'astro:assets';
+import hero from './hero.jpg';
+
+
+
+> Half the objects in the modern design canon, kept above a suburban strip mall outside Frankfurt by a non-profit association, for three euros. The hair dryers hang from the ceiling on wires, nose-first, like a natural history museum decided to do appliances.
+
+Westerbachstraße 23C in Kronberg im Taunus is an unremarkable commercial building around the corner from Braun's own headquarters. Up one flight is the BraunSammlung: shavers running the length of a black wall in a single unbroken line, radios in wood cabinets giving way to the white-and-grey slabs that taught everyone else what a control panel should look like, and that squadron of hair dryers overhead. Every piece carries its model number, its designer and its history, in German and English.
+
+**The arrangement is chronological, and that is the point.** Individually these are famous objects, endlessly reproduced in slide decks about Dieter Rams. In a row, decade after decade, they stop being icons and become a working method: you can watch the buttons get fewer, the grilles get quieter, the colour drain out except where it is doing a job. A single Braun object is a photograph. Forty years of them in sequence is an argument.
+
+The economics are the second surprise. The museum is run by the Förderkreis BraunSammlung, a volunteer association working with the company rather than a corporate brand experience — which is why admission is €3 for adults, €1.50 for children between 7 and 17, and free for anyone under six or arriving with a school group. Tuesday to Sunday, 11:00 to 17:00, closed Mondays, wheelchair accessible.
+
+Set expectations honestly: this is small and specialised, and Kronberg is the end of the S4 line, roughly half an hour out of Frankfurt, which you have to actually want to do. But it costs less than the coffee you'd buy on the way, most of it is hung and laid out in the open rather than sealed in vitrines, and it is the one place where the objects everyone quotes stand in the order they happened.
diff --git a/src/content/reviews/morningprint/hero.jpg b/src/content/reviews/morningprint/hero.jpg
new file mode 100644
index 0000000..7d231ee
Binary files /dev/null and b/src/content/reviews/morningprint/hero.jpg differ
diff --git a/src/content/reviews/morningprint/index.mdx b/src/content/reviews/morningprint/index.mdx
new file mode 100644
index 0000000..9879a35
--- /dev/null
+++ b/src/content/reviews/morningprint/index.mdx
@@ -0,0 +1,30 @@
+---
+name: "morningprint"
+subtitle: "A thermal receipt printer that publishes one edition a day, to an audience of one"
+date: 2026-08-07
+category: making
+topics: [gadgets-and-toys, design-and-art]
+tags: [raspberry-pi, thermal-printer, generative-art, open-source, escpos]
+link: "https://github.com/matt-w-horn/morningprint"
+linkText: "github.com"
+description: "An Epson receipt printer wakes before its owner and prints one piece of CP437 block art and a short verse, themed to the day. MIT-licensed, and honest about the week it went wrong."
+source: "Hacker News — Show HN"
+fromFind: "morningprint"
+---
+
+import { Image } from 'astro:assets';
+import hero from './hero.jpg';
+
+
+
+> A receipt printer in a kitchen wakes before its owner and prints one piece of block art with a verse under it — 80mm wide, one copy, no way to subscribe. When the cutter drops, the day's edition is out.
+
+The medium is the whole argument. The canvas is 203 dpi, one bit of colour, 48 monospace columns, and a character set frozen in 1981: CP437, the original IBM PC glyphs. Tone comes from `░ ▒ ▓ █` ramps, edges from half-blocks, solid black from inverted runs where even the spaces print. The trick that makes any of it possible is line spacing — by default the printer leaves a white seam between rows, and an `ESC 3` value calibrated by hand makes the block rows fuse into continuous fields. Without that, block art is stripes.
+
+Each morning a Google Apps Script assembles a brief — the date, the season, the weather, and a rolling archive of the last fourteen pieces with a one-line style note each — and asks Claude for one committed idea sharply unlike everything in that archive. The reply comes back not as bytes but as a declarative spec: styled text operations plus a verse. A fifty-line renderer turns that into ESC/POS and POSTs it to a Raspberry Pi Zero W, which writes it straight to the printer's character device. Only the artwork and the verse print. No title, no branding.
+
+The pair on the corkboard above is the exception that makes the rest work. A `continues` field sits empty almost every day, but when the day itself hands over a thread — a holiday arriving after its eve — the piece may answer an earlier one and record which. July 3 sends up a single scout rocket, *testing the dark. Tomorrow, the whole sky*; July 4 answers, *the scout kept its word*. A fresh continuation raises the bar for the next, which is what keeps it a surprise rather than a tic.
+
+The most useful section of the README is the failure. Structured output guarantees the shape of the JSON, not the size of the strings in it, and one run in July 2026 returned a valid spec with a 3,155-character title of repeated filler. The archive kept it, every later prompt replayed it, and within a week the printer was producing a page of the model talking to itself instead of artwork. Specs are now length-checked before printing and the archive is sanitised on read, so a poisoned entry is dropped once rather than fed back for a fortnight.
+
+You will need an Epson TM-T20III or another ESC/POS printer with CP437, a Pi, and an API key; the Pi-side script isn't in the repo, though its entire contract is "write each POST body to `/dev/usb/lp0`". MIT-licensed, with the byte-level protocol fully documented. What you get for that is a daily thing with no feed, no archive to scroll and nothing to refresh — yesterday's goes on the corkboard.
diff --git a/src/content/reviews/the-listening-museum/hero.png b/src/content/reviews/the-listening-museum/hero.png
new file mode 100644
index 0000000..3250599
Binary files /dev/null and b/src/content/reviews/the-listening-museum/hero.png differ
diff --git a/src/content/reviews/the-listening-museum/index.mdx b/src/content/reviews/the-listening-museum/index.mdx
new file mode 100644
index 0000000..194e590
--- /dev/null
+++ b/src/content/reviews/the-listening-museum/index.mdx
@@ -0,0 +1,30 @@
+---
+name: "The Listening Museum"
+subtitle: "36 keyboards you can hear by typing on the one you already have"
+date: 2026-08-07
+category: sound
+topics: [music-and-sound, gadgets-and-toys]
+tags: [keyboards, sound, mechanical-keyboards, free, open-source-audio]
+link: "https://sheets.works/data-viz/keyboard-sounds"
+linkText: "sheets.works"
+description: "Thirty-six mechanical keyboards sound-mapped from open-source community recordings — click a card, type on your own board, hear it in that one's voice. Explicitly not a buying guide."
+source: "Kottke.org"
+fromFind: "the-listening-museum"
+---
+
+import { Image } from 'astro:assets';
+import hero from './hero.png';
+
+
+
+> Thirty-six mechanical keyboards and switches laid out as cards. Click one, then type on your own keyboard — every key you press comes back in that board's voice. Free, no account, 500-odd samples spanning forty years and eight switch families.
+
+The list runs from an IBM Model M of 1985 through Topre's rubber domes and Cherry MX clickies to the modern customs people call thocky. Clicking a card expands it into the anatomy — housing, stem, spring, and why those add up to the sound you just heard — which is the part that turns a novelty into something you learn from. Filters cover vintage, gaming, typewriter and the custom families; there is a dice button for when you don't know what you want.
+
+**The methodology note is the best thing on the page, and it argues against the site's own premise.** The maker didn't record any of this: every sample comes from the open-source mechanical-keyboard community — Mechvibes, Bucklespring, Monkeytype, keyBeats, daktilo, a CC0 HHKB recording on Freesound — and the page says so up front. "We are the curator, not the field recordist." It then goes further, citing ThereminGoat's argument that sound tests are inherently limited: microphone, room, host board, keycap set, codec and your own speakers all colour what you hear. You are never hearing the keyboard. You are hearing one recording of one build through one chain.
+
+Which forces a correction to how this got surfaced, including here. It is not a way to audition a switch before buying — the site says flatly, *treat this as a listening museum, not a buying guide*, and warns that loudness differences between paired entries are recording variance, not anything about the switch. What it is instead is a demonstration of that very point. Several switches appear twice as "alt build" entries: the same switch, a different host board and mic chain. Played back to back, you can hear how much of what people call a switch's character is actually plate, case, room and microphone.
+
+Two details reward the pedantic. The Unicomp Classic shares its recording with the IBM Model M, because Unicomp still builds them on the original IBM tooling — a footnote that is also a small piece of manufacturing history. And some entries deliberately share audio, flagged rather than hidden.
+
+No account, no purchase, no affiliate rail down the side. Just a page that lets you hear forty years of a thing through the board already under your fingers, and is scrupulously honest about what that is and isn't worth.