class

Krikri::UnresolvedModuleError

Inherits Exception < Reference < Object

A tombstoned-removed module name (REMOVED_MODULE_TOMBSTONES) - the only thing that raises this anymore.

Raised at PARSE time ONLY for a tombstoned-removed module name (REMOVED_MODULE_TOMBSTONES): real ansible-playbook refuses to even START the run for one - "[ERROR]: couldn't resolve module/action '<name>'. This often indicates a misspelling, missing collection, or incorrect module path.", rc=4, no PLAY RECAP - verified live against ansible-core 2.19.4, including with the offending task behind a when: that would have skipped it (the resolution check is a playbook-LOAD check there, not a per-task one). That stays static here too: a tombstoned name is one real Ansible ITSELF refuses to resolve anywhere, at its own playbook-load time.

A module krikri simply hasn't implemented does NOT raise here anymore (0.9.1050, reversing 0.9.903's unconditional hard-stop, same owner-approved reversal): the task flows through with unavailable_module set and real Ansible's own lazy per-task resolution timing - a when:-false task is skipped cleanly like any other, while a genuinely-reached one is recorded by reachable_unavailable_modules and still fails the run's exit code at the end (round 811000: robertdebock.podman, mashimom.oh-my-zsh, and ~23 more roles aborting rc=4 with zero tasks run for modules behind false when: gates). The role-private library/<name>.py module (plus the playbook-adjacent library/) still genuinely runs here (PythonModuleRunner). Role-private filter_plugins/*.py custom filters are a separate mechanism entirely (PythonFilterRunner) and were never affected.