Skip to content

Adopt the new CoreJvm storage API - #181

Open
alexander-yevsyukov wants to merge 10 commits into
masterfrom
de-event-sourcing
Open

Adopt the new CoreJvm storage API#181
alexander-yevsyukov wants to merge 10 commits into
masterfrom
de-event-sourcing

Conversation

@alexander-yevsyukov

@alexander-yevsyukov alexander-yevsyukov commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Migrates jdbc-storage to the de-event-sourcing storage SPI of CoreJvm 2.0.0-SNAPSHOT.522 — Phase H of the rollout plan tracked in core-jvm.

What changed

Mechanical adoption (earlier commits):

  • createRecordStorage moved to the three-argument form with @Nullable StorageGroup.
  • Vendor suites re-targeted after the upstream rename: RecordStorageDelegateTestDelegatingRecordStorageTest; the suites extending the removed AggregateStorageTest / AggregateHistoryTruncationTest are deleted.
  • QueryPredicates switches modernized; a redundant cast removed.

StorageGroup support (the substantive change):

  • A table is now allocated per (source type, record type, group). Previously the identity was sourceType alone, which under the new CoreJvm would conflate every entity's event journal with each other and with the event log (sourceType == Event for all of them), and an entity's state history with its latest-state table — handing the second storage a cached spec with the wrong ID column type.
  • Grouped tables are named <group>_<RecordType>, e.g. spine_test_storage_StgProject_Event (event journal) and spine_test_storage_StgProject_EntityRecord (state history), beside the unchanged spine_test_storage_StgProject (latest state).
  • TableSpecs caches specifications in a ConcurrentHashMap: CoreJvm may create the state history storage lazily on delivery worker threads, concurrently with other storage creation.
  • The dead io.spine.server.storage.jdbc.aggregate package is removed — its Javadoc linked the deleted AggregateStorage, breaking Dokka.

Custom table settings (follow-ups from the review):

  • Custom names and mappings are looked up by the source type — for an entity, the state type users register, as docs/tables.md documents (setTableName(TaskView.class, …)); recordType() is EntityRecord for entity specs, so the previous lookup could never match. The mismatch predates this branch (sourceType has carried the state class since CoreJvm .380), but the branch touches the lookups, so it is fixed here.
  • A new setTableName(stateType, recordType, name) overload names the grouped tables — e.g. setTableName(Project.class, Event.class, "project_journal") for the journal, and with EntityRecord.class for the state history. The single-type form keeps addressing ungrouped storages only: its key cannot address a grouped table without collisions. A custom column mapping, being source-type-keyed, serves the grouped tables of its entity as well.
  • The module is aligned on the JSpecify @Nullable, matching the CoreJvm seam.

Proofreading (last commit):

  • A full-repo pass of the English-style catalog over the project-owned prose — Javadoc, comments, and docs/** — fixing restrictive whichthat, missing articles, verb complementation, genuine typos (RDMBS, modifiers for modifies), -ly hyphenation, and comma mechanics, plus a few grammar repairs beyond the catalog (a garbled sentence in DataSourceConfig, wrong prepositions in DeleteOne/OperationFactory). Config-distributed files (buildSrc/** etc.) are untouched, as upstream-owned.

Testing

New Kotlin specs over H2 (CoreJvm publishes no fixture for the history storages yet):

  • GroupedTableAllocationSpec — the vendor allocation contract: distinct tables per storage kind and per entity type, cache convergence, the ID-column regression case, custom-name and custom-mapping scoping including the grouped-name overload.
  • JdbcEntityEventStorageSpec / JdbcEntityStateHistoryStorageSpec — round-trips: historyBackward ordering and windows, EntityStateKey (a Protobuf message) as the record identifier, same-key overwrite, stateAt, trim, truncate.
  • ConcurrentHistoryCreationSpec — concurrent storage creation converging on one physical table.

./gradlew build dokkaGenerate is green: 321 tests, 0 failures (18 skipped are the conditional MySQL/Postgres container suites). Version bumped 2.0.0-SNAPSHOT.104.110.

Notes for reviewers

  • The grouped-table naming rule (<group>_<RecordType>) was settled with the product owner on 2026-08-04; docs/tables.md documents it, including the identifier-length caveat.
  • Pre-PR reviewers (spine-code-review, kotlin-engineer, review-docs) approve; their should-fix notes (nullability-annotation split, prose polish) are resolved by the follow-up commits.
  • The buildSrc/config churn in the branch is the config-distributed update that carried the CoreJvm .522 pin; per repo convention it is reviewed in the config repo, not here.

🤖 Generated with Claude Code

alexander-yevsyukov and others added 6 commits August 4, 2026 19:22
Allocate a distinct RDBMS table per the combination of a record
specification and a `StorageGroup`, as the new CoreJvm storage SPI
expects of vendors. Without the group in the table identity, the event
journals of all entity types — and the event log — would share one
table (`sourceType` is `Event` for each), and the state history of an
entity type would collide with its latest-state storage.

 - `TableNames.of(recordType, group)` composes grouped table names from
   the group name and the record type, e.g.
   `spine_test_storage_StgProject_Event`.
 - `TableSpecs` caches specifications by the
   `(sourceType, recordType, group)` key in a `ConcurrentHashMap`:
   the state history storage may be created concurrently on delivery
   worker threads. Custom table names apply only to ungrouped storages.
 - `JdbcStorageFactory` and `JdbcRecordStorage` thread the group
   through; the group-less paths delegate with `null` and behave as
   before.
 - The dead `jdbc.aggregate` package is removed along with its dangling
   Javadoc link to the deleted `AggregateStorage`.

New Kotlin specifications cover the allocation contract and the JDBC
round-trips of `EntityEventStorage` and `EntityStateHistoryStorage`,
including the `EntityStateKey` identifiers, the same-key overwrite,
`stateAt`, `trim`, `truncate`, and the concurrent storage creation.
`docs/tables.md` now describes the grouped tables.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.31250% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.23%. Comparing base (1b77832) to head (eaa6482).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
+ Coverage   88.85%   89.23%   +0.37%     
==========================================
  Files          69       69              
  Lines        1535     1561      +26     
  Branches       76       77       +1     
==========================================
+ Hits         1364     1393      +29     
+ Misses        133      131       -2     
+ Partials       38       37       -1     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: de8c9afef6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rdbms/src/main/java/io/spine/server/storage/jdbc/config/TableSpecs.java Outdated
Comment thread rdbms/src/main/java/io/spine/server/storage/jdbc/config/TableSpecs.java Outdated
A custom table name and a custom column mapping are registered under
the type the user passes to the factory builder — for an entity, its
state type, as `docs/tables.md` shows with `setTableName(TaskView.class,
...)`. The entity state travels in `RecordSpec.sourceType()`, while
`recordType()` is `EntityRecord`, so the previous lookups by the record
type could never match an entity table. For standalone records, the
source type equals the record type, so their behavior is unchanged.

A custom name still applies only to the storages outside any group:
honoring one for the state history would collide it with the
latest-state table of the same entity. A custom mapping, being keyed by
the source type, now also serves the grouped tables of its entity.

Addresses the Codex review of #181; the mismatch predates this branch —
`sourceType()` has carried the entity state since CoreJvm
`2.0.0-SNAPSHOT.380` — but this branch touches the lookups, so it is
fixed here, with regression tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alexander-yevsyukov alexander-yevsyukov self-assigned this Aug 5, 2026
@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Aug 5, 2026
alexander-yevsyukov and others added 3 commits August 5, 2026 16:37
Aligns the module on `org.jspecify.annotations.Nullable`, matching the
annotation of the CoreJvm storage seam, and resolves the mixed-library
note from the review of #181.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A grouped table — the event journal or the state history of an entity —
can now be given a custom name via the new
`setTableName(stateType, recordType, name)` overload of
`JdbcStorageFactory.Builder`. The registration addresses a table the way
its identity works: by the storage group — named by the framework after
the entity state type — paired with the type of the stored records. The
single-type `setTableName` keeps applying to the ungrouped storages
only, as its key cannot address a grouped table without collisions.

`TableSpecs` also moves to the JSpecify `Nullable`, following the
module-wide alignment.

Requested in the review of #181, completing the naming feature.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Apply the English-style catalog across the project-owned prose — Javadoc,
KDoc, code comments, and the Markdown docs. The fixes cover restrictive
`which` → `that`, missing articles, verb complementation
(`allows to do` → `allows doing`), genuine typos (`RDMBS`, `modifiers`
for `modifies`, `type or` for `type of`, `in` for `is`), `-ly` adverbs
freed of hyphens, and comma mechanics.

A few defects beyond the catalog are repaired as well: a garbled
sentence and a subjectless clause in `DataSourceConfig`, wrong
prepositions in `DeleteOne` and `OperationFactory`, `basing on` →
`based on`, a possessive `which` → `whose`, and a malformed
`{@code}` tag in `ContainsQuery`.

The sweep covers the whole repository; `buildSrc` and the other
config-distributed files are excluded as upstream-owned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates jdbc-storage to the updated CoreJvm de-event-sourcing storage SPI (CoreJvm 2.0.0-SNAPSHOT.522) and adds proper StorageGroup-aware table allocation so per-entity histories (event journal + state history) don’t collide with each other or with ungrouped tables.

Changes:

  • Implemented grouped-table identity and naming ((group, recordType)), wired through JDBC storage creation, and updated table-spec caching for concurrent storage creation.
  • Added/updated test coverage for grouped table allocation, entity history round-trips, and concurrent history storage creation.
  • Updated docs, dependency pins, and various build/tooling/supporting code to match the new API and nullability annotations.

Reviewed changes

Copilot reviewed 206 out of 212 changed files in this pull request and generated no comments.

Show a summary per file
File Description
version.gradle.kts Bumps published version to .110.
rdbms/src/test/kotlin/io/spine/server/storage/jdbc/record/given/HistoryStorageTestEnv.kt Test fixtures for grouped/history storage specs.
rdbms/src/test/kotlin/io/spine/server/storage/jdbc/record/ConcurrentHistoryCreationSpec.kt Concurrency test for history storage creation/table convergence.
rdbms/src/test/java/io/spine/server/storage/jdbc/record/TableNamesTest.java Adds coverage for grouped table name composition + NPE defaults.
rdbms/src/test/java/io/spine/server/storage/jdbc/record/JdbcRecordStorageTest.java Updates to Core fixture rename (DelegatingRecordStorageTest).
rdbms/src/test/java/io/spine/server/storage/jdbc/query/QueryPredicatesTest.java Updates predicate tests to new scanning entry point + refactor helper placement.
rdbms/src/test/java/io/spine/server/storage/jdbc/mysql/MysqlTests.java Aligns nullability annotation to JSpecify.
rdbms/src/test/java/io/spine/server/storage/jdbc/mysql/MysqlRecordStorageTest.java Updates to Core fixture rename (DelegatingRecordStorageTest).
rdbms/src/test/java/io/spine/server/storage/jdbc/mysql/MysqlAggregateStorageTest.java Removes aggregate fixture test (upstream fixture removed).
rdbms/src/test/java/io/spine/server/storage/jdbc/aggregate/JdbcAggregateStorageTruncationTest.java Removes aggregate truncation fixture test (upstream fixture removed).
rdbms/src/test/java/io/spine/server/storage/jdbc/aggregate/JdbcAggregateStorageTest.java Removes aggregate fixture test (upstream fixture removed).
rdbms/src/main/java/io/spine/server/storage/jdbc/TypeMappingBuilder.java Minor Javadoc wording tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/type/JdbcColumnMapping.java Javadoc wording/grammar tweaks.
rdbms/src/main/java/io/spine/server/storage/jdbc/Type.java Javadoc wording tweaks for enum docs.
rdbms/src/main/java/io/spine/server/storage/jdbc/TableColumn.java Aligns nullability annotation to JSpecify.
rdbms/src/main/java/io/spine/server/storage/jdbc/Sql.java Javadoc formatting tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/TableNames.java Adds grouped table name composition API.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/RecordTable.java Javadoc wording tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/JdbcTableSpec.java Aligns nullability annotation + minor doc wording.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/JdbcRecordStorage.java Wires @Nullable StorageGroup into table identity via factory table-spec lookup.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/JdbcRecord.java Aligns nullability annotation + minor doc wording.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/column/IdColumn.java Doc punctuation tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/record/column/BytesColumn.java Aligns nullability annotation to JSpecify.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/WriteQuery.java Aligns nullability annotation to JSpecify.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/SelectMessagesByQuery.java Javadoc formatting/grammar fixes.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/SelectMessageByIdQuery.java Aligns nullability annotation to JSpecify.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/reader/IndexColumnReaders.java Javadoc grammar tweaks.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/QueryPredicates.java Modernizes switch usage + clarifies suppression; keeps predicate construction behavior.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/ModifyQuery.java Javadoc grammar fixes.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/DbIterator.java Javadoc wording fixes.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/ContainsQuery.java Javadoc line-wrap/grammar fix.
rdbms/src/main/java/io/spine/server/storage/jdbc/query/AbstractQuery.java Aligns nullability annotation to JSpecify.
rdbms/src/main/java/io/spine/server/storage/jdbc/operation/WriteOne.java Javadoc wording tweaks.
rdbms/src/main/java/io/spine/server/storage/jdbc/operation/OperationFactory.java Javadoc grammar tweaks across factory methods.
rdbms/src/main/java/io/spine/server/storage/jdbc/operation/DeleteOne.java Javadoc correction (“from” database).
rdbms/src/main/java/io/spine/server/storage/jdbc/operation/CreateTable.java Minor Javadoc wording tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/engine/PredefinedEngine.java Javadoc grammar tweaks.
rdbms/src/main/java/io/spine/server/storage/jdbc/delivery/SessionRecordColumn.java Javadoc grammar tweaks.
rdbms/src/main/java/io/spine/server/storage/jdbc/delivery/JdbcShardedWorkRegistry.java Javadoc grammar tweak.
rdbms/src/main/java/io/spine/server/storage/jdbc/DefaultDataSourceWrapper.java Uses pattern matching instanceof for cleaner close logic.
rdbms/src/main/java/io/spine/server/storage/jdbc/DataSourceConfig.java Aligns nullability annotation + prose fixes.
rdbms/src/main/java/io/spine/server/storage/jdbc/config/CreateOperationFactory.java Javadoc grammar tweak.
gradlew.bat Gradle wrapper script change (generated file).
gradlew Gradle wrapper script change (generated file).
gradle/wrapper/gradle-wrapper.properties Gradle wrapper version bump.
docs/type-mapping.md Doc wording corrections.
docs/tables.md Documents grouped tables + customization rules for grouped names.
docs/queries.md Doc wording/clarity improvements.
docs/dependencies/pom.xml Updates documented dependency versions/pins.
CONTRIBUTING.md Minor grammar fix.
buildSrc/src/test/kotlin/io/spine/gradle/VersionGradleFileSpec.kt Adds tests for extra.set(...) parsing in version file logic.
buildSrc/src/test/kotlin/io/spine/gradle/report/pom/DependencyWriterSpec.kt Extends tests to validate “resolved version” reporting behavior.
buildSrc/src/test/kotlin/io/spine/gradle/fs/SpineTempDirSpec.kt Adds tests for new temp-dir utilities.
buildSrc/src/test/kotlin/io/spine/gradle/fs/LazyTempPathSpec.kt Adds tests for new lazy temp path behavior.
buildSrc/src/main/resources/dokka/styles/custom-styles.css Copyright header year update.
buildSrc/src/main/kotlin/write-manifest.gradle.kts Refactors task registration style and doc wording.
buildSrc/src/main/kotlin/uber-jar-module.gradle.kts Fixes typo (“fat JAR”) + simplifies task wiring.
buildSrc/src/main/kotlin/test-module.gradle.kts Copyright header year update.
buildSrc/src/main/kotlin/Strings.kt Doc wording tweak.
buildSrc/src/main/kotlin/pmd-settings.gradle.kts Copyright header year update.
buildSrc/src/main/kotlin/module-testing.gradle.kts Doc wording tweak.
buildSrc/src/main/kotlin/kmp-publish.gradle.kts Copyright header year update.
buildSrc/src/main/kotlin/kmp-module.gradle.kts Excludes Dokka configurations from version forcing + aligns KMP test execution setup.
buildSrc/src/main/kotlin/jvm-module.gradle.kts Excludes Dokka configurations from version forcing + refactors task registration.
buildSrc/src/main/kotlin/jacoco-kotlin-jvm.gradle.kts Removes deprecated JaCoCo script plugin.
buildSrc/src/main/kotlin/jacoco-kmm-jvm.gradle.kts Removes deprecated JaCoCo script plugin.
buildSrc/src/main/kotlin/io/spine/gradle/VersionGradleFile.kt Adds parsing support for extra.set(...) alongside legacy by extra(...).
buildSrc/src/main/kotlin/io/spine/gradle/testing/TestKitCoverage.kt Uses centralized JaCoCo agent coordinate constant.
buildSrc/src/main/kotlin/io/spine/gradle/testing/Multiproject.kt Doc wording fix (“dependent”).
buildSrc/src/main/kotlin/io/spine/gradle/testing/Logging.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/TaskName.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/StringExtensions.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/RunGradle.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/RunBuild.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/SpineLicense.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/ProjectMetadata.kt Reworks metadata retrieval without property delegates.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomXmlWriter.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/PomFormatting.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/ModuleDependency.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/MarkupExtensions.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/InceptionYear.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/pom/DependencyScope.kt Doc punctuation/grammar tweak.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/Template.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/Tasks.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/ProjectDependencies.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/MarkdownReportRenderer.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.kt Ensures version is an input + opts out of build cache with rationale.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/Configuration.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/SiblingCoverage.kt Makes coverage-consumer predicate reusable outside file.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/KoverConfig.kt Improves aggregation wiring + credits compiler fork exec data in root report.
buildSrc/src/main/kotlin/io/spine/gradle/repo/RepoSlug.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/repo/Credentials.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/publish/StandardJavaPublicationHandler.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt Doc wording/grammar tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingRepos.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublishingExts.kt Doc wording/grammar tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt Doc punctuation tweak.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ProtoExts.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/publish/CloudRepo.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/publish/CloudArtifactRegistry.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/ProjectExtensions.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/kotlin/KotlinConfig.kt Refactors opt-in list and scopes JVM-only opt-in correctly.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/Publish.kt Fixes “NPM” typo in docs.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/task/IntegrationTest.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/Protobuf.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/McJs.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/JsPlugins.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/plugin/Idea.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsExtension.kt Doc wording/grammar tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsEnvironment.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/javascript/JsContext.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/javadoc/JavadocTag.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/javadoc/JavadocConfig.kt Doc formatting/grammar tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/javadoc/ExcludeInternalDoclet.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/javadoc/Encoding.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/javac/Javac.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/javac/ErrorProne.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/java/Tasks.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPagesExtension.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/Update.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/AuthorEmail.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/git/UserInfo.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/git/Repository.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/git/Branch.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/fs/SpineTempDir.kt Introduces per-JVM temp directory namespace + shutdown cleanup.
buildSrc/src/main/kotlin/io/spine/gradle/fs/LazyTempPath.kt Places temp dirs under shared per-JVM base directory.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Publish.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/IntegrationTest.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/DartTasks.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/dart/task/Build.kt Doc wording/typo fixes (“compatibility”).
buildSrc/src/main/kotlin/io/spine/gradle/dart/plugin/Protobuf.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/dart/plugin/DartPlugins.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/gradle/dart/DartExtension.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/dart/DartEnvironment.kt Doc spacing/grammar tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/dart/DartContext.kt Doc wording tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/ConfigTester.kt Doc wording/punctuation tweaks.
buildSrc/src/main/kotlin/io/spine/gradle/Clean.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/checkstyle/CheckStyleConfig.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/Build.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/gradle/base/Tasks.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/docs/MarkdownDocument.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/TestKitTruth.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/Testcontainers.kt Adds missing module coordinate (gcloud) + clarifies versioning docs.
buildSrc/src/main/kotlin/io/spine/dependency/test/SystemLambda.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/OpenTest4J.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kover.kt Updates Kover version.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/Jacoco.kt Adds Jacoco.agent coordinate constant.
buildSrc/src/main/kotlin/io/spine/dependency/test/Hamcrest.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/test/AssertK.kt Doc punctuation tweak.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Updates Validation library pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Updates ToolBase pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Updates Time library pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/local/Reflect.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt Updates Logging library pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Updates CoreJvmCompiler pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt Updates CoreJvm pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Updates compiler fallback pins + doc wording.
buildSrc/src/main/kotlin/io/spine/dependency/local/Change.kt Updates Change library pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/BaseTypes.kt Updates BaseTypes library pin.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Updates Base library pin.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Slf4J.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Roaster.kt Removes outdated Java 11 note from docs.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/dependency/lib/KotlinX.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Klaxon.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaX.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaPoet.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JavaJwt.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Jackson.kt Updates Jackson BOM version.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Coroutines.kt Fixes doc typo (“project”).
buildSrc/src/main/kotlin/io/spine/dependency/lib/BouncyCastle.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Asm.kt Doc wording tweak.
buildSrc/src/main/kotlin/io/spine/dependency/lib/AppEngine.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/lib/ApacheHttp.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/Serialization.kt Doc spacing tweak.
buildSrc/src/main/kotlin/io/spine/dependency/kotlinx/KotlinX.kt Copyright header year update.
buildSrc/src/main/kotlin/io/spine/dependency/Dependency.kt Adds Configuration.isDokka helper to avoid forcing Dokka classpath versions.
buildSrc/src/main/kotlin/io/spine/dependency/build/ErrorProne.kt Pins Error Prone to last Java 17-compatible version (per comments).
buildSrc/src/main/kotlin/io/spine/dependency/boms/BomsPlugin.kt Excludes Dokka configurations from forcing; doc wording tweak.
buildSrc/src/main/kotlin/io/spine/dependency/boms/Boms.kt Copyright header year update.
buildSrc/src/main/kotlin/DokkaExts.kt Doc wording tweaks.
buildSrc/src/main/kotlin/dokka-setup.gradle.kts Disables Dokka Javadoc publication for KMP modules.
buildSrc/src/main/kotlin/DocumentationSettings.kt Copyright header year update.
buildSrc/src/main/kotlin/detekt-code-analysis.gradle.kts Doc wording tweaks.
buildSrc/src/main/kotlin/DependencyResolution.kt Excludes Dokka configurations from version forcing; doc wording tweak.
buildSrc/src/main/kotlin/config-tester.gradle.kts Doc wording tweak.
buildSrc/src/main/kotlin/BuildSettings.kt Copyright header year update.
buildSrc/src/main/kotlin/BuildExtensions.kt Doc wording tweaks + adds excludeJetBrainsAnnotations() helper.
buildSrc/settings.gradle.kts Copyright header year update.
buildSrc/quality/checkstyle.xml Copyright header year update.
buildSrc/quality/checkstyle-suppressions.xml Copyright header year update.
buildSrc/build.gradle.kts Updates Kover version + doc wording tweaks.
.idea/misc.xml Removes IDE-local file from repository.
.idea/live-templates/README.md Minor spacing/grammar tweak.
.gitignore Keeps .idea/misc.xml ignored + adds local Claude/plan scratch ignores.
.github/workflows/build-on-ubuntu.yml Updates Codecov action major version.
.claude/settings.json Adds plans directory + permission entries.
.agents/tasks/de-event-sourcing-rollout.md Adds internal rollout/task notes for this migration.
Files not reviewed (1)
  • .idea/misc.xml: Generated file

@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to In Review in v2.0 Aug 5, 2026
@armiol

armiol commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@alexander-yevsyukov I can see you've added me to "assignees". Is this what you wanted to do, or did you mean to request a review from me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

3 participants