You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Delete ~5,100 lines of orphaned modules (13% of the package has zero importers) #122
A full AST import-graph analysis over clustrix/ found ~5,100 lines (~13% of the package) with zero importers anywhere in the package.
Module
Lines
Note
pricing_clients/validation_alerts.py
784
plus its exclusive deps below
pricing_clients/performance_monitor.py
558
reachable only from validation_alerts
pricing_clients/resilience.py
495
reachable only from validation_alerts
notebook_magic_enhanced.py
635
notebook_magic_ssh.py
554
notebook_magic_gcp.py
516
notebook_magic_azure.py
499
notebook_magic_aws.py
474
enhanced_notebook_widget.py
448
secure_credentials.py
149
self-described "Legacy... 1Password support has been removed"
Additionally functionally dead:notebook_magic_widget.py (2,040 lines) is imported only for re-export by notebook_magic.py:36. The actual runtime widget is modern_notebook_widget.display_modern_widget (notebook_magic_core.py:20-22). ModernClustrixWidget won; EnhancedClusterConfigWidget is vestigial.
Not dead, for the record:executor.py is a legitimate 39-line re-export shim (:19-26); the executor_core/_connections/_schedulers/_scheduler_status/_kubernetes/_cloud split is real and live. cli.py has no in-package importer but is the console_scripts entry point (pyproject.toml:50). Neither should be removed.
Why this is worth doing before writing more tests
Several of these modules appear in the coverage report at 0.00% (notebook_magic_widget.py, 839 stmts) and are currently counted in the denominator. Deleting them improves the real coverage number without writing a single test — and prevents someone spending a week writing tests for code nobody runs. That is the correct sequencing, and it is why the coverage re-baseline issue should land after this one.
Related dead code
1Password shims left after removal (remove 1password #97): secure_credentials.py:20-55, cli_credentials.py:867-879, cli.py:270. store_credential() is a silent no-op returning False with only a logger.warning, and 8+ files under tests/real_world/ still import it. A silently-failing credential API is worse than none.
function_flattening.py:23-30 — _ast_unparse returns f"# {type(node).__name__} statement" when astor is missing, silently corrupting generated code rather than failing.
Root-level artifacts: htmlcov/, build/, dist/, coverage.json, coverage_detailed_report.txt, aws_provision_test.log, plus notes/ (one stale 2025-09-04 file).
Duplicate CI workflow files real_world_tests.yml / real-world-tests.yml.
Acceptance criteria
All listed orphans deleted (not commented out, not moved to an unused/ folder)
Import graph re-run confirms no new orphans
Test suite still passes; anything that only existed to test deleted code is deleted with it
Coverage re-measured afterwards and the change reported
Verification
python - <<'PY'# re-run the AST import graph over clustrix/ and print modules with zero importersPY
Part of #108 · Phase 4 · label: tech-debt
Problem
A full AST import-graph analysis over
clustrix/found ~5,100 lines (~13% of the package) with zero importers anywhere in the package.pricing_clients/validation_alerts.pypricing_clients/performance_monitor.pyvalidation_alertspricing_clients/resilience.pyvalidation_alertsnotebook_magic_enhanced.pynotebook_magic_ssh.pynotebook_magic_gcp.pynotebook_magic_azure.pynotebook_magic_aws.pyenhanced_notebook_widget.pysecure_credentials.pyAdditionally functionally dead:
notebook_magic_widget.py(2,040 lines) is imported only for re-export bynotebook_magic.py:36. The actual runtime widget ismodern_notebook_widget.display_modern_widget(notebook_magic_core.py:20-22).ModernClustrixWidgetwon;EnhancedClusterConfigWidgetis vestigial.Not dead, for the record:
executor.pyis a legitimate 39-line re-export shim (:19-26); theexecutor_core/_connections/_schedulers/_scheduler_status/_kubernetes/_cloudsplit is real and live.cli.pyhas no in-package importer but is theconsole_scriptsentry point (pyproject.toml:50). Neither should be removed.Why this is worth doing before writing more tests
Several of these modules appear in the coverage report at 0.00% (
notebook_magic_widget.py, 839 stmts) and are currently counted in the denominator. Deleting them improves the real coverage number without writing a single test — and prevents someone spending a week writing tests for code nobody runs. That is the correct sequencing, and it is why the coverage re-baseline issue should land after this one.Related dead code
secure_credentials.py:20-55,cli_credentials.py:867-879,cli.py:270.store_credential()is a silent no-op returningFalsewith only alogger.warning, and 8+ files undertests/real_world/still import it. A silently-failing credential API is worse than none.function_flattening.py:23-30—_ast_unparsereturnsf"# {type(node).__name__} statement"whenastoris missing, silently corrupting generated code rather than failing.htmlcov/,build/,dist/,coverage.json,coverage_detailed_report.txt,aws_provision_test.log, plusnotes/(one stale 2025-09-04 file).real_world_tests.yml/real-world-tests.yml.Acceptance criteria
unused/folder)Verification