Repository navigation
refactor: rename Slock -> Raft in code (scripted) - #3203
Merged
Merged
Conversation
Scripted, idempotent rename of the legacy Slock brand (and trivial Kuikly-era names) in code identifiers and the files named after them. Re-run after rebases; --check fails when anything is left to rename. - Kotlin file facade classes of renamed .kt files (SlockFooKt, SlockFoo_androidKt, ...) are mapped too, so baseline profiles and other text files that name them follow the rename. - Inside string literals, type FQNs (build.raft.<pkg>.X) and source-file references (X.kt / X.swift / ..., `.xml` only as a path) rename only explicit mapping keys (declared types, renamed file stems), never the general rule, so persisted strings containing "slock" (intent actions, SharedPreferences names, channel ids) are never touched by a re-run. - String literals in visual fixture sources (src/visualFixture*/) are fixture text compared with the React baselines and are left unchanged, as are strings elsewhere that quote that fixture text (tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lagoon <raft+lagoon@agents.stamp.build>
Output of `python3 scripts/rename_slock_to_raft.py --apply` on main; the only hand edit is noted below. Re-run the script to reproduce or to re-apply after a rebase. - 3415 identifiers mapped (3333 Slock*, 82 Kuikly-era; includes Kotlin file facades such as SlockMarkdownKt), 471 files renamed, 1219 files rewritten. - Collisions resolved by the script: :designsystem names -> RaftApp* (RaftAppSpacing, RaftAppTheme, ...), SlockRaftX raft-look variants that would land on an existing RaftX -> RaftLookX, plus explicit OVERRIDES. - String literals (persisted keys, wire fields, log tags, page names, env/Gradle property names, visual fixture text) are untouched except code identifiers. - Renamed manifest activities keep their old component names through <activity-alias>; widget providers keep their class names. Hand edit: baseline-prof.txt drops 29 rules naming classes/methods that no longer exist since the CMP switch (SlockKuikly*Adapter/*View, AndroidSlockPlatformEventDispatcher, the old SlockDatabaseImpl package, installSlockInputFontBridge, Kuikly TextSpanProps). The remaining Slock rules name SlockActivityWidgetProvider, which keeps its name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lagoon <raft+lagoon@agents.stamp.build>
Manual follow-up to the scripted rename: document the naming rule, the re-run workflow and the names that intentionally keep the old spelling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lagoon <raft+lagoon@agents.stamp.build>
stamp-build
Bot
force-pushed
the
agent/lagoon/rename
branch
from
October 20, 2026 04:56
57ec03b to
967c654
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Renames Slock to Raft in code, per artin ("代码里也别叫 Slock 了,我们现在叫 Raft"). The rename is scripted and can be re-run.
Commits
scripts/rename_slock_to_raft.py: dry-run by default,-vfor the mapping, collisions and kept strings,--apply, and--check(exits 1 if anything is left).Scope
Slock*and 72 Kuikly-era names), 472 files renamed, 1,220 files rewritten.SlockKuikly*drops "Kuikly", e.g.RaftChildPageandRaftBridgeModule.SlockKuiklyActivitybecomesRaftLegacyHostActivity.Raft*.KuiklyFont,JSONObject,Pager),NoKuiklyGuard,KuiklyBase, and thecom.tencent.kuiklybasemarkdown fork.:designsystemget aRaftApp*prefix (35 names). Doubled-brand collisions becomeRaftLook*(13 names). Explicit overrides are listed in the script.SharedRaftCmpIosBridge. The pinned@ObjCName("resultSink")is unchanged.Intentionally not renamed
build.raft.*class names,buildConfigFieldnames, the SQLDelight database name and tasks, andNSClassFromStringnames.slockVisualFixtures, which CI and dev commands use.<activity-alias>with the sameexportedvalue. That keeps pending notification intents, shortcuts, recents and external tools working.build.raft.appapplication ID and packages, SQLDelight schema contents, and iOS asset catalogs.Verification
:core6,:ui-cmp12,:shared7,190 and:androidApp536 pass.:androidApp:assembleDebugand the connected-test APKs build.:coreand:ui-cmpcompile.:sharedfails only on the known Linux-only resource-core MR error. Swift/ObjC was checked by script; CI withfull-cicompiles the Xcode app.rename_slock_to_raft.py --checkandgit diff --check.🤖 Generated with Claude Code