Developer
Kyle Into
kylei@meta.com
Performance
YoY:+2908%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 |
|---|
| 61598ef4 | This commit **fixes a bug** in **Pyrefly's LSP server** by implementing **LSP specification-compliant clamping of character positions** to the line's content length. Previously, out-of-bounds positions, such as those after a trailing dot in a method chain, would incorrectly spill over to the next line, causing the **completion engine** to fail and return no suggestions. The `from_lsp_position` function in `crates/pyrefly_util/src/lined_buffer.rs` now correctly handles these offsets, **restoring reliable completion behavior** for users. This **maintenance** also includes adding a new completion test case and correcting a line number in an existing `goto_type_def` test. | Mar 31 | 3 | waste |
| af097e19 | This commit **removes** the `review-pr` command from the **Claude integration**, effectively **disabling** its functionality. This is a **critical security measure** implemented to mitigate **prompt injection risks** stemming from the command's processing of untrusted GitHub PR content. The command's removal is temporary, pending a thorough security review and resolution of these vulnerabilities, impacting users who previously utilized this automated PR review feature. | Mar 27 | 2 | – |
| 68f9879f | This commit introduces **two new slash commands** to **Claude Code**, significantly enhancing its capabilities for **developer workflow automation**. The `/review-pr` command enables Claude to perform **end-to-end GitHub PR reviews**, automatically fetching PR data, scanning for task references, and gathering context from internal tasks via the `prcc CLI` and `task-info CLI` before applying structured review guidelines. Additionally, the `/task-info` command provides a standalone utility for quickly **fetching and summarizing internal task details**, including title, status, and human comments. This **new capability** streamlines the PR review process and improves access to critical task information directly within Claude Code. | Mar 26 | 2 | maint |
| 1134854d | This commit **establishes explicit code execution permissions** for the **Claude AI**, specifically allowing it to interact with the `test.py` file. This **security enhancement** is a **configuration change** within `.claude/settings.json`, moving away from a broad "skip permissions" approach towards a more granular and secure access model. By defining these permissions, the project begins to build a controlled list of operations Claude can perform, improving the overall **security posture** and auditability of AI-driven code interactions. This **maintenance step** ensures that frequently run scripts like `test.py` are handled with defined access. | Mar 26 | 1 | maint |
| a738edb0 | This commit introduces a **new test case** within `pyrefly/lib/test/lsp/hover.rs` to address a potential **bug** in the **Pyre language server**. The test specifically verifies that **language services**, such as **hover functionality**, remain operational even when type-checking is explicitly disabled for a function. This ensures that disabling type-checking does not inadvertently disable other core language features. The **new test** improves the robustness of the **Pyre language server** by confirming that users can still benefit from rich IDE features without requiring full type annotation. | Mar 25 | 1 | maint |
| d290a7fd | This commit **enhances the testing suite** for `pyrefly` by adding **new test cases** to `pyrefly/lib/test/untyped_def_behaviors.rs`. These tests specifically target `async` and generator functions, verifying their behavior under various combinations of return type inference and checking settings. This **test enhancement** improves coverage and helps ensure the robustness of the type system for these function types, laying groundwork for future development. | Mar 25 | 1 | maint |
| a804d3df | This commit introduces a **bug fix** and **maintenance improvement** to the **extension publishing workflow** defined in `.github/workflows/deploy_extension.yml`. Previously, the CI/CD job would prematurely fail if an extension version already existed on one platform, preventing updates to other target platforms. By adding the `--skip-duplicate` flag to both the `vsce publish` and `ovsx publish` commands, the pipeline now gracefully handles existing versions. This ensures that **extension deployments** continue across all platforms (VS Code Marketplace and Open VSX Registry), preventing partial updates and improving the overall reliability of **extension releases**. | Mar 25 | 1 | maint |
| f8111100 | This commit introduces a **memory leak fix** within the **PyRefly state management subsystem**. It modifies the `commit_transaction` function in `pyrefly/lib/state/state.rs` to **garbage-collect stale entries** from the `StateData.loaders` map. Previously, `ArcId<ConfigFile>` keys, being pointer-based, caused old loader entries to accumulate indefinitely upon configuration reloads, leading to a memory leak. This **bug fix** ensures that only loader entries actively referenced by modules are retained, significantly improving **memory efficiency** and **system stability** in environments with dynamic configuration. | Mar 19 | 1 | waste |
| b1edc79b | This commit introduces a **performance optimization** by **coalescing** `DidChangeWatchedFiles` notifications within the **LSP server**. Previously, rapid file system changes would queue many individual `invalidate_find` tasks, but now these events are buffered and processed as a single unit to prevent redundant work. This **refactoring** primarily affects `pyrefly/lib/lsp/non_wasm/server.rs` by introducing a `pending_invalidation_events` buffer and utilizes a new `extend` method in `crates/pyrefly_util/src/events.rs` for merging event categories. The change significantly **reduces redundant work** and improves responsiveness, especially when many file system changes occur in rapid succession, such as during the population of a link-tree. | Mar 19 | 2 | grow |
| 8e33ca29 | This commit **fixes a bug** in the **static analysis binding scope logic** that caused false positive "unused variable" diagnostics for global and nonlocal assignments. It introduces a new helper function `is_mutable_capture` and modifies `register_variable` in `pyrefly/lib/binding/scope.rs` to correctly identify and avoid tracking such variables as locally unused. This change improves the accuracy of **unused variable diagnostics**, preventing misleading warnings for users of the `pyrefly` tool. An existing **LSP diagnostic test** is also updated to reflect this corrected behavior. | Mar 18 | 2 | waste |
| 2a8b6080 | This commit delivers a **bug fix** to eliminate false positive "unused variable" diagnostics within the **static analysis engine**. It specifically addresses scenarios where a **parameter variable** is reassigned inside a **loop**, which previously caused the analyzer to incorrectly flag the parameter as unused. The core change in `pyrefly/lib/binding/scope.rs` introduces a new helper `is_parameter_used` and modifies `register_variable` to correctly track parameter usage in these situations. This significantly improves the accuracy of **LSP diagnostics** by preventing misleading warnings for valid code patterns. | Mar 18 | 2 | waste |
| ef1eac2c | This commit **adds a new test case** to the `pyrefly` project's **Language Server Protocol (LSP) diagnostics** suite, specifically within `pyrefly/lib/test/lsp/diagnostic.rs`. The new test verifies that the `unused variable` diagnostic correctly handles scenarios where a function parameter is reassigned within a loop, preventing a **false positive** warning. This **test improvement** enhances the **accuracy of `pyrefly`'s static analysis**, ensuring that valid code patterns are not incorrectly flagged. Ultimately, it improves the reliability of developer tooling by preventing misleading diagnostic messages. | Mar 18 | 1 | maint |
| efa2dc49 | This commit **adds a new test case** to `pyrefly/lib/test/lsp/diagnostic.rs` to address a specific issue within the **LSP diagnostics** for unused variables. The test targets a **false positive** scenario where a global variable, assigned from a function parameter, is incorrectly flagged as unused. This **test addition** is crucial for **bug reproduction** and helps ensure the accuracy of `pyrefly`'s **static analysis**, preventing erroneous unused variable warnings for users. Ultimately, it improves the reliability of the **LSP server's diagnostic capabilities**. | Mar 18 | 1 | maint |
| 7f453db3 | This commit **enhances the test suite** for the **LSP diagnostic feature** within the `pyrefly` library. It introduces new test cases specifically designed to prevent **false positives in unused variable diagnostics**, particularly in complex scenarios involving local variable reassignment and parameter slicing inside loops. This **quality assurance work** ensures the diagnostic accurately identifies truly unused variables, improving the reliability of the **LSP server** and providing a better **developer experience** by reducing incorrect warnings. The additions to `pyrefly/lib/test/lsp/diagnostic.rs` help validate the diagnostic logic and prevent regressions. | Mar 18 | 1 | maint |
| 6701f6a3 | This commit **adds comprehensive tests** to document the current behavior of the **go-to-definition** feature within the **LSP (Language Server Protocol)** implementation, specifically for **constructor calls** in Python. These **maintenance tests** in `pyrefly/lib/test/lsp/definition.rs` capture that `go-to-definition` on `Foo(1)` currently navigates to the class definition instead of `__init__` or `__new__`. The new test cases cover various scenarios, including same-module, cross-module, inherited `__init__`, and classes with `__new__` or both `__init__` and `__new__`. This work establishes a baseline for a **future enhancement** that will introduce constructor-aware navigation. | Mar 17 | 1 | maint |
| 0343b686 | This commit introduces a **new capability** to the **LSP server's go-to-definition** feature, significantly improving **Python code navigation**. When invoked on a **constructor call** (e.g., `Foo(1)`), it now precisely jumps to the `__init__` or `__new__` method of the class, rather than the class definition itself. Similarly, for **callable instances** (e.g., `adder(5)` where `adder` has a `__call__` method), the definition now points to the `__call__` method. This enhancement provides more semantically accurate navigation for object instantiation and callable object usage, making it easier for developers to understand code flow within the `pyrefly/lib/state/lsp.rs` module. | Mar 17 | 4 | maint |
| 40bb37aa | This commit **adds a new test case** to `pyrefly/lib/test/lsp/document_symbols.rs` specifically designed to **reproduce a bug** where syntax errors in code lead to document symbols being reported with empty names. To facilitate this, the `pyrefly/lib/test/util.rs` module is enhanced with a new helper function, `get_batched_lsp_operations_report_no_cursor_allow_error`, which allows LSP operations reports to be generated even when errors are present. This **bug reproduction test** is crucial for validating fixes and ensuring the robustness of the **LSP document symbol feature** when encountering malformed input. The changes primarily affect the **testing infrastructure** for the LSP integration. | Mar 7 | 2 | maint |
| 044d2c84 | This commit **fixes a bug** in the **Language Server Protocol (LSP) document symbols generation** within `pyrefly`. Specifically, it addresses an issue where **syntax errors** in assignment statements, like `x = = None`, could cause the `pyrefly/lib/lsp/non_wasm/document_symbols.rs` module to generate **invalid document symbols with empty names** due to parser error recovery. The change **prevents these erroneous empty-name symbols from being created**, ensuring that LSP responses provide only valid and meaningful symbols to clients. This **improves the robustness and correctness of LSP features**, preventing confusing symbol listings in IDEs, and is confirmed by an updated test case for the `x = = None` scenario. | Mar 7 | 2 | waste |
| 2801e629 | This commit **enhances the LSP completion functionality** by correctly handling **relative module imports** within the `pyrefly/lib/lsp/wasm/completion.rs` module. Previously, import completion handlers ignored the `dots` field for relative imports; now, they resolve these to absolute module names using `new_maybe_relative`, aligning with existing go-to-definition logic. Additionally, `source_db` consultation is integrated into `find_import_prefixes` to ensure completions work for build-system-resolved and in-memory test modules. This **feature enhancement** significantly improves the accuracy and coverage of **import completions** for Python code within the **PyreFly LSP server**. | Mar 5 | 9 | maint |
| 5afadbd3 | This commit **fixes a bug** where **relative imports** within **third-party packages** failed to resolve correctly, impacting features like type resolution and go-to-definition. Previously, the module name resolution logic in `pyrefly_config` did not consider `site_package_path()` when deriving module names from file paths, leading to an incorrect `__unknown__` module name for files in `site-packages`. The **fix** modifies `handle_from_module_path_with_fallback` to include `site_package_path()` alongside `search_path()`, ensuring consistent module naming. This change **restores correct type resolution** and **go-to-definition functionality** for relative imports in installed packages, significantly improving the LSP experience for projects using third-party libraries. | Mar 5 | 2 | maint |
This commit **fixes a bug** in **Pyrefly's LSP server** by implementing **LSP specification-compliant clamping of character positions** to the line's content length. Previously, out-of-bounds positions, such as those after a trailing dot in a method chain, would incorrectly spill over to the next line, causing the **completion engine** to fail and return no suggestions. The `from_lsp_position` function in `crates/pyrefly_util/src/lined_buffer.rs` now correctly handles these offsets, **restoring reliable completion behavior** for users. This **maintenance** also includes adding a new completion test case and correcting a line number in an existing `goto_type_def` test.
This commit **removes** the `review-pr` command from the **Claude integration**, effectively **disabling** its functionality. This is a **critical security measure** implemented to mitigate **prompt injection risks** stemming from the command's processing of untrusted GitHub PR content. The command's removal is temporary, pending a thorough security review and resolution of these vulnerabilities, impacting users who previously utilized this automated PR review feature.
This commit introduces **two new slash commands** to **Claude Code**, significantly enhancing its capabilities for **developer workflow automation**. The `/review-pr` command enables Claude to perform **end-to-end GitHub PR reviews**, automatically fetching PR data, scanning for task references, and gathering context from internal tasks via the `prcc CLI` and `task-info CLI` before applying structured review guidelines. Additionally, the `/task-info` command provides a standalone utility for quickly **fetching and summarizing internal task details**, including title, status, and human comments. This **new capability** streamlines the PR review process and improves access to critical task information directly within Claude Code.
This commit **establishes explicit code execution permissions** for the **Claude AI**, specifically allowing it to interact with the `test.py` file. This **security enhancement** is a **configuration change** within `.claude/settings.json`, moving away from a broad "skip permissions" approach towards a more granular and secure access model. By defining these permissions, the project begins to build a controlled list of operations Claude can perform, improving the overall **security posture** and auditability of AI-driven code interactions. This **maintenance step** ensures that frequently run scripts like `test.py` are handled with defined access.
This commit introduces a **new test case** within `pyrefly/lib/test/lsp/hover.rs` to address a potential **bug** in the **Pyre language server**. The test specifically verifies that **language services**, such as **hover functionality**, remain operational even when type-checking is explicitly disabled for a function. This ensures that disabling type-checking does not inadvertently disable other core language features. The **new test** improves the robustness of the **Pyre language server** by confirming that users can still benefit from rich IDE features without requiring full type annotation.
This commit **enhances the testing suite** for `pyrefly` by adding **new test cases** to `pyrefly/lib/test/untyped_def_behaviors.rs`. These tests specifically target `async` and generator functions, verifying their behavior under various combinations of return type inference and checking settings. This **test enhancement** improves coverage and helps ensure the robustness of the type system for these function types, laying groundwork for future development.
This commit introduces a **bug fix** and **maintenance improvement** to the **extension publishing workflow** defined in `.github/workflows/deploy_extension.yml`. Previously, the CI/CD job would prematurely fail if an extension version already existed on one platform, preventing updates to other target platforms. By adding the `--skip-duplicate` flag to both the `vsce publish` and `ovsx publish` commands, the pipeline now gracefully handles existing versions. This ensures that **extension deployments** continue across all platforms (VS Code Marketplace and Open VSX Registry), preventing partial updates and improving the overall reliability of **extension releases**.
This commit introduces a **memory leak fix** within the **PyRefly state management subsystem**. It modifies the `commit_transaction` function in `pyrefly/lib/state/state.rs` to **garbage-collect stale entries** from the `StateData.loaders` map. Previously, `ArcId<ConfigFile>` keys, being pointer-based, caused old loader entries to accumulate indefinitely upon configuration reloads, leading to a memory leak. This **bug fix** ensures that only loader entries actively referenced by modules are retained, significantly improving **memory efficiency** and **system stability** in environments with dynamic configuration.
This commit introduces a **performance optimization** by **coalescing** `DidChangeWatchedFiles` notifications within the **LSP server**. Previously, rapid file system changes would queue many individual `invalidate_find` tasks, but now these events are buffered and processed as a single unit to prevent redundant work. This **refactoring** primarily affects `pyrefly/lib/lsp/non_wasm/server.rs` by introducing a `pending_invalidation_events` buffer and utilizes a new `extend` method in `crates/pyrefly_util/src/events.rs` for merging event categories. The change significantly **reduces redundant work** and improves responsiveness, especially when many file system changes occur in rapid succession, such as during the population of a link-tree.
This commit **fixes a bug** in the **static analysis binding scope logic** that caused false positive "unused variable" diagnostics for global and nonlocal assignments. It introduces a new helper function `is_mutable_capture` and modifies `register_variable` in `pyrefly/lib/binding/scope.rs` to correctly identify and avoid tracking such variables as locally unused. This change improves the accuracy of **unused variable diagnostics**, preventing misleading warnings for users of the `pyrefly` tool. An existing **LSP diagnostic test** is also updated to reflect this corrected behavior.
This commit delivers a **bug fix** to eliminate false positive "unused variable" diagnostics within the **static analysis engine**. It specifically addresses scenarios where a **parameter variable** is reassigned inside a **loop**, which previously caused the analyzer to incorrectly flag the parameter as unused. The core change in `pyrefly/lib/binding/scope.rs` introduces a new helper `is_parameter_used` and modifies `register_variable` to correctly track parameter usage in these situations. This significantly improves the accuracy of **LSP diagnostics** by preventing misleading warnings for valid code patterns.
This commit **adds a new test case** to the `pyrefly` project's **Language Server Protocol (LSP) diagnostics** suite, specifically within `pyrefly/lib/test/lsp/diagnostic.rs`. The new test verifies that the `unused variable` diagnostic correctly handles scenarios where a function parameter is reassigned within a loop, preventing a **false positive** warning. This **test improvement** enhances the **accuracy of `pyrefly`'s static analysis**, ensuring that valid code patterns are not incorrectly flagged. Ultimately, it improves the reliability of developer tooling by preventing misleading diagnostic messages.
This commit **adds a new test case** to `pyrefly/lib/test/lsp/diagnostic.rs` to address a specific issue within the **LSP diagnostics** for unused variables. The test targets a **false positive** scenario where a global variable, assigned from a function parameter, is incorrectly flagged as unused. This **test addition** is crucial for **bug reproduction** and helps ensure the accuracy of `pyrefly`'s **static analysis**, preventing erroneous unused variable warnings for users. Ultimately, it improves the reliability of the **LSP server's diagnostic capabilities**.
This commit **enhances the test suite** for the **LSP diagnostic feature** within the `pyrefly` library. It introduces new test cases specifically designed to prevent **false positives in unused variable diagnostics**, particularly in complex scenarios involving local variable reassignment and parameter slicing inside loops. This **quality assurance work** ensures the diagnostic accurately identifies truly unused variables, improving the reliability of the **LSP server** and providing a better **developer experience** by reducing incorrect warnings. The additions to `pyrefly/lib/test/lsp/diagnostic.rs` help validate the diagnostic logic and prevent regressions.
This commit **adds comprehensive tests** to document the current behavior of the **go-to-definition** feature within the **LSP (Language Server Protocol)** implementation, specifically for **constructor calls** in Python. These **maintenance tests** in `pyrefly/lib/test/lsp/definition.rs` capture that `go-to-definition` on `Foo(1)` currently navigates to the class definition instead of `__init__` or `__new__`. The new test cases cover various scenarios, including same-module, cross-module, inherited `__init__`, and classes with `__new__` or both `__init__` and `__new__`. This work establishes a baseline for a **future enhancement** that will introduce constructor-aware navigation.
This commit introduces a **new capability** to the **LSP server's go-to-definition** feature, significantly improving **Python code navigation**. When invoked on a **constructor call** (e.g., `Foo(1)`), it now precisely jumps to the `__init__` or `__new__` method of the class, rather than the class definition itself. Similarly, for **callable instances** (e.g., `adder(5)` where `adder` has a `__call__` method), the definition now points to the `__call__` method. This enhancement provides more semantically accurate navigation for object instantiation and callable object usage, making it easier for developers to understand code flow within the `pyrefly/lib/state/lsp.rs` module.
This commit **adds a new test case** to `pyrefly/lib/test/lsp/document_symbols.rs` specifically designed to **reproduce a bug** where syntax errors in code lead to document symbols being reported with empty names. To facilitate this, the `pyrefly/lib/test/util.rs` module is enhanced with a new helper function, `get_batched_lsp_operations_report_no_cursor_allow_error`, which allows LSP operations reports to be generated even when errors are present. This **bug reproduction test** is crucial for validating fixes and ensuring the robustness of the **LSP document symbol feature** when encountering malformed input. The changes primarily affect the **testing infrastructure** for the LSP integration.
This commit **fixes a bug** in the **Language Server Protocol (LSP) document symbols generation** within `pyrefly`. Specifically, it addresses an issue where **syntax errors** in assignment statements, like `x = = None`, could cause the `pyrefly/lib/lsp/non_wasm/document_symbols.rs` module to generate **invalid document symbols with empty names** due to parser error recovery. The change **prevents these erroneous empty-name symbols from being created**, ensuring that LSP responses provide only valid and meaningful symbols to clients. This **improves the robustness and correctness of LSP features**, preventing confusing symbol listings in IDEs, and is confirmed by an updated test case for the `x = = None` scenario.
This commit **enhances the LSP completion functionality** by correctly handling **relative module imports** within the `pyrefly/lib/lsp/wasm/completion.rs` module. Previously, import completion handlers ignored the `dots` field for relative imports; now, they resolve these to absolute module names using `new_maybe_relative`, aligning with existing go-to-definition logic. Additionally, `source_db` consultation is integrated into `find_import_prefixes` to ensure completions work for build-system-resolved and in-memory test modules. This **feature enhancement** significantly improves the accuracy and coverage of **import completions** for Python code within the **PyreFly LSP server**.
This commit **fixes a bug** where **relative imports** within **third-party packages** failed to resolve correctly, impacting features like type resolution and go-to-definition. Previously, the module name resolution logic in `pyrefly_config` did not consider `site_package_path()` when deriving module names from file paths, leading to an incorrect `__unknown__` module name for files in `site-packages`. The **fix** modifies `handle_from_module_path_with_fallback` to include `site_package_path()` alongside `search_path()`, ensuring consistent module naming. This change **restores correct type resolution** and **go-to-definition functionality** for relative imports in installed packages, significantly improving the LSP experience for projects using third-party libraries.