# Curated public-domain / CC0 media for the testnot.work example seed. # # This file is the curation checklist. Every id the seed can attach is declared # here; an entry with an empty `url` is not curated yet and its slot keeps the # generated placeholder (a 16x16 grey PNG, or a silent WAV). Filling in a `url` # is the whole act of curation. Nothing else has to change. # # Loaded by src/seed/manifest.rs, embedded into the binary at build time. Set # SEED_MEDIA_MANIFEST to point at a different file while iterating. # # RULES, not preferences: # # 1. Public domain or CC0 only. No CC-BY, no NC, no "free for personal use". # testnot.work is a public box and these files sit in object storage under a # licence claim this file makes on the project's behalf. # 2. `source` is the landing page a person can open to check that claim, not the # direct download. If there is no such page, the asset is not usable here. # 3. `url` is a direct, stable download. Prefer the hosting institution over a # mirror. # 4. Pin `sha256` once the asset is chosen. A run with no pin logs the digest it # saw; paste it back. Pinned and mismatched fails the seed, which is the # point: it means the file at that URL changed under us. # 5. Reusing one `url` across several ids is allowed (the same photographer's # series across a storefront reads fine). Reusing it across *every* id does # not: a grid of one repeated image is the problem this replaces. # # WHERE TO LOOK when adding or replacing one. Both of these expose the licence # as a queryable field, which is why they beat a general image search: you are # reading the institution's own claim rather than a page that says "free". # https://collectionapi.metmuseum.org/public/collection/v1/ (isPublicDomain) # https://commons.wikimedia.org/w/api.php (extmetadata) # Musopen and Project Gutenberg are also fine and were the original suggestion; # neither ended up needed. # # COVERS ARE THE LOAD-BEARING HALF. Thirty of the thirty-four entries below are # cover art, because a storefront of grey squares reads as unfinished however # many items are in it. The four media files matter less: only Audio, Video and # Image items serve a real file to a visitor. Every other item type downloads a # short text blob, and a demo download that says "example file" is honest rather # than broken, so those are deliberately not declared here. # # CURATED 2026-08-07. Every entry below was fetched and its sha256 is the digest # of the bytes that came back, verified a second time from a cold cache by a # different HTTP client. A pin here is a fact rather than a promise. # # THE MET RE-ENCODES. Twelve of the thirty images changed digest within about # half an hour of first being pinned: same URL, same object, a few kilobytes # different. Same bytes on every request since. So expect a mismatch here # eventually, and do not read one as an attack. The recovery is: # # 1. Open the asset's `source` page and confirm it is still the same object # and still flagged public domain. This is the step the pin exists to # force; skipping it defeats the whole mechanism. # 2. Re-run the seed, take the digest it logged, paste it into `sha256`. # 3. cargo test --lib seed::manifest -- --ignored (fetches everything again) # # The alternative, downgrading a mismatch to a warning, was considered and # rejected: it would turn "this file was replaced" into a line in a log nobody # reads, on a box whose whole job is to be looked at. # # STEP 2 IS NOT AUTOMATIC, AND 2026-08-19 IS WHY. Sando build 60 failed # code_smoke with seventeen digest mismatches at once, every one of them a # metmuseum.org URL. Following step 1 cleared all seventeen: the API still # reports isPublicDomain true for each object, each object's title and artist # still match this file, and each `url` is still the object's own # `primaryImage`. Then step 2 refused to apply. Re-fetching from fw13 returned # the digest ALREADY PINNED HERE, for all seventeen, twice over with two HTTP # clients, and six consecutive GETs of one asset were byte-identical with a # stable etag whose `last-modified` is 2023-05-03. Nothing had changed at the # source and there was nothing to repin. # # So a mismatch does NOT imply the pin is stale. It can also mean the fetch got # a variant, and pasting that variant's digest in would pin the wrong bytes and # fail the next build that gets the canonical ones. One oddity worth knowing # while diagnosing: HEAD on that asset reports content-length 1238267 while GET # consistently returns 1222008 bytes, so the origin does describe more than one # encoding of the same object. # # BEFORE REPINNING ANYTHING, re-fetch by hand and confirm the digest you are # about to paste is one you can reproduce twice. If it matches what is already # here, the pin is right and the build is what went wrong: rebuild rather than # edit this file. # # WHY THE BUILD GOT BYTES fw13 COULD NOT REPRODUCE, settled 2026-08-19. The # gate had no cache. `SEED_MEDIA_CACHE` defaults under `$TMPDIR`, sandod runs # with `PrivateTmp=true`, so every Sando build opened on an empty `/tmp` and # re-downloaded all 34 assets from scratch — while the same fetch from a normal # shell on the same machine hit a months-old warm cache and never touched the # network at all. That is the whole discrepancy: not two answers from the Met, # but one machine asking 34 times per build and the other not asking. # # Both halves are now fixed, and neither one edits this file: # # - sando.toml points SEED_MEDIA_CACHE at /srv/sando/seed-media-cache, so the # gate reaches the network only for an asset it does not already hold at the # pinned digest. # - manifest.rs retries a mismatch FETCH_ATTEMPTS times and refuses a response # that is a document rather than media, so a bad minute at a CDN reads as # what it is instead of as "the asset changed at the source". # # All 34 pins were re-verified against the live origins from a cold cache on # 2026-08-19, after both fixes. Every one matched. # # Two sources, both chosen because the licence is machine-readable at the # source rather than asserted by a human reading a page: # # Metropolitan Museum of Art Open Access (the 30 images). Everything the Met # flags isPublicDomain is released CC0, and every object has a public page. # Wikimedia Commons (the 4 media files). Public-domain recordings and one # 1930 orchestra short. # # The imagery is period rather than modern on purpose: 19th-century photographs # for a CC0 field library, instruments for a reissue label, ornament plates for # a tools suite, and printing history for a press. It reads as a considered # catalog instead of as stock photography, which is the whole job of a demo. # ── Open Reels (a reissue label): instruments ───────────────────────────────── [[asset]] id = "openreels-project-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DP302552.jpg" sha256 = "c74e1ca8c28f7e2ec10fd4af4b322ab87dc71f1639eab26623c764f38f8e9f74" media_type = "image/jpeg" filename = "openreels-project.jpg" license = "CC0-1.0" title = "Archlute" author = "David Tecchler" source = "https://www.metmuseum.org/art/collection/search/503613" [[asset]] id = "restoration-1-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DP105130.jpg" sha256 = "dee90828336bc2683a406d362b846e5f79eb09352cc84a1fb2cc784e76f951c3" media_type = "image/jpeg" filename = "restoration-1.jpg" license = "CC0-1.0" title = "\"Antonius\" Violin" author = "Antonio Stradivari" source = "https://www.metmuseum.org/art/collection/search/503008" [[asset]] id = "stem-pack-strings-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DP167848.jpg" sha256 = "116b298709762e3b48b19a1410ae0c3e4606f5f16f2fc107672b45f8e5665d2f" media_type = "image/jpeg" filename = "stem-pack-strings.jpg" license = "CC0-1.0" title = "\"Francesca\" Violin" author = "Antonio Stradivari" source = "https://www.metmuseum.org/art/collection/search/503010" [[asset]] id = "session-take-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DP302551.jpg" sha256 = "1b516d474fcc8d56191c83a5209a7c98dd07453bf27a31fd1992e1324a6dff38" media_type = "image/jpeg" filename = "session-take.jpg" license = "CC0-1.0" title = "Cittern" author = "Joachim Tielke" source = "https://www.metmuseum.org/art/collection/search/504210" [[asset]] id = "restoration-2-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DT679.jpg" sha256 = "582000673ef0f603fd7791358b595b16fc81b0d1d20a60abd7dec751adb32eb7" media_type = "image/jpeg" filename = "restoration-2.jpg" license = "CC0-1.0" title = "Mandolin" author = "Angelo Mannello" source = "https://www.metmuseum.org/art/collection/search/503675" [[asset]] id = "stem-pack-brass-cover" url = "https://images.metmuseum.org/CRDImages/mi/original/DP318718.jpg" sha256 = "d3a841f045dceb352dd51d06f130ed0c03b0ad92df5114e702a274d2ca8acde6" media_type = "image/jpeg" filename = "stem-pack-brass.jpg" license = "CC0-1.0" title = "Alto Recorder in F" author = "Johann Benedikt Gahn" source = "https://www.metmuseum.org/art/collection/search/501520" # ── Deskriver (desktop tools): ornament and pattern design ──────────────────── [[asset]] id = "deskriver-project-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP801363.jpg" sha256 = "256c0ba3fb2509cd56db6c47dd87e1499c83e3fa78ddfa22dccc54984c8491c5" media_type = "image/jpeg" filename = "deskriver-project.jpg" license = "CC0-1.0" title = "Design for a Floral Pattern" author = "Christopher Dresser" source = "https://www.metmuseum.org/art/collection/search/363718" [[asset]] id = "deskriver-focus-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP804627.jpg" sha256 = "007deb54058cf6284b0abee22017e926a082b668807acea3d1720474dc4b9e19" media_type = "image/jpeg" filename = "deskriver-focus.jpg" license = "CC0-1.0" title = "Design" author = "Charles Hindley and Sons" source = "https://www.metmuseum.org/art/collection/search/367270" [[asset]] id = "deskriver-presets-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP804629.jpg" sha256 = "f7498261c5b90ffa33bda597ebd340889e2c3d6781d434586c0d401feef78480" media_type = "image/jpeg" filename = "deskriver-presets.jpg" license = "CC0-1.0" title = "Design" author = "Charles Hindley and Sons" source = "https://www.metmuseum.org/art/collection/search/367273" [[asset]] id = "deskriver-template-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP804628.jpg" sha256 = "894790c6792382949796d5a4e25b7e43779925a3022ab3556fe3f72bb101052d" media_type = "image/jpeg" filename = "deskriver-template.jpg" license = "CC0-1.0" title = "Design" author = "Charles Hindley and Sons" source = "https://www.metmuseum.org/art/collection/search/367271" [[asset]] id = "deskriver-utility-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP816472.jpg" sha256 = "9a94b4860a3011dfdbbbeaf65e7d059603856b196cc9ac09e4f5c11c6d5127dd" media_type = "image/jpeg" filename = "deskriver-utility.jpg" license = "CC0-1.0" title = "Embroidery Pattern with Seven Six-pointed Stars and Four Corner Pieces" author = "Albrecht Dürer" source = "https://www.metmuseum.org/art/collection/search/388376" [[asset]] id = "deskriver-notes-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP-41178-001.jpg" sha256 = "b2eb24812e30d0b1b94e148e1ee05852cccf7b3acb93eb889c289f2dbbab0a3a" media_type = "image/jpeg" filename = "deskriver-notes.jpg" license = "CC0-1.0" title = "The Censer" author = "Martin Schongauer" source = "https://www.metmuseum.org/art/collection/search/336167" # ── Stillfield (a CC0 photo library): these are the works, not just covers ──── [[asset]] id = "stillfield-project-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP206317.jpg" sha256 = "f943d8128d935380b5fbd54fda7c58277b74be5bfbaf412710ce614ad4e89750" media_type = "image/jpeg" filename = "stillfield-project.jpg" license = "CC0-1.0" title = "Life and Landscape on the Norfolk Broads" author = "Peter Henry Emerson" source = "https://www.metmuseum.org/art/collection/search/290484" [[asset]] id = "field-study-01-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP107953.jpg" sha256 = "70ea0288d11cb1ed6d1434ab65aac2c968a587ae6705887da55c749d014d898c" media_type = "image/jpeg" filename = "field-study-01.jpg" license = "CC0-1.0" title = "[Landscape with Clouds]" author = "Roger Fenton" source = "https://www.metmuseum.org/art/collection/search/282040" [[asset]] id = "field-study-02-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DT1150.jpg" sha256 = "4ad35ea0a181966e5293510583fc0f8eae6cbc557863fa45a65922d50ea68d1f" media_type = "image/jpeg" filename = "field-study-02.jpg" license = "CC0-1.0" title = "[Landscape with Cottage]" author = "Marie-Charles-Isidore Choiselat" source = "https://www.metmuseum.org/art/collection/search/267087" [[asset]] id = "field-study-03-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DT1173.jpg" sha256 = "2d04150aef7d3c6759296071feb1401dc5c549d3484a7e89463812af1fa9f6ce" media_type = "image/jpeg" filename = "field-study-03.jpg" license = "CC0-1.0" title = "View on the Columbia, Cascades" author = "Carleton E. Watkins" source = "https://www.metmuseum.org/art/collection/search/262612" [[asset]] id = "still-life-01-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP109566.jpg" sha256 = "7933740cf05d19fd556def696022594216369daa167a543ace18647c9dc6409c" media_type = "image/jpeg" filename = "still-life-01.jpg" license = "CC0-1.0" title = "[Table Top Still Life with Model Cathedral and Small Sculptures]" author = "Louis-Rémy Robert" source = "https://www.metmuseum.org/art/collection/search/265090" [[asset]] id = "still-life-02-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP214798.jpg" sha256 = "02a9f7a5f68012e8e2fb4cdf2eb1ee94ef63fb9f9db7b75a03a32e99ce495c2b" media_type = "image/jpeg" filename = "still-life-02.jpg" license = "CC0-1.0" title = "[Still Life]" author = "Louis-Rémy Robert" source = "https://www.metmuseum.org/art/collection/search/286248" # ── Marginalia Press: printing, type and books ──────────────────────────────── [[asset]] id = "marginalia-project-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP102816.jpg" sha256 = "777e57a47c58f0e061522de52a6c0b7a34ccedb04935ddd99603e50dfd70a536" media_type = "image/jpeg" filename = "marginalia-project.jpg" license = "CC0-1.0" title = "Hypnerotomachia Poliphili" author = "Francesco Colonna" source = "https://www.metmuseum.org/art/collection/search/365313" [[asset]] id = "on-slow-reading-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP-41182-001.jpg" sha256 = "3f36ef3af2e1ae450647f587a2c674c05f7f40e0625fdff244d2875b79c32a99" media_type = "image/jpeg" filename = "on-slow-reading.jpg" license = "CC0-1.0" title = "Underweysung der Messung (Nuremberg, 1538)" author = "Albrecht Dürer" source = "https://www.metmuseum.org/art/collection/search/336657" [[asset]] id = "typesetting-commons-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP-44771-001.jpg" sha256 = "d60c215e1116b4b0888f24654958a4ddee61d1494c5a1be131c255b161aa4df3" media_type = "image/jpeg" filename = "typesetting-commons.jpg" license = "CC0-1.0" title = "Royal American Magazine, or Universal Repository of Instruction and Amusement, Vol. I" author = "Isaiah Thomas" source = "https://www.metmuseum.org/art/collection/search/356473" [[asset]] id = "reader-one-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP-15938-001.jpg" sha256 = "5a421c66a45a144068e725709f0ba8fbc96554b45dcef6e3413a823ad3aa0538" media_type = "image/jpeg" filename = "reader-one.jpg" license = "CC0-1.0" title = "The Book of Chess" author = "Jacobus de Cessolis" source = "https://www.metmuseum.org/art/collection/search/749108" [[asset]] id = "reader-two-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP841130.jpg" sha256 = "719bd3f628917796fe6d782c642c56fbc7cc313ff97d05493bd7be13c6136c89" media_type = "image/jpeg" filename = "reader-two.jpg" license = "CC0-1.0" title = "New Inventions of Modern Times [Nova Reperta], The Invention of Book Printing, plate 4" author = "Jan Collaert I" source = "https://www.metmuseum.org/art/collection/search/659683" [[asset]] id = "on-editions-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/271218.jpg" sha256 = "4090bb8681e6757c3d738f7f8fd41d298acdf3151dc2d95347dbc6ef8ea85a26" media_type = "image/jpeg" filename = "on-editions.jpg" license = "CC0-1.0" title = "An Apostle" author = "Angiolo Falconetto" source = "https://www.metmuseum.org/art/collection/search/362533" # ── Commonshare (the benefit account): a spread of still lifes ──────────────── [[asset]] id = "commonshare-project-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP209243.jpg" sha256 = "1a17f44d64c3d5199845b3ccefc2c79890eb822e2002ed034ccd0de3c53235d7" media_type = "image/jpeg" filename = "commonshare-project.jpg" license = "CC0-1.0" title = "Still Life and Embroidery" author = "Robert Wilfred Skeffington Lutwidge" source = "https://www.metmuseum.org/art/collection/search/270836" [[asset]] id = "community-bundle-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP209008.jpg" sha256 = "8fe4054da9c2497d9903b876c07d9a9b66a66c1a0c3a98c646cd453a494ff4a8" media_type = "image/jpeg" filename = "community-bundle.jpg" license = "CC0-1.0" title = "[Still Life with Fruit]" author = "Roger Fenton" source = "https://www.metmuseum.org/art/collection/search/283087" [[asset]] id = "community-bundle-2-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP275754.jpg" sha256 = "20e38ed186bef5767caed97d14b7314a9ab5ece925429344e6b5ba96f7975524" media_type = "image/jpeg" filename = "community-bundle-2.jpg" license = "CC0-1.0" title = "[Still Life with Game Birds]" author = "Charles Nègre" source = "https://www.metmuseum.org/art/collection/search/286169" [[asset]] id = "field-recordings-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP700250.jpg" sha256 = "21939590d26b68763899d57ea0a15df62da521cb34dee201a264e901a7da2124" media_type = "image/jpeg" filename = "field-recordings.jpg" license = "CC0-1.0" title = "[Still-Life with Cockatoo, Ornamental Ball, Lace, Statuette]" author = "T. R. Williams" source = "https://www.metmuseum.org/art/collection/search/291846" [[asset]] id = "pd-loops-cover" url = "https://images.metmuseum.org/CRDImages/ph/original/DP231110.jpg" sha256 = "4e4896635ba98aac1168a24a3b00493db598f756c6c57507778642c148305f2f" media_type = "image/jpeg" filename = "pd-loops.jpg" license = "CC0-1.0" title = "[The Salon of Baron Gros]" author = "Baron Jean-Baptiste-Louis Gros" source = "https://www.metmuseum.org/art/collection/search/291739" [[asset]] id = "commons-reader-cover" url = "https://images.metmuseum.org/CRDImages/dp/original/DP104573.jpg" sha256 = "fe70f9ab02652cc66a110d1b2235ecb83ab6a618b2c8361d9e08dfe701a91d44" media_type = "image/jpeg" filename = "commons-reader.jpg" license = "CC0-1.0" title = "Mascarade à la Grecque; Suite des Vases; and [Cheminées]" author = "Ennemond Alexandre Petitot" source = "https://www.metmuseum.org/art/collection/search/355281" # ── Media files: the four items that serve a real file to a visitor ─────────── [[asset]] id = "restoration-1-audio" url = "https://upload.wikimedia.org/wikipedia/commons/8/86/Mozart_-_Piano_Sonata_No._14.ogg" sha256 = "80148604c5a2f528f6fcf318d475a94aff38266ad626c583cfaea8abcc101c98" media_type = "audio/ogg" filename = "restoration-1.ogg" license = "Public domain" title = "Mozart - Piano Sonata No. 14" author = "Wolfgang Amadeus Mozart" source = "https://commons.wikimedia.org/wiki/File:Mozart_-_Piano_Sonata_No._14.ogg" [[asset]] id = "restoration-2-audio" url = "https://upload.wikimedia.org/wikipedia/commons/9/95/Beethoven_-_Piano_Sonata_No._28_in_A_Major%2C_Op._101_-_III._Langsam_und_sehnsuchtsvoll.ogg" sha256 = "9b76bc6e0609b2e392e37aa93647728b705bb41085fa7913053b555ae0cdb916" media_type = "audio/ogg" filename = "restoration-2.ogg" license = "Public domain" title = "Beethoven - Piano Sonata No. 28 in A Major, Op. 101 - III. Langsam und sehnsuchtsvoll" author = "Ludwig van Beethoven" source = "https://commons.wikimedia.org/wiki/File:Beethoven_-_Piano_Sonata_No._28_in_A_Major,_Op._101_-_III._Langsam_und_sehnsuchtsvoll.ogg" [[asset]] id = "stem-pack-strings-audio" url = "https://upload.wikimedia.org/wikipedia/commons/e/ec/Mozart_String_Quartet_No._14%2C_I_Allegro_vivace_assai_%28extract%29.ogg" sha256 = "0e5ed71fffca64ce3742bc267a53204079711d7ef0a8df5d3dd6b58a0460fa6b" media_type = "audio/ogg" filename = "stem-pack-strings.ogg" license = "Public domain" title = "Mozart String Quartet No. 14, I Allegro vivace assai (extract)" author = "Unspecified" source = "https://commons.wikimedia.org/wiki/File:Mozart_String_Quartet_No._14,_I_Allegro_vivace_assai_(extract).ogg" [[asset]] id = "session-take-video" url = "https://upload.wikimedia.org/wikipedia/commons/3/31/Ben_Bernie_And_His_Orchestra_%281930%29.webm" sha256 = "bda20be94e6fe6f5ef3330c0afca83e734ee91116c57f283b1190d164ac4de2a" media_type = "video/webm" filename = "session-take.webm" license = "Public domain" title = "Ben Bernie And His Orchestra (1930)" author = "Murray Roth for The Vitaphone Corporation" source = "https://commons.wikimedia.org/wiki/File:Ben_Bernie_And_His_Orchestra_(1930).webm"