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.
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)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
rollbackCountwould delete host data (proven on Liquibase 4.33 and 5.0.2 against the same pattern in qbit-crm#15).-- rollback empty(header documents why; seeded rows can be removed by hand).AssistantDefaultsChangelogTest.rollbackKeepsEveryRow: host-owned policy/profile/skill exist, update, then a real Liquibaserollback(10); the changelog table is empty and every row (host and seeded) is unchanged../mvnw verify: 271 tests, 0 failures.🤖 Generated with Claude Code