Context
Google Jules runs tasks in an Ubuntu VM that ships OpenJDK 21, Maven and Gradle but no sbt, scalafmt, mise or brew, reads only the root AGENTS.md, and commits outside our git hooks. The first wave of the Jules-readiness programme (six Scala repositories, 2026-09-05) cut formatting failures on Jules pull requests to zero: every validation pull request passed its first CI run. The organisation inventory of 2026-09-06 found seven more JVM repositories, this one included.
Specifics here: Maven build: the Jules VM image ships JDK 21, this repository compiles with release 25, so Maven and Java 25 come from mise; the Definition-of-Done block is the Maven variant (dc-shared:definition-of-done-maven v1).
Objective
Make dicechess-bot-java Jules-ready so that a Jules task can run the repository gate inside its VM: scripts/jules-setup.sh from the shared template (dc-shared:jules-setup v3, sbt and Maven aware), the Definition-of-Done block at the top of AGENTS.md, and the build tool pinned in mise.toml; then configure the repository in the Jules app (owner) and validate with one Routine dispatch.
Definition of Done (DoD)
Non-goals
- Adopting a formatter where none exists, changing CI workflows or sources.
Context
Google Jules runs tasks in an Ubuntu VM that ships OpenJDK 21, Maven and Gradle but no sbt, scalafmt, mise or brew, reads only the root
AGENTS.md, and commits outside our git hooks. The first wave of the Jules-readiness programme (six Scala repositories, 2026-09-05) cut formatting failures on Jules pull requests to zero: every validation pull request passed its first CI run. The organisation inventory of 2026-09-06 found seven more JVM repositories, this one included.Specifics here: Maven build: the Jules VM image ships JDK 21, this repository compiles with
release 25, so Maven and Java 25 come from mise; the Definition-of-Done block is the Maven variant (dc-shared:definition-of-done-maven v1).Objective
Make
dicechess-bot-javaJules-ready so that a Jules task can run the repository gate inside its VM:scripts/jules-setup.shfrom the shared template (dc-shared:jules-setup v3, sbt and Maven aware), the Definition-of-Done block at the top ofAGENTS.md, and the build tool pinned inmise.toml; then configure the repository in the Jules app (owner) and validate with one Routine dispatch.Definition of Done (DoD)
mise.tomlpins the build tool (sbtmatchingproject/build.properties, ormavenplus ajavamatching the pom release)scripts/jules-setup.shis byte-identical toskills/jules-repo-readiness/templates/jules-setup.shv3AGENTS.mdcarries the matching Definition-of-Done block within the first 40 linesskills/jules-repo-readiness/scripts/check-readiness.shpasses its automated checks on the mergedmainbash scripts/jules-setup.sh, "Run and Snapshot" succeeded, Knowledge enabledjules-ci-auditNon-goals