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's script is not here. Every site serves aldebaran_datastar::SCRIPT at shell::DATASTAR_PATH; the crate only writes the <script> that asks for 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).