Krikri::UnresolvedModuleError
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.