Asuka Minato
90d · built 2026-08-09
90-day totals
- Commits
- 101
- Grow
- 7.3
- Maintenance
- 1.4
- Fixes
- 8.7
- Total ETV
- 17.4
Where this dev ranks
Percentile against the global top-100 leaderboard (all-time totals).
- By commits
- Top 82 %
- By Growth share
- Top 52 %
30-day trajectory
Last 30 days vs. the 30 days before. Up arrows on Growth and ETV mean improvement; up arrow on Fixes share means more time on fixes (worse).
↑+215.0 %
vs 20 prior
↑+39.0 pp
recent vs prior
↓-24.5 pp
recent vs prior
Daily performance
Daily ETV, stacked by Growth, Maintenance and Fixes.
Work-mix over time
Share of Growth / Maintenance / Fixes over a rolling 7-day window. Reads as 'where is effort flowing right now'.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 20 by ETV in the 90-day window.
- 1.2ETVfix No narrowing for unions in match when the subject is a call #2858 (#3319) Summary: Fixes https://github.com/facebook/pyrefly/issues/2858 match subjects without a real narrowing name, like match f(x):, still carry direct fallthrough narrows across cases. The final capture now forwards to the already-evaluated subject narrowed by previous cases, without synthesizing a user-visible name. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3319 Test Plan: add test Reviewed By: stroxler Differential Revision: D109264921 Pulled By: yangdanny97 fbshipit-source-id: bb92b46141143dbf1356c136fdb228a777943bf3github.com-facebook-pyrefly · 4df0b345 · 2026-06-23
- 1.1ETVfix make function wrap easier to read on hover #3618 (#4099) Summary: Fixes https://github.com/facebook/pyrefly/issues/3618 Nested callable types now wrap in hover display, including Concatenate[..., ParamSpec] shapes. Hover display now recursively uses the hover-aware formatter for nested callables. Pull Request resolved: https://github.com/facebook/pyrefly/pull/4099 Test Plan: add test Reviewed By: stroxler Differential Revision: D113591923 Pulled By: samwgoldman fbshipit-source-id: a4ca29f47266a303b671f716c4f33ffa61c59d79github.com-facebook-pyrefly · eaa26cc4 · 2026-07-24
- 1.1ETVfix Inlay hint insertion should consider imports/use qualified paths to auto import correctly #317 (#1576) Summary: fix part of https://github.com/facebook/pyrefly/issues/317 Type pretty-printing now tracks every module name it emits, so we can tell the client which imports a hint depends on; TypeDisplayContext stores the module set in a RefCell, exposes it via referenced_modules, and records each module.name combination as it formats the text The LSP transaction layer wraps each hint in a new InlayHintWithEdits struct, renders annotations with fully qualified names, applies any local aliases (e.g., import typing as t), and bundles the necessary import edits by consulting the ImportTracker. This ensures that accepting a type hint also inserts import typing when the module hasn’t been brought into scope. Downstream consumers now understand the richer hint payload: the server translates InlayHintWithEdits into multiple textEdits, the playground/WASM bindings expose the new label format, and the inlay-hint regression tests cover both standard and notebook scenarios to verify the extra import edits. Pull Request resolved: https://github.com/facebook/pyrefly/pull/1576 Reviewed By: grievejia Differential Revision: D113816926 Pulled By: rchen152 fbshipit-source-id: de7a3591509b2182b1062ddd3d52af509c7d3943github.com-facebook-pyrefly · 415009ff · 2026-08-05
- 0.7ETVfix no error on invalid call to `__init_subclass__` #3447 (#3468) Summary: Pyrefly silently accepted invalid class-header keywords (e.g. `class Foo(Bar, bad_kw=1)`) that didn't match the parent's `__init_subclass__` signature. This adds validation by looking up `__init_subclass__` from base classes and checking keyword arguments against it with the existing callable checker. The binding layer now preserves full `Identifier` tokens (not just `Name` strings) so error diagnostics point at the exact keyword in the class header. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3468 Test Plan: Test suite Reviewed By: stroxler Differential Revision: D112153555 Pulled By: NathanTempest fbshipit-source-id: f892c5f7764d485b008bc393c5af239ca5c0b8fegithub.com-facebook-pyrefly · 7cbda17d · 2026-07-28
- 0.6ETVimpl LSP: Navigation support for pytest fixtures #1901 (#2075) Summary: Fixes https://github.com/facebook/pyrefly/issues/1901 Implemented pytest import/alias detection plus fixture discovery and parameter scanning in pyrefly/lib/state/lsp.rs, and hooked it into go‑to‑definition and local references. todo: should these pytest functions in their own mod? Pull Request resolved: https://github.com/facebook/pyrefly/pull/2075 Test Plan: cargo test pytest_fixture_parameter_goes_to_fixture_definition cargo test pytest_fixture_references_include_injected_parameters Reviewed By: yangdanny97 Differential Revision: D91537491 Pulled By: kinto0 fbshipit-source-id: 9a19a9e3cad8356a3931b211bfd44436ddfefd2fgithub.com-facebook-pyrefly · 711d99f0 · 2026-06-01
- 0.6ETVfix support multiple values for python-platform #3440 (#3467) Summary: Fixes https://github.com/facebook/pyrefly/issues/3440 PythonPlatform now can represent one platform, multiple platforms, or all. Platform checks now only fold to true/false when all configured platforms agree; mixed results stay unknown so both branches are type checked. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3467 Test Plan: add test Reviewed By: connernilsen Differential Revision: D113083136 Pulled By: yangdanny97 fbshipit-source-id: 298d9db207b29c56cc47324a8f37a6cc88605444github.com-facebook-pyrefly · 1ddcc515 · 2026-07-22
- 0.5ETVimpl code action to convert dict to TypedDict / dataclass / pydantic #2144 (#2483) Summary: Fixes https://github.com/facebook/pyrefly/issues/2144 Implemented dict-to-model refactor code actions (TypedDict, dataclass, Pydantic) and wired them into LSP refactors, with imports and scoped insertion logic. note: to keep simple, currently nest case is not considered(fallback to dict). Will impl in the future pr. Pull Request resolved: https://github.com/facebook/pyrefly/pull/2483 Test Plan: Added coverage for the new actions. Reviewed By: yangdanny97 Differential Revision: D99032579 Pulled By: kinto0 fbshipit-source-id: ba0c4ecae389c1ac22942bb1129a5e90c02fcf3agithub.com-facebook-pyrefly · 2eed1332 · 2026-05-15
- 0.5ETVfix support the + - in hover panel #2974 (#4116) Summary: Fixes https://github.com/facebook/pyrefly/issues/2974 Added VS Code +/- hover verbosity controls. Compact hovers preserve named union aliases; expanded hovers reveal their members. Added the custom client/server hover protocol while preserving standard LSP behavior. Raised the extension requirement to VS Code 1.103 for hover verbosity support. --- why there is an extra `.d.ts`: Because hover verbosity is still a proposed VS Code API. The stable types/vscode package does not declare VerboseHover, HoverContext and the fourth provideHover argument. In TypeScript, there are multiple expand levels. Here we simplified it to only compact and expand. Pull Request resolved: https://github.com/facebook/pyrefly/pull/4116 Test Plan: add test Reviewed By: yangdanny97 Differential Revision: D111971431 Pulled By: kinto0 fbshipit-source-id: bf253007484cafea7202054fa4496491ab0f7e0fgithub.com-facebook-pyrefly · a26d57c5 · 2026-07-24
- 0.5ETVfix option to treat ALL_CAPS variables as Final #3678 (#3693) Summary: Fixes https://github.com/facebook/pyrefly/issues/3678 Added treat-all-caps-as-final / --treat-all-caps-as-final, wired it through config and state, and added the bind-time reassignment check. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3693 Test Plan: add test Reviewed By: stroxler Differential Revision: D113463331 Pulled By: connernilsen fbshipit-source-id: d8f68c08335618200d9f408673011c70e1ef69c0github.com-facebook-pyrefly · 62b9e4d1 · 2026-08-03
- 0.4ETVAdd per-module Django relationship summaries Summary: This lets each module store an initially empty summary of its Django relationships and makes Pyrefly notice when that summary changes. Later commits fill in and use the summary. Context: this stack is https://github.com/facebook/pyrefly/pull/2074 split up into more easily reviewable chunks. Reviewed By: yangdanny97 Differential Revision: D113568402 Pulled By: rchen152 fbshipit-source-id: 4151342cff9219dc104a427a48c028d422b55d86github.com-facebook-pyrefly · 19eb5f49 · 2026-08-03
- 0.4ETVfix support show range when hover on and or #4065 (#4097) Summary: Fixes https://github.com/facebook/pyrefly/issues/4065 hover results can carry an explicit range, and and/or operator hovers now return the enclosing boolean expression range. Pull Request resolved: https://github.com/facebook/pyrefly/pull/4097 Test Plan: add test Reviewed By: stroxler Differential Revision: D112383189 Pulled By: NathanTempest fbshipit-source-id: 630467e5725e5b744bc54bdd0786dee06ceb29d9github.com-facebook-pyrefly · 72f37240 · 2026-07-23
- 0.4ETVimpl moving items to new files (#3181) Summary: Part of https://github.com/facebook/pyrefly/issues/2207 Implemented the new refactor.move code action for “move symbol to new file”. The new server-side action creates `<symbol>.py` beside the source file, moves the selected top-level symbol there, updates the source file, and rewrites direct consumer imports like from source import test to from test import test. pushed the consumer-import rewrite into the shared move-symbol logic, fixing the reverse-dependency walk to use filesystem handles so workspace updates actually see other files. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3181 Test Plan: passes the test suite and linting Reviewed By: kinto0 Differential Revision: D106550213 Pulled By: NathanTempest fbshipit-source-id: 65189974bbaba52cabdfa981cd7eff0b640bb6c1github.com-facebook-pyrefly · 951100c4 · 2026-06-03
- 0.4ETVfix part of Autocompletion for Polars/Pandas Data Frame Column names in function calls #2139 (#4291) Summary: Fixes part of https://github.com/facebook/pyrefly/issues/2139 adds schema-aware column completion for Polars and pandas DataFrames. detects DataFrame-typed receivers or earlier call arguments and reads column names directly from the inferred DataFrameSchema. This supports both direct calls such as `df.select("")` and nested expressions such as `df.select(pl.col(""))`. Pull Request resolved: https://github.com/facebook/pyrefly/pull/4291 Test Plan: add test Reviewed By: shobhitmehro Differential Revision: D113664407 fbshipit-source-id: 6abcb41a1c403cdacae91c4a7e887730dec2fdb1github.com-facebook-pyrefly · c37b835e · 2026-07-29
- 0.3ETVfix [pyrefly][completions][auto-import] rank based on deprecated aliases #2345 (#3992) Summary: Fixes https://github.com/facebook/pyrefly/issues/2345 Fixes https://github.com/facebook/pyrefly/issues/2346 Added version-gated deprecated stdlib alias detection for typing aliases, auto-import completions now tag those aliases deprecated, so ranking demotes them. collections.abc reexports from bundled stubs are now surfaced for deprecated typing aliases. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3992 Test Plan: add test Reviewed By: yangdanny97 Differential Revision: D110943634 Pulled By: kinto0 fbshipit-source-id: d65ae669d2fa0334af276d59094cf2174eaf48c5github.com-facebook-pyrefly · 259dd705 · 2026-07-07
- 0.3ETVfix assert_type with metaclasses #3228 (#3243) Summary: Fixes https://github.com/facebook/pyrefly/issues/3228 assert_type no longer accepts a class object as exactly equal to its non-type metaclass. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3243 Test Plan: add test Reviewed By: yangdanny97 Differential Revision: D103049155 Pulled By: grievejia fbshipit-source-id: 27c40c3b3287a0f671e8e86aa93d0971aef551begithub.com-facebook-pyrefly · 3c29379e · 2026-05-29
- 0.3ETVfix hover on __init__ parameter shows parent type #2503 (#3020) Summary: Fixes https://github.com/facebook/pyrefly/issues/2503 Keyword-argument type lookup now falls back to the matched constructor signature when there is no real source parameter to resolve, which covers synthesized dataclass `__init__` parameters like Test(foo=1). Hover now ignores bogus keyword-argument “definitions” that only point back to the callee/class name, so the rendered hover shows the field name/type instead of the parent class label. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3020 Test Plan: add test Reviewed By: yangdanny97 Differential Revision: D113635486 fbshipit-source-id: 03eb9e7cafae6fece7d329047076a0ca4a614227github.com-facebook-pyrefly · 2bf00211 · 2026-07-29
- 0.3ETVfix Stack overflow in call_infer_with_callee_range #4437 (#4441) Summary: Fixes https://github.com/facebook/pyrefly/issues/4437 Added direct recursive `__new__` target detection Pull Request resolved: https://github.com/facebook/pyrefly/pull/4441 Test Plan: add test Reviewed By: yangdanny97 Differential Revision: D114761837 fbshipit-source-id: d4497345733b667c1356e5d9df66e1caa1485f4dgithub.com-facebook-pyrefly · 02cc1405 · 2026-08-05
- 0.3ETVimprove Sandbox: link shortening #1063 (#4327) Summary: improve https://github.com/facebook/pyrefly/issues/1063 just an experiment. replaces LZString encoding for newly generated sandbox URLs with raw DEFLATE, URL-safe Base64, and a small preset dictionary containing common Python syntax, typing constructs, sandbox filenames, and configuration patterns. Pull Request resolved: https://github.com/facebook/pyrefly/pull/4327 Test Plan: did some test locally, seems can compress more. Reviewed By: stroxler Differential Revision: D113918331 fbshipit-source-id: 1aa14549aefe313c3e24af0712d9030356860d35github.com-facebook-pyrefly · 335510d7 · 2026-07-31
- 0.3ETVfix Render callable protocols in hover as the signature of __call__ rather than by name #2832 (#2940) Summary: Fixes https://github.com/facebook/pyrefly/issues/2832 coercing the hovered type to its callable form only when the cursor is actually on the callee. preserves the existing constructor special case and avoids changing plain attribute hovers. Pull Request resolved: https://github.com/facebook/pyrefly/pull/2940 Test Plan: add test Reviewed By: stroxler Differential Revision: D112430677 Pulled By: samwgoldman fbshipit-source-id: e2f8cf4a32c1bce7ba968ae149333a1b25bdc143github.com-facebook-pyrefly · 0247e0a8 · 2026-07-17
- 0.3ETVfix option to ban explicit Any #3442 (#3459) Summary: Fixes https://github.com/facebook/pyrefly/issues/3442 Added ignored-by-default ErrorKind::ExplicitAny, Emitted it for explicit Any in annotations and type alias bodies when enabled. Wired migration support for: mypy disallow_any_explicit, mypy explicit-any, pyright/basedpyright reportExplicitAny Updated error-kind and migration docs. Pull Request resolved: https://github.com/facebook/pyrefly/pull/3459 Test Plan: Added regression tests Reviewed By: yangdanny97 Differential Revision: D105654842 Pulled By: stroxler fbshipit-source-id: a08765270cc0dbd05cb1f74a5a045cc1d4589c46github.com-facebook-pyrefly · f0132d98 · 2026-05-19