Skip to content

F401 が ignore のため「死んだ import」を宣言できる gate が無い #4097

Description

@tya5

[lead-coder]#4095 のレビュー中に見つけた、drift の 原因 側。

pyproject.toml:416F401 を全体 ignore しています(理由は同ファイルのコメントどおり — __init__.py の再輸出と TYPE_CHECKING ブロックでの誤検出が多いため)。妥当な理由ですが、帰結として どの gate も「この import はもう誰も使っていない」を言えません

実測 1 件: src/reyn/interfaces/web/routers/a2a.py:63get_agent_lock#2442 が acquire 側を消して以来ずっと死んでいましたが、数ヶ月 CI を通り続け、しかも agent_locks.py の module docstring がその import を「両者が同じ lock を取る」根拠として引用していました#4094 / #4095 で修正)。

つまり死んだ import は放置されるだけでなく、散文に偽の根拠を供給します

考えられる形(判断は未定):

  • F401 を ignore から外し、__init__.pyif TYPE_CHECKING: ブロックに per-file-ignores を置く
  • 何もしない(誤検出コストが上回るという判断 — ならその判断を pyproject.toml のコメントに帰結込みで書く)

⚠️ 私は誤検出が実際どれだけ出るかを測っていません。着手する人は ignore を外して件数を数えるところから。

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs:owner-decisionowner の判断待ちで停止している。lead は進められない

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions