mirror of
https://github.com/vectorize-io/hindsight.git
synced 2026-09-14 19:31:49 +08:00
6da65bc194
Release notes said nothing about schema changes, so an operator had no way to tell from the changelog whether upgrading meant a long startup migration. Every release entry now ends with a "Database Migrations" section listing each Alembic revision added in the tag range, the tables it touches tagged with how much data they hold, and a link to the PR that introduced it. A release that alters a high-volume table also gets a warning line above the list. The section is enumerated from git (`--diff-filter=A` over the versions dir), never through the LLM: the same range must always produce the same list, and the volume of a table is a property of the schema rather than a per-run judgement, so it comes from a reviewed map that a test forces new tables into. Tables are read from Alembic ops and raw DDL/DML positions and intersected with that map, which drops prose and index expressions the loose SQL patterns pick up. Bare FROM/JOIN reads are ignored — a migration that defines a function reading memory_units neither rewrites nor locks it. DROP INDEX names no table, so the owner is recovered from the index identifier. Claude-Session: https://claude.ai/code/session_01J52s5Lbg5Lp7KwRyhqg8f3