Files
homeassistant-rental-control/.aislop/config.yml
T
Andrew GrimbergandClaude 645524d820 Chore(pre-commit): Bump aislop to 0.18.1
The aislop pin had drifted four months and six minor releases behind
upstream. Bump it, and record the pin as hand-maintained: `pre-commit
autoupdate` never rewrites additional_dependencies.

Releases up to 0.13.1 fetched their bundled ruff from an npm postinstall
hook, which ran while pre-commit was building the hook environment.
0.14.0 dropped that hook, so the download can only happen once the hook
is already running -- and pre-commit.ci executes hooks with no network
access, where it can never succeed.

Turn that constraint into a simplification by disabling the format and
lint engines outright. Both are ruff, pinned to a release that trails
the dedicated ruff hook, and letting the two versions drift is precisely
what deadlocked #713, where each rejected the import layout the other
demanded. The dedicated hook is now the single authority for Python lint
and format.

They are disabled rather than left to skip when ruff is missing. aislop
resolves ruff from the project virtualenv or PATH before its own bundled
copy, so a contributor with ruff installed would run these engines while
CI did not -- the same version-dependent divergence, merely relocated.
Disabling them fixes the result everywhere.

Because no remaining engine shells out to a binary, a missing tool is
now never expected, so failOnMissingTools is enabled to report one
loudly instead of dropping an engine and still exiting 0.

Scanned file coverage rises from 118 to 190, still at 100/100.

Closes #782

Co-authored-by: Claude <claude@anthropic.com>
Signed-off-by: Andrew Grimberg <tykeal@bardicgrove.org>
2026-10-14 06:52:02 -07:00

37 lines
1.4 KiB
YAML

# SPDX-FileCopyrightText: 2026 Andrew Grimberg <tykeal@bardicgrove.org>
# SPDX-License-Identifier: Apache-2.0
---
version: 1
# aislop 0.10.x supports precise false-positive handling via inline
# `aislop-ignore-*` directives in source. Keep project-local config here.
# Fail the CI quality gate if the project score drops below a perfect 100.
# The whole tree is at 100/100; this prevents silent regressions.
ci:
failBelow: 100
# No enabled engine shells out to an external binary, so a missing tool
# is never expected and must be loud rather than silently dropped.
failOnMissingTools: true
# aislop's format and lint engines are ruff, pinned to a version that
# trails the dedicated ruff pre-commit hook. Running both invites the two
# releases to disagree: that is what deadlocked #713, where each rejected
# the import layout the other demanded. The dedicated hook is the single
# authority for Python lint and format.
#
# They are disabled explicitly rather than left to skip when ruff is
# absent. aislop resolves ruff from the project virtualenv or PATH before
# its own bundled copy, so a contributor with ruff installed would run
# these engines while CI did not, reintroducing exactly the version-
# dependent divergence this avoids. Disabling them pins the behaviour to
# the same result everywhere.
#
# What remains are pure-JS engines that need no external binaries.
engines:
format: false
lint: false