Index: AGENTS.md
===================================================================
--- AGENTS.md	(revision 76e9cfd1b3959f1e140695d2cc641616781861c4)
+++ AGENTS.md	(revision 2d2fd8c352950d0d5ff366c901fb7e2e0cf6d614)
@@ -36,4 +36,22 @@
 - `apt-get` - use `-y` flag
 - `brew` - use `HOMEBREW_NO_AUTO_UPDATE=1` env var
+
+## Conventions & Patterns
+
+- **Bump `MOD_V` whenever you change anything in `src/assets/js/mod/`.** It sits
+  at the top of the module loader in `src/views/shell.ejs` and is the
+  cache-buster for every page module. `/assets` is served `max-age=1y` outside
+  development, so without a bump a browser that visited before keeps running the
+  old module for a year — meaning a fix reaches everyone *except* the people who
+  already have the bug. Same discipline as `audio-player.js?v=N` a few hundred
+  lines up. One number for the whole directory: bumping too often costs one
+  download, bumping too rarely costs a bugfix that never arrives.
+
+- **Comments and commit messages in Dutch, identifiers in English.** The modules
+  in `assets/js/mod` read `setIcon`, `uploadOne`, `applyAccent`; the comments
+  around them are Dutch prose. Both halves matter — a Dutch identifier in an
+  English file is the same wrong note as an English comment in a Dutch one. This
+  extends to anything long-lived and outward-facing: URL paths and CSS class
+  names are English (`/read`, `.read-end`), never a Dutch verb form.
 
 <!-- BEGIN BEADS INTEGRATION v:1 profile:minimal hash:7510c1e2 -->
