Repository navigation
Fix all broken README/docs examples and unify the version across 4 locations #124
Description
Part of #108 · Phase 5 · label: documentation
Problem
Every cloud configuration example in README.md raises on its first line. configure() has no pass-through for unknown keys — config.py:262 raises ValueError(f"Unknown configuration parameter: {key}") — and the README uses unprefixed names that do not exist.
| README says | Actual field (config.py) |
|---|---|
access_key_id, secret_access_key, region |
aws_access_key_id, aws_secret_access_key, aws_region (:53-66) |
project_id, service_account_key, region |
gcp_project_id, gcp_service_account_key, gcp_region (:87-90) |
subscription_id, client_id, client_secret, tenant_id |
azure_* (:71-83) |
token |
hf_token (:105) |
Other broken examples:
@cluster(provider='lambda_cloud')/provider='huggingface_spaces'->ValueError: Unsupported cloud provider.executor_core.py:63accepts only["lambda","aws","azure","gcp","huggingface"]. The decorator's own docstring (decorator.py:57) uses the correct short names — the README does not.monitor.get_cost_optimization_recommendations()->TypeError: missing 2 required positional arguments. Signature is(self, resource_usage, cost_estimate)(cost_monitoring.py:126).@cluster(provider='aws', cluster_type='kubernetes', cluster_name=...)—cluster_typeis not acluster()parameter; it lands silently in**kwargsand configures nothing.machine_type,vm_size,space_hardwareare likewise silently absorbed.- README claims "Zero use of
@patch,Mock(), or simulations" — 60 of 240 test files use mocks, 2,513 occurrences, including 3 insidetests/real_world/.
MIGRATION.md is also wrong: it lists from clustrix import ClusterConfig under "These imports continue to work unchanged" — that symbol is not in clustrix/__init__.py at all. It also quotes a testpaths value and marker list that no longer match pyproject.toml.
Version drift — four locations, two values
| File | Version |
|---|---|
clustrix/__init__.py:64 |
0.1.0 |
docs/source/conf.py:17 |
0.1.0 |
pyproject.toml:7 |
0.1.1 |
setup.py:8 |
0.1.1 |
Both setup.py and pyproject.toml declare name/version/deps independently. The PEP 517 build uses pyproject.toml and silently ignores setup.py, so the metadata you read may not be the metadata that installs.
Docs site
docs/source/api/notebook_magic.rstautodocsClusterConfigWidget— no such class exists. The real ones areEnhancedClusterConfigWidget(notebook_magic_widget.py:35) andModernClustrixWidget(modern_notebook_widget.py:24).docs/source/index.rst:23lists only SLURM/PBS/SGE/Kubernetes/SSH — no cloud — contradicting the README's cloud claims.- Local
sphinx-buildfails atconf.py:34onModuleNotFoundError: No module named 'sphinx_wagtail_theme'(environment-only; RTD installs it).
Acceptance criteria
- Every code example in
README.mdis executed by a doc test in CI. This is the only durable fix — prose drifts, executed examples cannot. - Claims are reduced to what actually works. Anything a Phase 3 issue has not yet fixed is marked clearly as unsupported/experimental rather than advertised.
- One source of truth for the version; all four locations agree. Prefer deleting
setup.py. -
MIGRATION.mdcorrected or retired -
docs/autodoc targets resolve;index.rstandREADME.mdagree on the supported backend list - The "no mocks" claim is either made true (Phase 2) or removed
Activity
Fix three fabricated-result bugs, close the RCE, and overhaul the doc…
Issue #124: run the documentation example checker in CI
Remove every backend that has never been run against real hardware (#149
jeremymanning commentedon Aug 20, 2026
Closed — and the examples are now executed by CI
That script now runs in CI (
tests.yml:117), which was the durable half of this issue — the checker existed and passed before, but nothing ran it, so the docs were correct only for as long as someone remembered to check by hand.All four version strings read 0.2.0 (
clustrix/__init__.py,pyproject.toml,setup.py,docs/source/conf.py). The broken cloud examples are gone with their backends.MIGRATION.mdis deleted — it documented a repository reorganization and asserted, wrongly, thatfrom clustrix import ClusterConfigdoes not work.setup.pydeletion is on #127's list rather than this one.