Follow AGENTS.md.
Before opening or updating a PR, verify:
- Non-doc-only changes have directional tests.
- Native
scalafmtor the sbt scalafmt tasks were run for changed Scala/SBT files, or the missing tool is recorded inTests. - Code must use syntax compatible with both Scala 2.13 and Scala 3. Do not use Scala 3-only syntax such as significant indentation,
asfor import rename,*for wildcard import, or postfix*for vararg splices. The.scalafmt.confenforces these restrictions viadialectOverride. sbt javafmtAllwas run with JDK 17 when relevant.sbt headerCreateAllwas run to add headers for new files. Never hand-write or invent license headers; let sbt manage them, and preserve existing copyright notices intact.- For copied code, the source file or external project is noted in the PR (see Licensing Rules in
AGENTS.md). - Binary compatibility is preserved, and the GitHub
Check / Binary Compatibilityjob passes before merge. sbt +mimaReportBinaryIssueswas run for public API, binary shape, or MiMa-sensitive internal changes, and ALL reported issues were fixed before creating or updating the PR.- Database schema changes include migration scripts.
- Changes are tested against at least one supported database (PostgreSQL, YugabyteDB).
- Migration module changes preserve data integrity.
- Commit messages follow the
AGENTS.mdformat. - PR bodies follow the
AGENTS.mdformat. TestsandReferencesare present.- No
Co-authored-byor AI-assistant trailers are added to commits or PR descriptions.