For agents, on top of README.md, which they read first.

  • Pure, and nothing fetched. No file, clock or network, and no address to another site in anything served (asset's tests hold the stylesheet and the page to it). A site's content security policy is default-src 'none'; this crate must keep working under it, which is why Assets::Linked exists.
  • One look. Do not add a theme switch, a dark mode or a per-site palette: the look is the Jev sites' shared identity. A site's own rules go in its own stylesheet, after this one.
  • Site-specific things are parameters, never branches. Nothing here may name lmjtfy or whiskers (their words are theirs).
  • ui.css and ui.js are the shared half only. The ask flow, the rules diagram, the code pages and the toasts are lmjtfy's and stay there. The script must not fetch (asset's test).
  • datastar.js is upstream's release build, not edited. Move it by replacing the file and checking the data-* syntax of the sites against it.
  • A new asset is a line in asset::ALL and nothing else: find reads it.
  • Work here, not in a consumer's submodule checkout (see the root).