the metrics shipper stops failing every tick once its backlog passes 4,095 rows: insertEvents sent one multi-row INSERT for every row a tick read at 16 parameters a row, and Postgres counts bind parameters in a 16-bit field, so past 65,535 node-postgres wrapped the count and the server refused the statement (bind message has 19296 parameter formats but 0 parameters, found by the #2396 site deploy post-deploy tick). eventInsertStatements now splits the rows into statements under MAX_BIND_PARAMETERS, each numbered from $1, run in the same one transaction so the log position still commits with every row or none. pinned at 5,000 rows: split under the limit, every row once in order, placeholders never past a statement own values, red under a single-statement mutation (1 failed, 3 passed) and restored. site gate 808 passed; bash ci/local.sh green against Postgres 18 including the metrics database suite. owes a site deploy (#2401) 4f516a7a · dbf3dbe6…
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.