v0.33.0 — Referent binding, pre-merge snapshots, .kin schema v2
Added
- Referent binding + two clocks (R0). Nodes can bind the external thing their claim describes —
{path|url, content_digest, digest_scope}— plusasserted_at(claim time) andtrue_of(referent observation time).kin add --referent/ MCPadd(referent=...)bind at capture;kin stale/ MCPstale_checkre-hash file-scope referents, demote moved-or-missing referents fromtrusted_onlyrecall (stale_referent), mark them[stale-referent]in search/context, and list re-verification candidates;--rebindre-verifies without re-dating the claim. Export/import and the.kinindex carry the binding. - Pre-merge DB snapshots. Every automated destructive merge (
graph_merge, dream-cycle auto-merges) first copies the SQLite store via the backup API to$XDG_STATE_HOME/kindex/snapshots/(ten kept per database) and logs adb_snapshotchangelog entry with a restore hint. Fail-closed: no snapshot, no merge. .kinschema versioning..kin/index.jsonadvances to schema v2: unknown top-level fields pass through thekin merge-kindriver via 3-way field merge, and a side declaring a newer schema version makes the driver decline (normal git conflict) instead of silently rewriting it.
Changed
- SQLite schema v8 → v9 (atomic, rollback-safe): nodes gain nullable
referent,asserted_at,true_of.
Fixed
_migrate_v8stamped the code's currentSCHEMA_VERSIONinstead of the literal8, which would have marked v9+ migrations applied before they ran on any multi-step upgrade.
Documentation
docs/spec-contradiction-check.md: reviewed v1 contract for thecontradiction_checktool (spec only).docs/prd-lineage-grounding-2026-08.md: the reviewed PRD behind this work. Human/MCP guides and README cover referent binding, staleness, and snapshot restore.
61 MCP tools · 1830 tests · full changelog: https://github.com/jmcentire/kindex/blob/main/CHANGELOG.md