Bug fixes:
- Move test_autograd_core.py from 05_dataloader/ to 06_autograd/ (fixes#1127)
- Fix integration test mapping: tests now only run after their dependencies
are available (module 4 loss tests moved to module 7+)
- Remove premature test_unit_function_classes() call in 06_autograd.py
that ran before enable_autograd() (fixes#1128)
- Handle EOFError in milestone prompts for non-interactive mode (fixes#1129)
Improvements:
- Read version from pyproject.toml as single source of truth
- Add try/except for sync prompt in milestone completion
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
FixesMLSysBook/TinyTorch#22
The module mappings were hardcoded in multiple files and had drifted
out of sync with actual folder names. Module 15 was incorrectly mapped
to "15_acceleration" instead of "15_quantization".
Changes:
- Add tito/core/modules.py that auto-discovers modules from src/ directory
- Remove hardcoded module mappings from workflow.py, reset.py, test.py
- Replace hardcoded next_modules dicts in export.py and src.py
- Single source of truth: filesystem is now the source
This prevents future sync issues - adding/renaming module folders
automatically updates the CLI without code changes.
- Add np.random.seed(42) to test_deep_network_gradient_chain for reproducibility
- Add --no-cov to tito module test to avoid root pyproject.toml coverage requirements
- Skip test_layers_networks_integration.py when tinytorch.core.dense is not implemented