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:

basilisk check output reporting BSK-E0025 — Missing `@override` decorator

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