Context: #1290 (epic #1097 server foundations) deliberately retained master.xml with explicit <include> per changelog rather than switching to <includeAll/>. Rationale in ADR 0006: two parallel migration PRs produce a natural merge conflict in master.xml that forces authors to agree on order; <includeAll/> would silently interleave them lexicographically.
The trade-off is a manual step: drafting a new changelog today requires both running the db:draft-changelog script AND remembering to append the new file to master.xml. Easy to forget.
What needs to ship
Update db:draft-changelog (the script that generates a new timestamped changeset under server/src/main/resources/db/changelog/) so that it also appends an <include file="changelog/<timestamp>_changelog.xml" relativeToChangelogFile="true"/> line to master.xml immediately before the closing </databaseChangeLog>.
The two-PR ordering conflict surface is preserved (parallel PRs still conflict on the new line; authors still have to resolve it deliberately). The forget-to-edit-master footgun goes away.
Acceptance
Context: #1290 (epic #1097 server foundations) deliberately retained
master.xmlwith explicit<include>per changelog rather than switching to<includeAll/>. Rationale in ADR 0006: two parallel migration PRs produce a natural merge conflict inmaster.xmlthat forces authors to agree on order;<includeAll/>would silently interleave them lexicographically.The trade-off is a manual step: drafting a new changelog today requires both running the
db:draft-changelogscript AND remembering to append the new file tomaster.xml. Easy to forget.What needs to ship
Update
db:draft-changelog(the script that generates a new timestamped changeset underserver/src/main/resources/db/changelog/) so that it also appends an<include file="changelog/<timestamp>_changelog.xml" relativeToChangelogFile="true"/>line tomaster.xmlimmediately before the closing</databaseChangeLog>.The two-PR ordering conflict surface is preserved (parallel PRs still conflict on the new line; authors still have to resolve it deliberately). The forget-to-edit-master footgun goes away.
Acceptance
db:draft-changelogupdatesmaster.xmlautomaticallydocs/contributor/database-migration.mdxupdated to remove the manual append step<include>linesdb/changelog/without a corresponding<include>inmaster.xmlfails the build