Developer
Ian Childs
ianc@meta.com
Performance
YoY:+606%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files |
|---|
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.
| Effort |
|---|
| 8720398b | This commit performs a significant **refactoring** of the **Java build rules** by consolidating `extra_attributes` directly into their respective rule declarations within `java_rules.bzl`. This change **simplifies `java.bzl`** to only export `implemented_rules` and removes the `extra_attributes` dictionary entirely, with `rules_impl.bzl` updated to reflect this. Additionally, `AbiGenerationMode` and `dex_min_sdk_version` are **relocated** from `java.bzl` to `java_rules.bzl`, necessitating updates to import paths in `android_rules.bzl` and `kotlin_rules.bzl`. The overall goal is to improve **code organization and clarity** within the build system without altering functional behavior. | Mar 31 | 5 | maint |
| 355cf42d | This commit **refactors** the definition of extra attributes for **Kotlin build rules** by moving them directly into their respective rule declarations. Specifically, `extra_attributes` previously defined in `kotlin.bzl` are now integrated into the `kotlin_library` and `kotlin_test` rule definitions within `kotlin_rules.bzl`, including private toolchain attributes and validation dependencies. This change **simplifies** `kotlin.bzl` by removing the `extra_attributes` dictionary entirely and updates `rules_impl.bzl` to pass an empty dictionary for Kotlin's extra attributes, making the rule definitions more explicit and self-contained. | Mar 31 | 3 | grow |
| 1e0046ed | This commit performs **maintenance cleanup** by **removing the `-no-reflect` flag** from the **Kotlin compiler configuration**. This flag was a no-op because it was a modifier for `-include-runtime`, which was previously removed as it only applied when `kotlinc` output to a JAR, not a directory. The change **simplifies the build system** by eliminating dead code and updates comments to reflect why both flags are omitted. This **refactoring** has no impact on the compilation behavior or the resulting output, serving purely as a **cleanup** of unused build options. | Mar 31 | 2 | – |
| e5eb58b7 | This commit performs a significant **refactoring** of the **Android build system's rule definitions** by moving `extra_attributes` directly into their corresponding rule declarations within `android_rules.bzl`. This change centralizes attribute definitions, simplifying `android.bzl` by removing the `extra_attributes` dictionary entirely and updating `rules_impl.bzl` to pass an empty dictionary for Android extra attributes. The **refactoring** ensures that all rule-specific attributes, including transition dependency overrides and private toolchain attributes, are defined alongside their rules. Consequently, external files such as `apex.bzl`, `host_rules.bzl`, and `kmp_library.bzl` are updated to import symbols directly from `android_rules.bzl`, streamlining the overall build configuration. | Mar 31 | 3 | maint |
| cef197c4 | This commit performs a widespread **refactoring** across the **Buck2 build system**, explicitly setting `has_content_based_path = False` in all existing calls to `actions.declare_output` within the `fbcode/buck2` codebase. This change affects numerous **build rules and test definitions** found in modules like `app/buck2_external_cells_bundled`, `prelude/rust`, and various `tests/core` directories. While semantically a **no-op** for current build behavior, as `False` is already the default, it is a critical **preparatory step** to ensure future compatibility. This explicit annotation pins existing call sites to their current behavior before the default value of `has_content_based_path` is changed to `True`, preventing unintended changes in output path generation. | Mar 31 | 144 | maint |
| 3b4f7d5c | This commit **relands a previous change** to ensure that **KotlinCD** (Kotlin Continuous Delivery) consistently uses **content-based paths**. It **fixes an issue** from an earlier attempt by specifically modifying the `_kotlincd_content_based_paths` function within `prelude/decls/jvm_common.bzl`. The `uses_content_based_paths_for_kotlincd` attribute is now explicitly set to `True` by default, guaranteeing that all KotlinCD-related builds leverage content-based path resolution. This **maintenance and bug fix** prevents previous erroneous modifications from impacting the build system's stability. | Mar 31 | 1 | maint |
| 5b3b3a7e | This commit introduces a **new capability** to accurately track files that skipped compilation during **KotlinCD incremental builds**, addressing cross-platform inconsistencies. It replaces unreliable timestamp-based checks with **content-based hashing (SHA256)** to determine if a file's content truly changed, particularly resolving issues on Linux where `std::fs::copy` does not preserve modification times. The **KotlinCD build system** is enhanced with a new `.buckconfig` flag `kotlin.track_files_which_skipped_compilation` and exposes new subtargets like `files_which_skipped_compilation` on `kotlin_library` targets to report these files. This **bug fix** provides a robust mechanism for verifying incremental compilation behavior and **fixes existing test failures** in `test_jvm_incremental.py` by allowing it to use this new, reliable tracking. | Mar 31 | 8 | grow |
| 2efe44f8 | This commit performs a significant **refactoring** of **Android build rule attribute definitions** by merging `ANDROID_BINARY_BUNDLE_COMMON_EXTRA_ATTRS` from `android.bzl` into `ANDROID_BINARY_BUNDLE_COMMON_ATTRS` in `android_rules.bzl`. This consolidation eliminates a split between two files, standardizing attribute definitions by using transition dependencies for common keys and introducing new attributes such as `min_sdk_version` and `package_validators`. The change also updates `wa_android_superpack_libs` in `superpack_rule.bzl` to explicitly declare its required attributes, enhancing clarity and reducing implicit dependencies across **Android build configurations**. | Mar 31 | 2 | maint |
| 0c588589 | This commit **refactors the Android build rule attribute definitions** by consolidating `ANDROID_BINARY_EXTRA_ATTRS` and `ANDROID_BUNDLE_EXTRA_ATTRS` directly into `ANDROID_BINARY_ATTRS` and `ANDROID_BUNDLE_ATTRS` within `prelude/decls/android_rules.bzl`. This **streamlines the configuration of `android_binary` and `android_bundle` rules** by integrating specific attributes like `strip_libraries` (now using `DISABLE_STRIPPING`), `constraint_overrides.attributes`, and `use_derived_apk` into their main attribute sets. As part of this **maintenance effort**, the `DISABLE_STRIPPING` constant is also moved, and the now-unused `_EXTRA_ATTRS` constants and `constraint_overrides` import are removed from `prelude/android/android.bzl`. This change centralizes and simplifies the attribute definitions for the **Android build system**, making the configuration more cohesive. | Mar 31 | 2 | maint |
| 44728b29 | This commit performs a **refactoring** to **unify the `AbiGenerationMode` enum definition** within the `prelude` system, standardizing its values and centralizing it in `common.bzl`. This change eliminates a duplicate enum definition previously found in `java.bzl` and removes the need for `abi_generation_mode` attribute overrides in various **Android, Java, and Kotlin build rules**. Specifically, rules like `android_aar`, `android_library`, `java_test`, and `kotlin_library` now consistently rely on `jvm_common.abi_generation_mode()`. The overall impact is improved code consistency and reduced redundancy in the **ABI generation configuration**, making the build system more maintainable. | Mar 31 | 6 | maint |
| 2410f0b1 | This commit introduces a **new capability** to the **CXX build system** by adding an `expect_eligible_for_dedupe` boolean attribute to `cxx_library` targets. This attribute, when set to `True`, ensures that associated **`cxx_compile` actions** enforce content-based paths for outputs and verify input eligibility for deduplication, preventing critical Remote Execution (RE) capacity issues. The change modifies the `cxx_library` rule definition in `prelude/decls/cxx_rules.bzl` and `prelude/decls/cxx_common.bzl`, and integrates the attribute into CXX compile command generation via `prelude/cxx/cxx.bzl`, `prelude/cxx/cxx_types.bzl`, `prelude/cxx/compile.bzl`, and `prelude/cxx/compile_types.bzl`. This **maintenance** effort aims to improve build system reliability and efficiency, with a new dedicated test target ensuring `cxx_compile` actions remain eligible for deduplication. | Mar 30 | 6 | grow |
| b3f8aa40 | This commit performs a **refactoring** of the **Buck2 installation protobuf definitions** by **removing the `files` map field** from the `InstallInfoRequest` message. The field number for `files` is now reserved to prevent accidental reuse, and associated comments have been updated in both `app/buck2_install_proto/install.proto` and `prelude/toolchains/android/src/com/facebook/buck/installer/proto/install.proto`. This change streamlines the `InstallInfoRequest` structure, ensuring that the **Buck2 installation process** exclusively uses the `file_names` repeated field for specifying files, thereby simplifying the underlying data model and improving consistency. | Mar 30 | 3 | maint |
| 829a3b06 | This commit performs a **refactoring** of the **Android installer service** by removing a legacy fallback mechanism for file name retrieval. Specifically, the `handleInstallRequest` method in `InstallerService.java` no longer attempts to retrieve file names from a `filesMap`. Instead, it now exclusively relies on the `fileNamesList` provided in the `InstallInfoRequest`, as Buck2 is guaranteed to always send this information. This change **simplifies the install client logic**, standardizing file name retrieval and improving code maintainability by removing obsolete code paths. | Mar 30 | 1 | maint |
| 3a1ae205 | This commit performs **documentation cleanup** by removing the `default_host_platform` attribute from the **Buck2 alias documentation**. This attribute is being deprecated and removed from all Buck2 rules because it was never actually used, making its documentation entry obsolete. The change ensures the **Buck2 build system's** documentation accurately reflects the current state of alias functionality, preventing user confusion and improving overall documentation quality. | Mar 30 | 2 | – |
| dfa77ad0 | This commit performs a significant **refactoring** and **code cleanup** across the **Buck2 build system's core rule definitions**. It systematically removes the `default_host_platform` attribute from virtually all **prelude rule declarations**, including those for Apple, C++, Android, Java, Python, Haskell, Go, OCaml, Lua, JS, Kotlin, Dotnet, Shell, Rust, and Git rules, as well as helper functions like in `apple/apple_common.bzl` and `ocaml/attrs.bzl`. This attribute was identified as unused boilerplate, meaning its removal streamlines rule definitions and improves the maintainability and clarity of the **build system's configuration files** without introducing any functional changes or downstream impact on build behavior. | Mar 30 | 20 | maint |
| 5bb3cc2d | This commit performs a **cleanup** by **removing the `ndk_library` rule** from the **Buck2 build system's Android prelude** and the `fb_native` wrapper. This **maintenance** task involves deleting the rule's definition from `prelude/decls/android_rules.bzl`, removing its wrapper from `fb_native_wrapper.bzl`, and updating documentation in `prelude/decls/android_common.bzl`. The `ndk_library` rule, previously used for Android NDK builds, is no longer necessary as it has no remaining callers. This change streamlines the **Android build configuration** by eliminating unused and deprecated functionality. | Mar 27 | 2 | grow |
| 7a18356e | This commit performs **maintenance cleanup** by **removing** the unused `android_platform` rule definition from the **Buck2 prelude**. The rule, previously defined in `fbcode/buck2/prelude/decls/android_rules.bzl`, had no active callers and was never integrated into `fb_native_wrapper.bzl`. This ensures that its removal has no functional impact, streamlining the prelude by eliminating dead code. | Mar 27 | 2 | – |
| ec4fa851 | This commit performs **dead code removal** by eliminating the **`supermodule_target_graph` rule** from the **`fb_native`** and **`buck2`** build systems. The rule's definition and export were removed from `prelude/decls/android_rules.bzl`, where a related `OnDuplicateEntry` import was also cleaned up. Its assignment was removed from `fb_native_wrapper.bzl`, and all remaining references were purged from `constants.bzl` and `parser_constants.py`. This **maintenance** task streamlines the build system by removing an unused and obsolete component, simplifying the codebase. | Mar 27 | 1 | maint |
| 2cc231a9 | This commit performs **code cleanup** by removing the unused `field_ref_count_buffer_space` and `method_ref_count_buffer_space` attributes. These attributes were declared within **Buck2's Android build rules**, specifically in `android_rules.bzl` and referenced in `android_binary_for_automation` rules, but were not actively utilized by the build system. This **maintenance** task ensures that the codebase is leaner and more maintainable by eliminating dead code from the `android_binary` prelude. The change has no functional impact on builds, as the attributes were already inert, improving overall code clarity. | Mar 27 | 2 | – |
| 30ab7362 | This commit performs **code cleanup** by **removing the unused `dex_group_lib_limit` attribute** from the **Buck2 Android build rules**. The attribute was declared in `fbcode/buck2/prelude/decls/android_rules.bzl` within the `android_binary` prelude but was never actually utilized by the build system. This **maintenance** task simplifies the codebase by eliminating dead code from `tools/build_defs/android/android_binary_for_automation/core_build_rules.bzl` and `selectified_build_rules.bzl`, with **no functional impact** on builds or developer workflows. | Mar 27 | 2 | – |
This commit performs a significant **refactoring** of the **Java build rules** by consolidating `extra_attributes` directly into their respective rule declarations within `java_rules.bzl`. This change **simplifies `java.bzl`** to only export `implemented_rules` and removes the `extra_attributes` dictionary entirely, with `rules_impl.bzl` updated to reflect this. Additionally, `AbiGenerationMode` and `dex_min_sdk_version` are **relocated** from `java.bzl` to `java_rules.bzl`, necessitating updates to import paths in `android_rules.bzl` and `kotlin_rules.bzl`. The overall goal is to improve **code organization and clarity** within the build system without altering functional behavior.
This commit **refactors** the definition of extra attributes for **Kotlin build rules** by moving them directly into their respective rule declarations. Specifically, `extra_attributes` previously defined in `kotlin.bzl` are now integrated into the `kotlin_library` and `kotlin_test` rule definitions within `kotlin_rules.bzl`, including private toolchain attributes and validation dependencies. This change **simplifies** `kotlin.bzl` by removing the `extra_attributes` dictionary entirely and updates `rules_impl.bzl` to pass an empty dictionary for Kotlin's extra attributes, making the rule definitions more explicit and self-contained.
This commit performs **maintenance cleanup** by **removing the `-no-reflect` flag** from the **Kotlin compiler configuration**. This flag was a no-op because it was a modifier for `-include-runtime`, which was previously removed as it only applied when `kotlinc` output to a JAR, not a directory. The change **simplifies the build system** by eliminating dead code and updates comments to reflect why both flags are omitted. This **refactoring** has no impact on the compilation behavior or the resulting output, serving purely as a **cleanup** of unused build options.
This commit performs a significant **refactoring** of the **Android build system's rule definitions** by moving `extra_attributes` directly into their corresponding rule declarations within `android_rules.bzl`. This change centralizes attribute definitions, simplifying `android.bzl` by removing the `extra_attributes` dictionary entirely and updating `rules_impl.bzl` to pass an empty dictionary for Android extra attributes. The **refactoring** ensures that all rule-specific attributes, including transition dependency overrides and private toolchain attributes, are defined alongside their rules. Consequently, external files such as `apex.bzl`, `host_rules.bzl`, and `kmp_library.bzl` are updated to import symbols directly from `android_rules.bzl`, streamlining the overall build configuration.
This commit performs a widespread **refactoring** across the **Buck2 build system**, explicitly setting `has_content_based_path = False` in all existing calls to `actions.declare_output` within the `fbcode/buck2` codebase. This change affects numerous **build rules and test definitions** found in modules like `app/buck2_external_cells_bundled`, `prelude/rust`, and various `tests/core` directories. While semantically a **no-op** for current build behavior, as `False` is already the default, it is a critical **preparatory step** to ensure future compatibility. This explicit annotation pins existing call sites to their current behavior before the default value of `has_content_based_path` is changed to `True`, preventing unintended changes in output path generation.
This commit **relands a previous change** to ensure that **KotlinCD** (Kotlin Continuous Delivery) consistently uses **content-based paths**. It **fixes an issue** from an earlier attempt by specifically modifying the `_kotlincd_content_based_paths` function within `prelude/decls/jvm_common.bzl`. The `uses_content_based_paths_for_kotlincd` attribute is now explicitly set to `True` by default, guaranteeing that all KotlinCD-related builds leverage content-based path resolution. This **maintenance and bug fix** prevents previous erroneous modifications from impacting the build system's stability.
This commit introduces a **new capability** to accurately track files that skipped compilation during **KotlinCD incremental builds**, addressing cross-platform inconsistencies. It replaces unreliable timestamp-based checks with **content-based hashing (SHA256)** to determine if a file's content truly changed, particularly resolving issues on Linux where `std::fs::copy` does not preserve modification times. The **KotlinCD build system** is enhanced with a new `.buckconfig` flag `kotlin.track_files_which_skipped_compilation` and exposes new subtargets like `files_which_skipped_compilation` on `kotlin_library` targets to report these files. This **bug fix** provides a robust mechanism for verifying incremental compilation behavior and **fixes existing test failures** in `test_jvm_incremental.py` by allowing it to use this new, reliable tracking.
This commit performs a significant **refactoring** of **Android build rule attribute definitions** by merging `ANDROID_BINARY_BUNDLE_COMMON_EXTRA_ATTRS` from `android.bzl` into `ANDROID_BINARY_BUNDLE_COMMON_ATTRS` in `android_rules.bzl`. This consolidation eliminates a split between two files, standardizing attribute definitions by using transition dependencies for common keys and introducing new attributes such as `min_sdk_version` and `package_validators`. The change also updates `wa_android_superpack_libs` in `superpack_rule.bzl` to explicitly declare its required attributes, enhancing clarity and reducing implicit dependencies across **Android build configurations**.
This commit **refactors the Android build rule attribute definitions** by consolidating `ANDROID_BINARY_EXTRA_ATTRS` and `ANDROID_BUNDLE_EXTRA_ATTRS` directly into `ANDROID_BINARY_ATTRS` and `ANDROID_BUNDLE_ATTRS` within `prelude/decls/android_rules.bzl`. This **streamlines the configuration of `android_binary` and `android_bundle` rules** by integrating specific attributes like `strip_libraries` (now using `DISABLE_STRIPPING`), `constraint_overrides.attributes`, and `use_derived_apk` into their main attribute sets. As part of this **maintenance effort**, the `DISABLE_STRIPPING` constant is also moved, and the now-unused `_EXTRA_ATTRS` constants and `constraint_overrides` import are removed from `prelude/android/android.bzl`. This change centralizes and simplifies the attribute definitions for the **Android build system**, making the configuration more cohesive.
This commit performs a **refactoring** to **unify the `AbiGenerationMode` enum definition** within the `prelude` system, standardizing its values and centralizing it in `common.bzl`. This change eliminates a duplicate enum definition previously found in `java.bzl` and removes the need for `abi_generation_mode` attribute overrides in various **Android, Java, and Kotlin build rules**. Specifically, rules like `android_aar`, `android_library`, `java_test`, and `kotlin_library` now consistently rely on `jvm_common.abi_generation_mode()`. The overall impact is improved code consistency and reduced redundancy in the **ABI generation configuration**, making the build system more maintainable.
This commit introduces a **new capability** to the **CXX build system** by adding an `expect_eligible_for_dedupe` boolean attribute to `cxx_library` targets. This attribute, when set to `True`, ensures that associated **`cxx_compile` actions** enforce content-based paths for outputs and verify input eligibility for deduplication, preventing critical Remote Execution (RE) capacity issues. The change modifies the `cxx_library` rule definition in `prelude/decls/cxx_rules.bzl` and `prelude/decls/cxx_common.bzl`, and integrates the attribute into CXX compile command generation via `prelude/cxx/cxx.bzl`, `prelude/cxx/cxx_types.bzl`, `prelude/cxx/compile.bzl`, and `prelude/cxx/compile_types.bzl`. This **maintenance** effort aims to improve build system reliability and efficiency, with a new dedicated test target ensuring `cxx_compile` actions remain eligible for deduplication.
This commit performs a **refactoring** of the **Buck2 installation protobuf definitions** by **removing the `files` map field** from the `InstallInfoRequest` message. The field number for `files` is now reserved to prevent accidental reuse, and associated comments have been updated in both `app/buck2_install_proto/install.proto` and `prelude/toolchains/android/src/com/facebook/buck/installer/proto/install.proto`. This change streamlines the `InstallInfoRequest` structure, ensuring that the **Buck2 installation process** exclusively uses the `file_names` repeated field for specifying files, thereby simplifying the underlying data model and improving consistency.
This commit performs a **refactoring** of the **Android installer service** by removing a legacy fallback mechanism for file name retrieval. Specifically, the `handleInstallRequest` method in `InstallerService.java` no longer attempts to retrieve file names from a `filesMap`. Instead, it now exclusively relies on the `fileNamesList` provided in the `InstallInfoRequest`, as Buck2 is guaranteed to always send this information. This change **simplifies the install client logic**, standardizing file name retrieval and improving code maintainability by removing obsolete code paths.
This commit performs **documentation cleanup** by removing the `default_host_platform` attribute from the **Buck2 alias documentation**. This attribute is being deprecated and removed from all Buck2 rules because it was never actually used, making its documentation entry obsolete. The change ensures the **Buck2 build system's** documentation accurately reflects the current state of alias functionality, preventing user confusion and improving overall documentation quality.
This commit performs a significant **refactoring** and **code cleanup** across the **Buck2 build system's core rule definitions**. It systematically removes the `default_host_platform` attribute from virtually all **prelude rule declarations**, including those for Apple, C++, Android, Java, Python, Haskell, Go, OCaml, Lua, JS, Kotlin, Dotnet, Shell, Rust, and Git rules, as well as helper functions like in `apple/apple_common.bzl` and `ocaml/attrs.bzl`. This attribute was identified as unused boilerplate, meaning its removal streamlines rule definitions and improves the maintainability and clarity of the **build system's configuration files** without introducing any functional changes or downstream impact on build behavior.
This commit performs a **cleanup** by **removing the `ndk_library` rule** from the **Buck2 build system's Android prelude** and the `fb_native` wrapper. This **maintenance** task involves deleting the rule's definition from `prelude/decls/android_rules.bzl`, removing its wrapper from `fb_native_wrapper.bzl`, and updating documentation in `prelude/decls/android_common.bzl`. The `ndk_library` rule, previously used for Android NDK builds, is no longer necessary as it has no remaining callers. This change streamlines the **Android build configuration** by eliminating unused and deprecated functionality.
This commit performs **maintenance cleanup** by **removing** the unused `android_platform` rule definition from the **Buck2 prelude**. The rule, previously defined in `fbcode/buck2/prelude/decls/android_rules.bzl`, had no active callers and was never integrated into `fb_native_wrapper.bzl`. This ensures that its removal has no functional impact, streamlining the prelude by eliminating dead code.
This commit performs **dead code removal** by eliminating the **`supermodule_target_graph` rule** from the **`fb_native`** and **`buck2`** build systems. The rule's definition and export were removed from `prelude/decls/android_rules.bzl`, where a related `OnDuplicateEntry` import was also cleaned up. Its assignment was removed from `fb_native_wrapper.bzl`, and all remaining references were purged from `constants.bzl` and `parser_constants.py`. This **maintenance** task streamlines the build system by removing an unused and obsolete component, simplifying the codebase.
This commit performs **code cleanup** by removing the unused `field_ref_count_buffer_space` and `method_ref_count_buffer_space` attributes. These attributes were declared within **Buck2's Android build rules**, specifically in `android_rules.bzl` and referenced in `android_binary_for_automation` rules, but were not actively utilized by the build system. This **maintenance** task ensures that the codebase is leaner and more maintainable by eliminating dead code from the `android_binary` prelude. The change has no functional impact on builds, as the attributes were already inert, improving overall code clarity.
This commit performs **code cleanup** by **removing the unused `dex_group_lib_limit` attribute** from the **Buck2 Android build rules**. The attribute was declared in `fbcode/buck2/prelude/decls/android_rules.bzl` within the `android_binary` prelude but was never actually utilized by the build system. This **maintenance** task simplifies the codebase by eliminating dead code from `tools/build_defs/android/android_binary_for_automation/core_build_rules.bzl` and `selectified_build_rules.bzl`, with **no functional impact** on builds or developer workflows.