fix(defaults): empty rollbacks; a rollback never deletes host data #52

Merged
KofTwentyTwo merged 1 commits from fix/assistant-defaults-rollback into develop 2026-10-14 22:12:50 +00:00
KofTwentyTwo commented 2026-10-14 22:08:21 +00:00 (Migrated from github.com)

Follow-up to #48/#50; blocks RC.13.

The defaults changelog's rollback lines deleted by name ('default' profile, 'default' policy, starter skill names, the example task). Those names can belong to a host's own rows, and Liquibase also runs rollbacks for changesets it marked MARK_RAN, so rollbackCount would delete host data (proven on Liquibase 4.33 and 5.0.2 against the same pattern in qbit-crm#15).

  • Every seed changeset now has -- rollback empty (header documents why; seeded rows can be removed by hand).
  • New AssistantDefaultsChangelogTest.rollbackKeepsEveryRow: host-owned policy/profile/skill exist, update, then a real Liquibase rollback(10); the changelog table is empty and every row (host and seeded) is unchanged.
  • ./mvnw verify: 271 tests, 0 failures.

🤖 Generated with Claude Code

Follow-up to #48/#50; blocks RC.13. The defaults changelog's rollback lines deleted by name ('default' profile, 'default' policy, starter skill names, the example task). Those names can belong to a host's own rows, and Liquibase also runs rollbacks for changesets it marked MARK_RAN, so `rollbackCount` would delete host data (proven on Liquibase 4.33 and 5.0.2 against the same pattern in qbit-crm#15). - Every seed changeset now has `-- rollback empty` (header documents why; seeded rows can be removed by hand). - New `AssistantDefaultsChangelogTest.rollbackKeepsEveryRow`: host-owned policy/profile/skill exist, update, then a real Liquibase `rollback(10)`; the changelog table is empty and every row (host and seeded) is unchanged. - `./mvnw verify`: 271 tests, 0 failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.