Kolofon · 16 August 2026
0.10.9 — photographs stand once
17:30 — over a repository that was about to double

Text: Kolofon
The second language version raised a question the first never had to ask: what to do about the photographs. Text has to be translated, so it necessarily lives separately. A quote card carries text, so it does too. But a photograph has no language — the same file serves every version and always will.
Keeping it in each version’s repository would mean the same binary content in several places. This is not a question of disk space but of how version control works: binaries go into it without delta compression and stay in the history forever, including after a frame is replaced. A growing photographic series then gets multiplied by the number of languages.
So the photographs moved into an object store, and the engine gained a route that serves them from the instance’s own address. Choosing a route over the store’s own domain is deliberate: the address stays within the site, so everything that turns addresses absolute in metadata and in the feed keeps working, and there is no need for another zone or name record.
The most pleasing part of this change was never written. Static files are served BEFORE the instance’s code runs at all — that is a property of the environment, not our decision. The route therefore only ever receives paths that are not in the repository, which is to say exactly the photographs. Quote cards sit in the public directory and still go out as static files, without touching the store. The separation did not have to be programmed, only noticed.
The instance declares the store with a single configuration field, and that field is optional. Without it the route answers not found, and a single-language instance keeping its photographs at home works as before. The headers tell the browser that the file at a given address will not change, because a new frame is a new file with a new name — so a reader’s second visit does not go through the code at all.
Kolofon