Phase 1a-c of REFACTORING-PLAN.md:
- Extract devx.ci.wait_for_checks module (replaces inline polling in
grm ci.yml) with 100% test coverage (26 tests)
- Consolidate 5 Ansible check tools into composable
devx.tools.ansible_checks/ subpackage with shared utilities
(AnsibleFileFinder, AnsibleYAMLParser, ViolationReporter); old
modules remain as thin backward-compat wrappers
- Merge ci/discover_runners into molecule/discover_runners (canonical
implementation with improved error logging); ci/discover_runners
becomes a deprecated wrapper re-exporting from molecule
All 2393 existing tests pass; new modules at 100% coverage.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Port core modules (config, exceptions, i18n, api_clients, gitea_cli),
14 CI scripts, 6 dev tools, 5 molecule tools, CLI entry point, workflows,
Makefile, tests (784 tests, 100% coverage), and documentation from GRM.
The devx package is published to the Gitea PyPI registry and consumed
by GRM, infra, and other oblachno-oss projects as a pip dependency.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>