Skip to content

ci: one-function-per-file at max_lines = 1 — packages/python/dirsql/resolve_config_extensions.py #1079

Closed

Description

@thekevinbot

Second and last step of the packages/python/dirsql lane of the #1020 ratchet endgame. Sibling of #1066, which covers resolve_extension.py.

At max_lines = 1 the gate flags three of the four module-scope functions in dirsql/resolve_config_extensions.py:

resolve_config_extensions.py:42: `_load_extension_entries` runs 11 lines, and `_load_toml_module` already holds this file
resolve_config_extensions.py:63: `_has_bare_name` runs 6 lines, and `_load_toml_module` already holds this file
resolve_config_extensions.py:72: `resolve_config_extension_specs` runs 7 lines, and `_load_toml_module` already holds this file

The holder is a free choice, so keep the module’s named export resolve_config_extension_specs in the file and move the three helpers out:

Move To Carried with it
_load_toml_module dirsql/toml_module.py the _toml module binding it produces
_load_extension_entries dirsql/load_extension_entries.py —
_has_bare_name dirsql/has_bare_name.py —

Stacked on #1066’s branch (claude/1066-p1-resolve-extension): the new has_bare_name module imports is_bare_name, which #1066 moves to dirsql/is_bare_name.py.

resolve_configs_extension_specs.py imports _has_bare_name and _load_extension_entries and gets repointed at the new modules.

Out of scope, per #1020: no testing-conventions.toml edit. The committed ceiling stays at 12; a separate final PR deletes the key once every lane is clean.

No behavior change, no public API change. Exemptions stay at zero.

Activity

  1. self-assigned this
    on Sep 5, 2026
  2. thekevinbot commented on Sep 5, 2026

    @thekevinbot
    CollaboratorAuthor

    #1087 merged into the parent branch claude/1066-p1-resolve-extension rather than main, so the closing keyword did not fire. #1077 now carries this split and closes this issue on merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions