zz_

60a374da ยท zzmq.dev@gmail.com/zz

Commit

60a374da1b8798dcb2f403a3fa17554267b40baf

Reject a commit that silently drops a previously-exported name A real, concrete regression: numkit's index.js went from re-exporting clamp/average/isPrime to containing only a newly-added function, with the others gone entirely and no error anywhere -- the model rewrote the whole file from scratch around just the one thing it was adding, instead of reading and preserving what was already there. This had been happening silently since the very first change to that file. commit_changeset now extracts exported names (regex-based scan, not a real parser, but enough for export function/const/class and export {} forms) from the file's current HEAD content and from the proposed new content, and rejects the write if anything previously exported is missing -- forcing the agent to notice and either restore it or say so. Verified against the exact failure pattern (a file re-exporting several things rewritten to export only the new one): rejected, names every dropped export; a version that preserves them goes through. Also repaired numkit's actual index.js and its Ladder summary, which had been broken by this exact bug across several real commits -- it now correctly re-exports clamp/average/isPrime and exports isOdd and sum directly, verified by actually running all five functions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Troy Howard <thoward37@gmail.com> -- 2026-10-10T12:04:30.000Z

Tree at this commit