Skip to content

PE-US rebuild smoke runtime still requires torch after CLI help imports #171

@anth-volk

Description

@anth-volk

A workstation smoke rerun from the current codex/fix-146-import-without-torch worktree confirms that --help now imports, but the actual rebuild runtime still fails before source loading because microplex.__init__ eagerly imports microplex.discrete, which imports torch.

Environment/command shape:

.venv/bin/python -m microplex_us.pipelines.pe_us_data_rebuild_checkpoint \
  --output-root artifacts/local_us_microplex_smoke \
  --version-id local-smoke-v1 \
  --baseline-dataset /Users/administrator/Documents/PolicyEngine/policyengine-us-data/policyengine_us_data/storage/enhanced_cps_2024.h5 \
  --targets-db /Users/administrator/Documents/PolicyEngine/calibration-diagnostics/.artifacts/policy_data.db \
  --policyengine-us-data-repo /Users/administrator/Documents/PolicyEngine/policyengine-us-data \
  --policyengine-us-data-python /Users/administrator/Documents/PolicyEngine/worktrees/microplex-us/fix-pe-rebuild-smoke-issues/.venv/bin/python \
  --calibration-backend microcalibrate \
  --donor-imputer-backend zi_qrf \
  --policyengine-materialize-batch-size 100000 \
  --cps-sample-n 1000 \
  --puf-sample-n 1000 \
  --donor-sample-n 1000 \
  --n-synthetic 1000 \
  --no-include-acs \
  --defer-policyengine-harness \
  --defer-policyengine-native-score \
  --defer-native-audit \
  --defer-imputation-ablation

Failure:

  File "src/microplex_us/pipelines/pe_us_data_rebuild_checkpoint.py", line 101, in _load_runtime_symbols
    import microplex.core as microplex_core
  File ".venv/lib/python3.14/site-packages/microplex/__init__.py", line 63, in <module>
    from microplex.discrete import (
  File ".venv/lib/python3.14/site-packages/microplex/discrete.py", line 8, in <module>
    import torch
ModuleNotFoundError: No module named 'torch'

This is separate from the CLI help/import issue because uv run --no-sync python -m microplex_us.pipelines.pe_us_data_rebuild_checkpoint --help succeeds in the same worktree. The failure occurs only when main() calls _load_runtime_symbols() for the actual run.

Expected behavior: the canonical PE-US rebuild path should not require torch when neural/discrete synthesis is not selected, especially on Python 3.14/macOS x86_64 where the resolver could not install a torch wheel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions