Skip to content

docs: add the Kotlin migration playbook and tracker - #846

Open
nickolas-dimitrakas wants to merge 1 commit into
test/consumer-compat-fixturesfrom
docs/kotlin-migration-playbook
Open

nickolas-dimitrakas wants to merge 1 commit into
test/consumer-compat-fixturesfrom
docs/kotlin-migration-playbook

Conversation

@nickolas-dimitrakas

Copy link
Copy Markdown
Contributor

Summary

Adds the playbook and tracker for the Java to Kotlin migration of android-core and android-kit-base internals, and points AGENTS.md at them.

  • docs/kotlin-migration/PLAYBOOK.md: the two governing rules (no breaking change; main is always releasable), what converts and what stays Java and why, the compatibility tiers and the check that proves each, the conversion rules that keep the compiled API identical, the per-PR checklist, risk classes and merge rules, the ProGuard protocol, rollback, and the steps to add when a release is cut while migration work is unreleased.
  • docs/kotlin-migration/TRACKER.md: every planned pull request by phase and stack, with line counts, existing-test counts and risk class, plus the QA checkpoints.
  • AGENTS.md: a short pointer to both documents.

Dependencies

The documents refer to tooling introduced by the other Phase 0 pull requests (apiCheck and scripts/check_api_dump.py, scripts/api_compat_report.py, settings-compat.gradle). This pull request should merge after them.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

📦 SDK Size Impact Report

What the SDK adds to a minified release APK.

Measured against an empty baseline app. Unlike the Rokt kit, android-core ships no Compose and no resources, so there is nothing here that a host app would already provide.

mParticle Core SDK

Metric Target branch This PR Change
APK size 119.79 KB 119.79 KB -2 bytes
Download size 117.61 KB 117.60 KB -2 bytes
Dex bytes 213.75 KB 213.75 KB 0 bytes

➡️ SDK size impact change is minimal.

Raw measurements

Target branch:

{"baseline_dex_bytes": 0, "baseline_download_bytes": 2511, "baseline_install_bytes": 7527, "core_dex_bytes": 218884, "core_download_bytes": 122939, "core_install_bytes": 130192}

This PR:

{"baseline_dex_bytes": 0, "baseline_download_bytes": 2513, "baseline_install_bytes": 7529, "core_dex_bytes": 218884, "core_download_bytes": 122939, "core_install_bytes": 130192}

Measured 5fcb2ae merged into 6486216

@nickolas-dimitrakas
nickolas-dimitrakas force-pushed the docs/kotlin-migration-playbook branch from a5d2c6f to 362c34e Compare September 24, 2026 04:48
@nickolas-dimitrakas
nickolas-dimitrakas changed the base branch from main to test/consumer-compat-fixtures September 24, 2026 04:48
@nickolas-dimitrakas
nickolas-dimitrakas added this pull request to stack #851 September 24, 2026 05:47
@nickolas-dimitrakas nickolas-dimitrakas self-assigned this Sep 24, 2026
@nickolas-dimitrakas
nickolas-dimitrakas marked this pull request as ready for review October 6, 2026 18:21
@nickolas-dimitrakas
nickolas-dimitrakas requested a review from a team as a code owner October 6, 2026 18:21
@cursor

cursor Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Documentation additions outlining the Java-to-Kotlin migration guidelines and roadmap with no changes to application code.

Overview
Adds documentation and tracking guidelines for the ongoing Java-to-Kotlin migration across android-core and android-kit-base.

Introduces docs/kotlin-migration/PLAYBOOK.md, which defines the rules to prevent breaking API changes, conversion best practices, review checklists, risk classifications, and ProGuard verification protocols.

Introduces docs/kotlin-migration/TRACKER.md to map out the planned migration phases, individual pull request stacks, line count baselines, and milestone checkpoints. Also updates AGENTS.md to direct contributors to these guidelines before modifying core or kit modules.

Reviewed by Cursor Bugbot for commit 5fcb2ae. Bugbot is set up for automated code reviews on this repo. Configure here.

@nickolas-dimitrakas
nickolas-dimitrakas force-pushed the docs/kotlin-migration-playbook branch from 362c34e to 7b3e149 Compare October 6, 2026 18:27
@nickolas-dimitrakas
nickolas-dimitrakas force-pushed the docs/kotlin-migration-playbook branch from 7b3e149 to 4d16a95 Compare October 6, 2026 20:43
@nickolas-dimitrakas
nickolas-dimitrakas force-pushed the docs/kotlin-migration-playbook branch 3 times, most recently from d340880 to ec5da3a Compare October 6, 2026 21:45
Adds docs/kotlin-migration/PLAYBOOK.md, which sets out the rules for
converting android-core and android-kit-base internals from Java to Kotlin
without changing the published API: what stays Java and why, the compatibility
tiers and the check that proves each, the conversion rules, the per-PR
checklist, risk classes and merge rules, and the ProGuard protocol. Adds
docs/kotlin-migration/TRACKER.md with every planned pull request by phase and
stack, and points AGENTS.md at both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@nickolas-dimitrakas
nickolas-dimitrakas force-pushed the docs/kotlin-migration-playbook branch from ec5da3a to 5fcb2ae Compare October 6, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant