Monorepo for Aesthetic.Computer aesthetic.computer

keeps: fix E11000 dup key { hash: null } on first keep of Datomic-only pieces master

The kidlisp_hash_unique index was plain unique (not sparse/partial), so any second doc lacking a real hash collided on { hash: null }. keep-confirm's upsert inserts such hash-less rows for pieces that live only in Datomic. - store-kidlisp: make the hash index PARTIAL ({ hash: $type string }), with an auto-migration that drops + recreates the old plain-unique index. - keep-confirm: seed source/hash/when via $setOnInsert from the Datomic record so first-keep upserts never write a { hash: null } row. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>


+38 -6
2 changed files