cleverly.CleverlyError#

exception cleverly.CleverlyError(condition: str | None = None, /, *, reason: RefusalReason | None = None, alternative: str | None = None, roadmap: str | None = None, refusal: Refusal | None = None)[source]#

Base class for every error raised by cleverly.

Every error carries a Refusal under refusal. A subclass declares the code its errors take by default in default_reason. A subclass with no default requires reason= at every raise.

Parameters:
conditionstr or None

The sentences that state the failed condition. Leave it out when refusal is given.

reasonRefusalReason or None

The reason code. None takes the class’s default_reason.

alternativestr or None

The sentence that names a working call.

roadmapstr or None

The docs/roadmap.md id that tracks a missing capability.

refusalRefusal or None

A complete record, as a capability row stores it.

Raises:
TypeError

When refusal is given together with any other argument, or when no reason code is given and the class declares no default.