- Combine venv setup and tito execution in same step
- Add pytest installation for tito environment validation
- Add explanatory comments about GitHub Actions shell behavior
- Remove environment skipping hack in favor of proper setup
- Workflow now uses tito CLI consistently for book generation
- Updated title to match new tagline format
- Added humble educational foundation section referencing CS249r course
- Confirmed result-oriented 'What You'll Achieve' section works well
- All branding now consistent across book and documentation
- Clean author attribution without unnecessary copyright notices
- Updated all module references to start from 01 instead of 00
- Changed tagline to 'Build your own ML framework. Start small. Go deep.'
- Added educational foundation section linking to ML Systems book
- Updated README, documentation, CLI examples, and prerequisites
- Regenerated book content with consistent numbering throughout
- Maintains 14 modules total but with natural numbering (01-14)
✅ Rename all module directories: 00_setup → 01_setup, etc.
✅ Update convert_modules.py mappings for new directory names
✅ Update _toc.yml file paths and titles (1-14 instead of 0-13)
✅ Regenerate all overview pages with new numbering
✅ Fix all broken references in usage-paths and intro
✅ Update chapter references to use natural numbering
Benefits:
- More intuitive course progression starting from 1
- Matches academic course numbering conventions
- Eliminates confusion about 'Module 0' concept
- Cleaner mental model for students and instructors
- All references and links properly updated
Complete transformation: 14 modules now numbered 01-14
✅ Show actual implementation code instead of vague descriptions
✅ Contrast 'import torch' with 'class Tensor:' implementations
✅ Display real function definitions students will write
✅ Make clear students build every component from scratch
Changes:
- Replace vague 'Build your own tensors' with 'class Tensor:'
- Show actual method signatures: __add__, backward, forward
- Include concrete loss function: mse_loss implementation
- Display real optimizer logic: param.data -= lr * param.grad
- Change ending: 'I built this!' → 'I implemented every line!'
✅ Clean source file headers: 'Module X:' → clean descriptive titles
✅ Regenerate overview pages with clean headers
✅ More flexible content that works in any context
✅ Numbers still provided by book TOC structure
Changes:
- Remove 'Module X: ' prefix from all source file headers
- Headers now focus on descriptive content titles
- Book maintains proper chapter ordering via _toc.yml
- Content is more reusable across different presentations
✅ Remove unnecessary nesting: book/tinytorch-course/ → book/
✅ Update all path references in scripts and workflows
✅ Cleaner development experience with shorter paths
✅ Book builds successfully with simplified structure
Changes:
- Move all book files up one directory level
- Update convert_modules.py paths
- Update GitHub Actions workflow paths
- Update book configuration paths
- Test confirms everything works correctly
✅ Add learning goals extraction with beautiful admonition blocks
✅ Create hybrid book approach (overview pages + interactive buttons)
✅ Generate both notebooks (Binder/Colab) and book pages
✅ Update GitHub Actions for main branch deployment
✅ All 14 modules now have consistent formatting
Features:
- Extract content from source files (no duplication)
- Interactive launch buttons (GitHub/Binder/Colab)
- Learning objectives as 🎯 tip admonitions
- Notebooks generated in-place for direct access
- Clean separation: dev → main → website deployment
- Fix repository URL and directory structure
- Add prominent Jupyter Book documentation link
- List all 14 complete modules with proper organization
- Update installation and workflow instructions
- Add dev/main branch git workflow documentation
- Include modern badges and three user onboarding paths
- Emphasize production ML and inline testing approach
- Reflect current tech stack and learning outcomes
- Changed trigger from main to dev branch (repository default)
- Updated deploy condition to check for dev branch
- Ensures workflow runs on correct branch for this repository
- Add module conversion step before book building
- Install jupytext dependency for conversion script
- Maintains existing GitHub Pages deployment pipeline
- Automatically converts modules/source/ to notebooks on deploy
- Created convert_modules.py for raw source-to-notebook conversion
- Configured Jupyter Book with execution disabled for performance
- Removed NBGrader solution stripping to preserve complete source code
- Cleaned up all built artifacts (_build/, chapters/*.ipynb) from version control
- Updated book configuration for pure source-based builds
- Single source of truth: all content generated from modules/source/ only
✅ Converted all TinyTorch modules to interactive student notebooks:
- Foundation: Setup, Tensors, Activations (3 modules)
- Building Blocks: Layers, Networks, CNNs (3 modules)
- Training Systems: DataLoader, Autograd, Optimizers, Training (4 modules)
- Production: Compression, Kernels, Benchmarking, MLOps (4 modules)
🚀 Complete student learning experience:
- Big picture landing page with clear usage paths
- 3 dedicated path guides (exploration, development, classroom)
- Tiny🔥Torch branding with logo integration
- Student notebooks with solutions stripped but educational content preserved
- Interactive Binder integration ready for deployment
📊 Course statistics:
- 14 progressive modules building from CLI to production MLOps
- ~800KB total content across all interactive notebooks
- Professional development workflow with automated testing
- Proven pedagogical outcomes with Build → Use → Understand pattern
Ready for GitHub Pages deployment and student use
✅ Implemented automatic module-to-notebook conversion
- Created convert_modules.py script for NBGrader-style student assignments
- Strips solutions automatically using BEGIN/END SOLUTION markers
- Converts 4 core modules: setup, tensor, activations, layers
- Adds Binder integration and interactive learning frontmatter
- Updates table of contents to use .ipynb files
- Complete landing page with clear usage instructions
🚀 Result: Full interactive educational platform
- Students can explore via Binder immediately (no setup)
- Clear path from exploration → serious local development
- Automated content pipeline from dev files → student book
- Ready for GitHub Pages deployment
- Created interactive Jupyter Book structure in book/tinytorch-course/
- Configured for GitHub Pages, Binder, and Colab integration
- Set up automated deployment with GitHub Actions
- Designed comprehensive course structure with 4 main parts:
* Foundation (Setup, Tensors, Activations)
* Building Blocks (Layers, Networks, CNNs)
* Training Systems (DataLoader, Autograd, Optimizers, Training)
* Production & Performance (Compression, Kernels, Benchmarking, MLOps)
- Added engaging introduction with interactive features
- Ready for module conversion from *_dev.py to executable notebooks
Next: Convert modules/source/*_dev.py files to interactive chapters
- Add tests/README.md with clear warnings and recovery instructions
- Add tests/.gitkeep to ensure directory is always tracked
- Protect 15 integration test files (~100KB valuable code)
- Provide git recovery commands if accidentally deleted
Addresses risk mitigation while keeping standard Python conventions.
- Remove generated report files (*.html, *.json) that should be recreated
- Remove temporary Quarto cache files (.quarto/cites/)
- Remove backup files (settings.ini.backup) when originals exist
- Remove legacy configuration (.cursorrules moved to .cursor/rules/)
- Remove outdated documentation and status reports
- Remove unused Makefile (project uses pyproject.toml + nbdev)
All core project files preserved. This cleanup improves maintainability
by removing files that should be generated, not stored in version control.
- Flattened tests/ directory structure (removed integration/ and system/ subdirectories)
- Renamed all integration tests with _integration.py suffix for clarity
- Created test_utils.py with setup_integration_test() function
- Updated integration tests to use ONLY tinytorch package imports
- Ensured all modules are exported before running tests via tito export --all
- Optimized module test timing for fast execution (under 5 seconds each)
- Fixed MLOps test reliability and reduced timing parameters across modules
- Exported all modules (compression, kernels, benchmarking, mlops) to tinytorch package
- Shortened verbose 119-line summary to focused 32-line format
- Removed redundant sections and excessive congratulatory language
- Added standard Next Steps with actionable tito commands
- Now consistent with other module endings (tensor, layers, optimizers, etc.)
- Maintains essential accomplishments and real-world connections
- ✅ tito system info/doctor: Full system health check working
- ✅ tito module status: Shows all 14 modules with proper status
- ✅ tito export --all: Successfully exports all modules to tinytorch package
- ✅ tito test --all: Runs all inline tests (65/66 tests passing)
- ✅ tito nbgrader: All assignment management commands available
- ✅ tito package nbdev: NBDev integration working
- ✅ Global PATH: Added bin/ to PATH for global tito access
Only minor issue: 1 MLOps test failing due to script execution
All core functionality working perfectly for educational use
- Fixed SimpleDataset usage in classification, regression, and validation tests
- Replaced custom dataset classes with proper DataLoader usage
- Updated model architectures to match SimpleDataset defaults (4 features, 3 classes)
- All training integration tests now pass successfully
- Complete integration tests for 13_mlops module
- Test MLOps pipeline with all TinyTorch components (00-12)
- Include ModelMonitor, DriftDetector, RetrainingTrigger, MLOpsPipeline
- Test integration with benchmarking framework
- Test with different network architectures and complexity
- Follow established integration test patterns
- Comprehensive summary test demonstrating complete system integration