BSK-E0025
error
Missing @override decorator
When a class overrides a method that is also defined in one of its base classes (both defined within the same module), the overriding method must carry the @override decorator (PEP 698 / typing.override).
The check is limited to base classes that appear in the same source module, because Basilisk cannot inspect the base class body without resolving cross-module imports in Phase 1.
Protocol implementations are exempt: when a class satisfies a Protocol contract, it is expected to define the protocol methods without @override.
Version gate (issue #171): @override (PEP 698 / typing.override) was introduced in Python 3.12, so suggesting it on an older configured target is a false positive — the decorator cannot be imported there. E0025 is silent when the configured python_version is below 3.12.
Real basilisk check output
What you see when BSK-E0025 fires on a minimal example:
How to handle it
Every rule is on by default — strict is the default, not a cage. You can dial
BSK-E0025 down per-file or per-path from your editor or
pyproject.toml, or fix the code
so it type-checks. See the Type Safety rules and
the complete diagnostic reference.
Canonical URL: https://www.basilisk-python.dev/errors/BSK-E0025