Commit Graph

100 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
791b09a950 Fix modules 10-13 tests and add CLAUDE.md
- Add CLAUDE.md entry point for Claude AI system
- Fix tito test command to set PYTHONPATH for module imports
- Fix embeddings export directive placement for nbdev
- Fix attention module to export imports properly
- Fix transformers embedding index casting to int
2025-10-25 17:04:00 -04:00
Vijay Janapa Reddi
9bb506a5b5 Merge pull request #7 from Zappandy/feature/dynamic-venv-config
Feature/dynamic venv config
2025-10-22 09:07:00 -04:00
Vijay Janapa Reddi
e55aa4a513 fix: Look for module dev files in modules/source subdirectory
- NotebooksCommand now checks modules/source/ for dev files
- Fixes 'No *_dev.py files found' error in CI
- Maintains backwards compatibility with flat structure
2025-10-19 12:59:20 -04:00
Vijay Janapa Reddi
5d46020bfa fix: Register notebooks command in CLI
- Add NotebooksCommand to commands dictionary in main.py
- Command was imported but not registered
- Fixes 'invalid choice: notebooks' error in workflow
2025-10-19 12:55:15 -04:00
Vijay Janapa Reddi
01bb20f235 fix: Remove mutually exclusive group from export command
- Positional arguments cannot be in mutually exclusive groups in argparse
- Keep modules as positional argument, --all as optional flag
- Fixes CLI initialization error in GitHub Actions
2025-10-19 12:50:59 -04:00
Zappandy
7f5d591aed fixed default venv value in config for validation 2025-10-11 13:12:40 +02:00
Zappandy
e96d821fa1 Feat(env) dynamic virtual env support for advanced users 2025-10-11 12:31:11 +02:00
Vijay Janapa Reddi
828c3d9081 feat: Add CrossEntropyLoss autograd support + Milestone 03 MLP on digits
Key Changes:
- Implemented CrossEntropyBackward for gradient computation
- Integrated CrossEntropyLoss into enable_autograd() patching
- Created comprehensive loss gradient test suite
- Milestone 03: MLP digits classifier (77.5% accuracy)
- Shipped tiny 8x8 digits dataset (67KB) for instant demos
- Updated DataLoader module with ASCII visualizations

Tests:
- All 3 losses (MSE, BCE, CrossEntropy) now have gradient flow
- MLP successfully learns digit classification (6.9% → 77.5%)
- Integration tests pass

Technical:
- CrossEntropyBackward: softmax - one_hot gradient
- Numerically stable via log-softmax
- Works with raw class labels (no one-hot needed)
2025-09-30 16:22:09 -04:00
Vijay Janapa Reddi
de3b837bee Fix nbdev export system across all 20 modules
PROBLEM:
- nbdev requires #| export directive on EACH cell to export when using # %% markers
- Cell markers inside class definitions split classes across multiple cells
- Only partial classes were being exported to tinytorch package
- Missing matmul, arithmetic operations, and activation classes in exports

SOLUTION:
1. Removed # %% cell markers INSIDE class definitions (kept classes as single units)
2. Added #| export to imports cell at top of each module
3. Added #| export before each exportable class definition in all 20 modules
4. Added __call__ method to Sigmoid for functional usage
5. Fixed numpy import (moved to module level from __init__)

MODULES FIXED:
- 01_tensor: Tensor class with all operations (matmul, arithmetic, shape ops)
- 02_activations: Sigmoid, ReLU, Tanh, GELU, Softmax classes
- 03_layers: Linear, Dropout classes
- 04_losses: MSELoss, CrossEntropyLoss, BinaryCrossEntropyLoss classes
- 05_autograd: Function, AddBackward, MulBackward, MatmulBackward, SumBackward
- 06_optimizers: Optimizer, SGD, Adam, AdamW classes
- 07_training: CosineSchedule, Trainer classes
- 08_dataloader: Dataset, TensorDataset, DataLoader classes
- 09_spatial: Conv2d, MaxPool2d, AvgPool2d, SimpleCNN classes
- 10-20: All exportable classes in remaining modules

TESTING:
- Test functions use 'if __name__ == "__main__"' guards
- Tests run in notebooks but NOT on import
- Rosenblatt Perceptron milestone working perfectly

RESULT:
 All 20 modules export correctly
 Perceptron (1957) milestone functional
 Clean separation: development (modules/source) vs package (tinytorch)
2025-09-30 11:21:04 -04:00
Vijay Janapa Reddi
9af22d6a7e Improve export workflow: Python-first with detailed logging
- Always regenerate notebooks from Python files (Python is source of truth)
- Add comprehensive logging for conversion and export steps
- Fix venv jupytext architecture issues with proper ARM64 packages
- Implement robust fallback from venv to system jupytext
- Show detailed progress: .py → .ipynb → tinytorch pipeline
- Remove timestamp checking - always ensure fresh notebooks

Workflow now: Work in Python → Export regenerates notebook → Export to package
Fixes stale notebook issues and provides clear visibility into export process.
2025-09-30 10:24:07 -04:00
Vijay Janapa Reddi
7e95927862 Fix package reset to properly detect AUTOGENERATED files
- Change from checking only first line to first 5 lines for AUTOGENERATED marker
- Fixes issue where nbdev exports put AUTOGENERATED on line 3, not line 1
- Now properly removes all 26 exported module files during reset
- Verified clean reset: tinytorch/core/ only contains __init__.py after reset
2025-09-30 10:12:52 -04:00
Vijay Janapa Reddi
87872d897d Fix tito export workflow for selective module export
- Fix jupytext conversion issues by using existing .ipynb files when available
- Add support for multiple modules in single export command
- Clean up interface to hide nbdev implementation details
- Update argument parsing from single 'module' to multiple 'modules'
- Add proper error handling and user-friendly messages
- Enable workflows like: tito export 01_tensor 02_activations

Resolves export command failures and provides clean reset/export workflow:
- tito package reset --force (clean slate)
- tito export 01_tensor 02_activations (selective export)
- tito export --all (export everything)
2025-09-30 10:10:50 -04:00
Vijay Janapa Reddi
cc7c7526c8 Clean up module imports: convert tinytorch.core to sys.path style
- Remove circular imports where modules imported from themselves
- Convert tinytorch.core imports to sys.path relative imports
- Only import dependencies that are actually used in each module
- Preserve documentation imports in markdown cells
- Use consistent relative path pattern across all modules
- Remove hardcoded absolute paths in favor of relative imports

Affected modules: 02_activations, 03_layers, 04_losses, 06_optimizers,
07_training, 09_spatial, 12_attention, 17_quantization
2025-09-30 08:58:58 -04:00
Vijay Janapa Reddi
04cbc65724 Fix training pipeline: Parameter class, Variable.sum(), gradient handling
Major fixes for complete training pipeline functionality:

Core Components Fixed:
- Parameter class: Now wraps Variables with requires_grad=True for proper gradient tracking
- Variable.sum(): Essential for scalar loss computation from multi-element tensors
- Gradient handling: Fixed memoryview issues in autograd and activations
- Tensor indexing: Added __getitem__ support for weight inspection

Training Results:
- XOR learning: 100% accuracy (4/4) - network successfully learns XOR function
- Linear regression: Weight=1.991 (target=2.0), Bias=0.980 (target=1.0)
- Integration tests: 21/22 passing (95.5% success rate)
- Module tests: All individual modules passing
- General functionality: 4/5 tests passing with core training working

Technical Details:
- Fixed gradient data access patterns throughout activations.py
- Added safe memoryview handling in Variable.backward()
- Implemented proper Parameter-Variable delegation
- Added Tensor subscripting for debugging access

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-28 19:14:11 -04:00
Vijay Janapa Reddi
be331df327 Implement clean start/resume/complete workflow - no overlaps!
PERFECT WORKFLOW: Clean lifecycle commands with distinct purposes

New Commands (No Overlaps):
 tito module start 01      → Start working on module (first time only)
 tito module resume 01     → Resume working on module (continue work)
 tito module complete 01   → Complete module (test + export)
 tito module status        → Show progress with 3 states

Smart Features:
 State tracking:  not started → 🚀 in progress →  completed
 Smart validation: start checks if already started, suggests resume
 Smart defaults: resume/complete work without module number
 Progress persistence: JSON file tracks started/completed modules
 Clear guidance: Always shows next logical step

User Journey:
1. tito setup                → Environment setup
2. tito module start 01     → Begin tensors (marks as started)
3. Work in Jupyter, save    → Natural development
4. tito module complete 01  → Test, export, mark completed
5. tito module start 02     → Begin activations
6. tito module resume 02    → Continue activations later

No command overlaps - each has distinct purpose and clear mental model!
2025-09-28 07:58:06 -04:00
Vijay Janapa Reddi
e476064a9e Implement natural module workflow: tito module 01 → work → tito module complete 01
MAJOR UX IMPROVEMENT: Natural workflow that matches mental model

New Commands:
- tito module 01              → Opens Module 01 in Jupyter Lab
- tito module complete 01     → Tests, exports, updates progress
- tito module status          → Shows completion progress with visual indicators

Key Features:
 Natural language commands (tito module 01 vs tito module view 01_tensor)
 Integrated testing workflow (complete command runs tests before export)
 Progress tracking (JSON file tracks completed modules)
 Next steps guidance (shows what to do next)
 Rich visual feedback (progress bars, status indicators)

User Journey:
1. tito setup                 → First-time environment setup
2. tito module 01            → Open and work in Jupyter
3. Save work in Jupyter      → Ctrl+S
4. tito module complete 01   → Test, export, track progress
5. tito module 02            → Continue to next module

This matches the natural mental model: 'open module 01' → 'complete module 01'
2025-09-28 07:24:56 -04:00
Vijay Janapa Reddi
a59ccec7de Fix: Restore proper hierarchical CLI structure and fix config
- Removed numeric shortcuts (tito 01) in favor of clear hierarchical commands
- Fixed CLI config to point to modules/ directory instead of assignments/source
- Updated help text to show proper hierarchical structure:
  - tito setup (first-time setup)
  - tito module view 01_tensor (start building tensors)
  - tito module view 02_activations (add activation functions)
- Hierarchical structure is clearer and more professional
- Successfully tested: tito module view 01_tensor opens Jupyter Lab correctly
2025-09-28 07:15:25 -04:00
Vijay Janapa Reddi
4a9131f8c4 Major reorganization: Remove setup module, renumber all modules, add tito setup command and numeric shortcuts
- Removed 01_setup module (archived to archive/setup_module)
- Renumbered all modules: tensor is now 01, activations is 02, etc.
- Added tito setup command for environment setup and package installation
- Added numeric shortcuts: tito 01, tito 02, etc. for quick module access
- Fixed view command to find dev files correctly
- Updated module dependencies and references
- Improved user experience: immediate ML learning instead of boring setup
2025-09-28 07:02:08 -04:00
Vijay Janapa Reddi
2599f18cd3 feat: Enhance TITO CLI with new commands and improvements
- Added new help command with comprehensive documentation
- Enhanced leaderboard command with better formatting and functionality
- Improved module command with updated configuration handling
- Updated core config to support new module structure
- Removed obsolete tinytorch_placeholder package
- Improved CLI user experience and error handling
2025-09-27 01:36:36 -04:00
Vijay Janapa Reddi
afbc8a6392 ENHANCE: Leaderboard CLI with beautiful Rich UI and inclusive community features
- Add 'join' as primary command with 'register' alias for backwards compatibility
- Add comprehensive 'help' command explaining community system and verification
- Enhance community data with diverse, realistic examples across all skill levels
- Add checkpoint information to leaderboard displays
- Update all user-facing messages to use 'join' terminology
- Improve Rich UI with better panels, tables, and encouraging messages
- Support multiple tasks (CIFAR-10, MNIST, TinyGPT) with task-specific data
- Focus on inclusive community building where all performance levels are celebrated

Key features:
• tito leaderboard join - Welcoming community registration
• tito leaderboard submit - Submit any level of progress
• tito leaderboard view - See complete community (not just top performers)
• tito leaderboard profile - Personal achievement journey
• tito leaderboard status - Quick stats and encouragement
• tito leaderboard help - Comprehensive system explanation

All commands use beautiful Rich console UI with celebration for every achievement level.
2025-09-27 00:11:24 -04:00
Vijay Janapa Reddi
2cf0e0e99a FEAT: Add inclusive community leaderboard and Olympics competition CLI commands
Implemented complete CLI command structure for TinyTorch community features:

LEADERBOARD (Inclusive Community):
- tito leaderboard register: Join welcoming community (any skill level)
- tito leaderboard submit: Share progress (all accuracy levels celebrated)
- tito leaderboard view: See community progress with inclusive displays
- tito leaderboard profile: Personal achievement journey tracking
- tito leaderboard status: Quick encouragement and next steps

OLYMPICS (Special Competition Events):
- tito olympics events: View current/upcoming focused competitions
- tito olympics compete: Enter specific events with validation
- tito olympics awards: Special recognition and achievement badges
- tito olympics history: Past competitions and memorable moments

Key Design Features:
 Inclusive by default - everyone belongs regardless of performance
 Journey celebration - improvements matter more than absolute scores
 Community building - recent achievements, milestones, encouragement
 Rich console UI - beautiful displays with progress visualization
 Local data storage - user profiles and submissions in ~/.tinytorch
 Validation systems - competition criteria and submission checking
 Achievement recognition - badges, awards, and personal progress tracking

Educational Philosophy:
- Every accuracy level deserves celebration (10% to 90%+)
- Progress tracking encourages continued learning
- Community connection accelerates skill development
- Special competitions provide focused challenge opportunities
- Recognition systems motivate both beginners and experts

The leaderboard democratizes ML learning by showing that everyone's journey
has value, while Olympics provide special competitive opportunities for
those seeking additional challenges.
2025-09-26 23:50:14 -04:00
Vijay Janapa Reddi
c6e4689957 MAJOR: Implement beautiful module progression through strategic reordering
This commit implements the pedagogically optimal "inevitable discovery" module progression based on expert validation and educational design principles.

## Module Reordering Summary

**Previous Order (Problems)**:
- 05_losses → 06_autograd → 07_dataloader → 08_optimizers → 09_spatial → 10_training
- Issues: Autograd before optimizers, DataLoader before training, scattered dependencies

**New Order (Beautiful Progression)**:
- 05_losses → 06_optimizers → 07_autograd → 08_training → 09_spatial → 10_dataloader
- Benefits: Each module creates inevitable need for the next

## Pedagogical Flow Achieved

**05_losses** → "Need systematic weight updates" → **06_optimizers**
**06_optimizers** → "Need automatic gradients" → **07_autograd**
**07_autograd** → "Need systematic training" → **08_training**
**08_training** → "MLPs hit limits on images" → **09_spatial**
**09_spatial** → "Training is too slow" → **10_dataloader**

## Technical Changes

### Module Directory Renaming
- `06_autograd` → `07_autograd`
- `07_dataloader` → `10_dataloader`
- `08_optimizers` → `06_optimizers`
- `10_training` → `08_training`
- `09_spatial` → `09_spatial` (no change)

### System Integration Updates
- **MODULE_TO_CHECKPOINT mapping**: Updated in tito/commands/export.py
- **Test directories**: Renamed module_XX directories to match new numbers
- **Documentation**: Updated all references in MD files and agent configurations
- **CLI integration**: Updated next-steps suggestions for proper flow

### Agent Configuration Updates
- **Quality Assurance**: Updated module audit status with new numbers
- **Module Developer**: Updated work tracking with new sequence
- **Documentation**: Updated MASTER_PLAN_OF_RECORD.md with beautiful progression

## Educational Benefits

1. **Inevitable Discovery**: Each module naturally leads to the next
2. **Cognitive Load**: Concepts introduced exactly when needed
3. **Motivation**: Students understand WHY each tool is necessary
4. **Synthesis**: Everything flows toward complete ML systems understanding
5. **Professional Alignment**: Matches real ML engineering workflows

## Quality Assurance

-  All CLI commands still function
-  Checkpoint system mappings updated
-  Documentation consistency maintained
-  Test directory structure aligned
-  Agent configurations synchronized

**Impact**: This reordering transforms TinyTorch from a collection of modules into a coherent educational journey where each step naturally motivates the next, creating optimal conditions for deep learning systems understanding.
2025-09-24 15:56:47 -04:00
Vijay Janapa Reddi
49bd8b2b3f Restructure TinyTorch: Move TinyGPT to examples, improve testing framework
Major changes:
- Moved TinyGPT from Module 16 to examples/tinygpt (capstone demo)
- Fixed Module 10 (optimizers) and Module 11 (training) bugs
- All 16 modules now passing tests (100% health)
- Added comprehensive testing with 'tito test --comprehensive'
- Renamed example files for clarity (train_xor_network.py, etc.)
- Created working TinyGPT example structure
- Updated documentation to reflect 15 core modules + examples
- Added KISS principle and testing framework documentation
2025-09-22 09:37:18 -04:00
Vijay Janapa Reddi
9f5458d58f Update examples integration with module progression
- Update EXAMPLES mapping in tito to use new exciting names
- Add prominent examples section to main README
- Show clear progression: Module 05 → xornet, Module 11 → cifar10
- Update accuracy claims to realistic 57% (not aspirational 75%)
- Emphasize that examples are unlocked after module completion
- Connect examples to the learning journey

Students now understand when they can run exciting examples!
2025-09-21 15:58:02 -04:00
Vijay Janapa Reddi
b9531cb46b feat: Implement comprehensive student protection system for TinyTorch
🛡️ **CRITICAL FIXES & PROTECTION SYSTEM**

**Core Variable/Tensor Compatibility Fixes:**
- Fix bias shape corruption in Adam optimizer (CIFAR-10 blocker)
- Add Variable/Tensor compatibility to matmul, ReLU, Softmax, MSE Loss
- Enable proper autograd support with gradient functions
- Resolve broadcasting errors with variable batch sizes

**Student Protection System:**
- Industry-standard file protection (read-only core files)
- Enhanced auto-generated warnings with prominent ASCII-art headers
- Git integration (pre-commit hooks, .gitattributes)
- VSCode editor protection and warnings
- Runtime validation system with import hooks
- Automatic protection during module exports

**CLI Integration:**
- New `tito system protect` command group
- Protection status, validation, and health checks
- Automatic protection enabled during `tito module complete`
- Non-blocking validation with helpful error messages

**Development Workflow:**
- Updated CLAUDE.md with protection guidelines
- Comprehensive validation scripts and health checks
- Clean separation of source vs compiled file editing
- Professional development practices enforcement

**Impact:**
 CIFAR-10 training now works reliably with variable batch sizes
 Students protected from accidentally breaking core functionality
 Professional development workflow with industry-standard practices
 Comprehensive testing and validation infrastructure

This enables reliable ML systems training while protecting students
from common mistakes that break the Variable/Tensor compatibility.
2025-09-21 12:22:18 -04:00
Vijay Janapa Reddi
4d1d2a5c4b Complete auto-generated warning system and establish core file protection
BREAKTHROUGH IMPLEMENTATION:
 Auto-generated warnings now added to ALL exported files automatically
 Clear source file paths shown in every tinytorch/ file header
 CLAUDE.md updated with crystal clear rules: tinytorch/ = edit modules/
 Export process now runs warnings BEFORE success message

SYSTEMATIC PREVENTION:
- Every exported file shows: AUTOGENERATED! DO NOT EDIT! File to edit: [source]
- THIS FILE IS AUTO-GENERATED FROM SOURCE MODULES - CHANGES WILL BE LOST!
- To modify this code, edit the source file listed above and run: tito module complete

WORKFLOW ENFORCEMENT:
- Golden rule established: If file path contains tinytorch/, DON'T EDIT IT DIRECTLY
- Automatic detection of 16 module mappings from tinytorch/ back to modules/source/
- Post-export processing ensures no exported file lacks protection warning

VALIDATION:
 Tested with multiple module exports - warnings added correctly
 All tinytorch/core/ files now protected with clear instructions
 Source file paths correctly mapped and displayed

This prevents ALL future source/compiled mismatch issues systematically.
2025-09-21 11:43:35 -04:00
Vijay Janapa Reddi
7f9b4aee74 Implement auto-generated warnings in module export system
FEATURE ADDITION:
- Add automatic warnings to all exported core files
- Clear source file path shown in warning header
- Prevents accidental direct editing of generated files

TECHNICAL IMPLEMENTATION:
- _add_autogenerated_warnings() post-processes exported files
- _find_source_file_for_export() maps exports to source files
- Comprehensive mapping for all 16 modules
- Warning format: "# AUTOGENERATED! DO NOT EDIT! File to edit: [source]"

WORKFLOW COMPLIANCE:
- Addresses user request for systematic prevention of core file editing
- Enforces proper development workflow: Edit source → Export → Use
- Prevents source/compiled mismatch issues
- Educational: Shows developers exactly where to make changes

VALIDATION:
- Tested with tito module export 02_tensor
- Successfully added warnings to 3 files
- Preserves existing export functionality
- Maintains compatibility with existing systems
2025-09-21 11:39:50 -04:00
Vijay Janapa Reddi
cf0f72a084 Add TinyTorch examples gallery and fix module integration issues
- Create professional examples directory showcasing TinyTorch as real ML framework
- Add examples: XOR, MNIST, CIFAR-10, text generation, autograd demo, optimizer comparison
- Fix import paths in exported modules (training.py, dense.py)
- Update training module with autograd integration for loss functions
- Add progressive integration tests for all 16 modules
- Document framework capabilities and usage patterns

This commit establishes the examples gallery that demonstrates TinyTorch
works like PyTorch/TensorFlow, validating the complete framework.
2025-09-21 10:00:11 -04:00
Vijay Janapa Reddi
e589a2b326 Refactor to 3 focused milestones with YAML configuration
MILESTONE SYSTEM REDESIGN:
- Reduced from 5 to 3 meaningful milestones based on student effort
- Better spacing: Module 6 → Module 11 → Module 16
- More exciting progression: Numbers → Objects → Code

NEW MILESTONE STRUCTURE:
1. 'Machines Can See' (Module 05): MLP achieves 85%+ MNIST accuracy
2. 'I Can Train Real AI' (Module 11): CNN achieves 65%+ CIFAR-10 accuracy
3. 'I Built GPT' (Module 16): Generate Python functions from natural language

CONFIGURATION SYSTEM:
- Created dedicated milestones/ directory
- Added milestones.yml for consistent configuration
- Added comprehensive README with implementation philosophy
- Updated milestone system to load from YAML config
- Proper module exercise tracking and requirements

IMPROVED USER EXPERIENCE:
- Fixed milestone count displays (0/3 instead of 0/5)
- Updated timeline views for 3 milestones
- Maintained all existing CLI functionality
- Better error handling and fallback configs

Each milestone now represents a major capability leap with proper
spacing that honors the substantial work students put into modules.
2025-09-20 22:19:48 -04:00
Vijay Janapa Reddi
ebe46c192d Enhance TinyTorch logo with flame-colored 'tiny' letters
- Change 'tiny' letters to bold orange1 for flame effect
- Simplify flame display to two bookend flames framing TORCH
- Improve color harmony between tiny letters and ASCII art
2025-09-20 21:16:07 -04:00
Vijay Janapa Reddi
6739059038 Implement Phase 1: Core milestone system architecture
- Add complete MilestoneSystem class with 5 epic milestones
- Integrate milestone detection into module completion workflow
- Implement milestone CLI commands (status, timeline, test, demo)
- Add milestone progress tracking and storage (.tito/milestones.json)
- Create epic celebration system for milestone unlocks
- Register milestone commands in main CLI

Features:
- 5 milestones: Basic Inference → Computer Vision → Full Training → Advanced Vision → Language Generation
- Visual progress tracking with Rich library
- Module completion triggers milestone evaluation
- Epic ASCII art celebrations for achievements
- Timeline views (tree and horizontal progress bar)
- Milestone testing and validation

The milestone system transforms module completion into meaningful
capability achievements that prepare students for ML engineering careers.
2025-09-20 20:42:07 -04:00
Vijay Janapa Reddi
dabb3e1bae Redesign TinyTorch CLI logo with vertical 'tiny' integration
- Create bold ASCII art logo with 'tiny' spelled vertically
- Add flame banner above TORCH for visual impact
- Update tagline to 'Don't import the future. Build it from tensors up.'
- Simplify logo command to show philosophy and meaning
- Remove unused preferences system
- Clean up display logic and improve color scheme

The new design features 'tiny' integrated vertically alongside TORCH,
creating a unique visual identity that reinforces the framework's philosophy
of building from small foundations up to powerful systems.
2025-09-20 19:39:30 -04:00
Vijay Janapa Reddi
9a5dfed81e Add gamified capability showcase system with module completion integration
- Implement complete capability showcase system (11 demonstrations)
- Add auto-run showcases after successful module completion
- Create interactive launcher for easy showcase navigation
- Integrate with tito module complete workflow
- Add user preference system for logo themes
- Showcase student achievements without requiring additional work
- Demonstrate real ML capabilities from tensors to TinyGPT
- Use Rich terminal UI for beautiful visualizations
2025-09-19 18:17:02 -04:00
Vijay Janapa Reddi
45bbbd7837 Fix Rich formatting display in TITO logo commands
- Fixed logo.py to use Rich Text objects instead of markup strings
- Fixed console.py print_ascii_logo to properly handle Rich markup
- Rich formatting codes like [dim] and [orange1] now display as actual formatting
- All logo variants (simple, full, animated, bright theme) now work correctly
- Text objects constructed manually to properly apply styling
- Verified with testing: markup no longer shows as literal text
2025-09-19 18:15:50 -04:00
Vijay Janapa Reddi
22b10c0309 Add progressive demo system with repository reorganization
Implements comprehensive demo system showing AI capabilities unlocked by each module export:
- 8 progressive demos from tensor math to language generation
- Complete tito demo CLI integration with capability matrix
- Real AI demonstrations including XOR solving, computer vision, attention mechanisms
- Educational explanations connecting implementations to production ML systems

Repository reorganization:
- demos/ directory with all demo files and comprehensive README
- docs/ organized by category (development, nbgrader, user guides)
- scripts/ for utility and testing scripts
- Clean root directory with only essential files

Students can now run 'tito demo' after each module export to see their framework's
growing intelligence through hands-on demonstrations.
2025-09-18 17:36:32 -04:00
Vijay Janapa Reddi
37af2174f3 Enhance tito export system with virtual environment support and validation
Improvements:
- Use project virtual environment jupytext for consistent conversion
- Add comprehensive notebook integrity validation with cell counting
- Provide detailed export progress tracking and error reporting
- Include JSON structure validation for generated notebooks

These enhancements ensure reliable .py → .ipynb conversion workflow
and catch conversion issues early in the development process.
2025-09-18 16:42:05 -04:00
Vijay Janapa Reddi
bb9021f2ac Fix tito test framework to use return codes instead of output parsing
Root cause: Test framework was incorrectly parsing  symbols in educational
output as test failures, causing false negatives on working modules.

Changes:
- Focus on subprocess return codes (0 = success) as definitive test result
- Remove flawed output pattern matching that misinterpreted educational symbols
- Maintain proper error reporting for actual execution failures

Result: All 16 modules now correctly pass tests when they execute successfully,
eliminating false negative test failures.
2025-09-18 16:41:54 -04:00
Vijay Janapa Reddi
c2c32db768 Improve Jupyter Book styling and configuration
- Replace ugly gray background with clean white theme
- Add proper logo styling and configuration
- Update book chapters from module READMEs
- Add educational-ml-docs-architect agent
- Clean up custom CSS for better readability
- Configure logo.png in correct location
- Update tito book command with proper chapters
2025-09-18 09:48:01 -04:00
Vijay Janapa Reddi
3883c369c4 Add tito grade command for simplified NBGrader interface
Implement comprehensive grading workflow wrapped behind tito CLI:
• tito grade setup - Initialize NBGrader course structure
• tito grade generate - Create instructor version with solutions
• tito grade release - Create student version without solutions
• tito grade collect - Collect student submissions
• tito grade autograde - Automatically grade submissions
• tito grade manual - Open manual grading interface
• tito grade feedback - Generate student feedback
• tito grade export - Export grades to CSV

This allows users to only learn tito commands without needing to
understand NBGrader's complex interface. All grading functionality
is accessible through simple, consistent tito commands.
2025-09-17 19:22:02 -04:00
Vijay Janapa Reddi
5386b58e07 Implement interactive ML Systems questions and standardize module structure
Major Educational Framework Enhancements:
• Deploy interactive NBGrader text response questions across ALL modules
• Replace passive question lists with active 150-300 word student responses
• Enable comprehensive ML Systems learning assessment and grading

TinyGPT Integration (Module 16):
• Complete TinyGPT implementation showing 70% component reuse from TinyTorch
• Demonstrates vision-to-language framework generalization principles
• Full transformer architecture with attention, tokenization, and generation
• Shakespeare demo showing autoregressive text generation capabilities

Module Structure Standardization:
• Fix section ordering across all modules: Tests → Questions → Summary
• Ensure Module Summary is always the final section for consistency
• Standardize comprehensive testing patterns before educational content

Interactive Question Implementation:
• 3 focused questions per module replacing 10-15 passive questions
• NBGrader integration with manual grading workflow for text responses
• Questions target ML Systems thinking: scaling, deployment, optimization
• Cumulative knowledge building across the 16-module progression

Technical Infrastructure:
• TPM agent for coordinated multi-agent development workflows
• Enhanced documentation with pedagogical design principles
• Updated book structure to include TinyGPT as capstone demonstration
• Comprehensive QA validation of all module structures

Framework Design Insights:
• Mathematical unity: Dense layers power both vision and language models
• Attention as key innovation for sequential relationship modeling
• Production-ready patterns: training loops, optimization, evaluation
• System-level thinking: memory, performance, scaling considerations

Educational Impact:
• Transform passive learning to active engagement through written responses
• Enable instructors to assess deep ML Systems understanding
• Provide clear progression from foundations to complete language models
• Demonstrate real-world framework design principles and trade-offs
2025-09-17 14:42:24 -04:00
Vijay Janapa Reddi
38900f3f72 Implement Package Manager integration testing system
Features:
- Module-level integration tests for immediate validation
- Two-tier validation: integration tests + checkpoint tests
- Quick package validation after every module completion
- Comprehensive integration test suite for all modules
- Package Manager coordination and test running

Two-Tier System:
1. Integration Test (Package Manager) - "Module works in package"
   - Quick validation (< 1 second)
   - Import validation and basic functionality
   - No conflicts with other modules

2. Checkpoint Test (existing) - "Complete capability unlocked"
   - Comprehensive validation (2-10 seconds)
   - End-to-end workflows and multi-module capabilities
   - Major milestone achievements

CLI Workflow:
- tito module complete 02_tensor
- → Export + Integration test + Checkpoint test
- → Two-tier results with different messaging
- → Immediate feedback + capability celebrations

Integration:
- 15 module integration tests covering complete course
- Package health validation and dependency checking
- Clean separation from checkpoint capability testing
- Professional Package Manager workflow
2025-09-16 21:32:08 -04:00
Vijay Janapa Reddi
27f1b03398 Add automatic post-module integration testing workflow
Features:
- New `tito module complete <module>` command for full workflow
- Enhanced `tito export --test-checkpoint` for optional testing
- Automatic checkpoint tests after successful module exports
- Module-to-checkpoint mapping for 16 checkpoints
- Progress celebration and next step guidance
- Clear error handling and recovery guidance

Workflow:
- Student completes module → runs tito module complete
- System exports module → runs integration test → shows progress
- Immediate feedback on capability advancement
- Smart suggestions for next learning steps

Integration:
- Maps each module to corresponding checkpoint capability
- Provides Rich CLI celebration when checkpoints achieved
- Seamless integration with existing checkpoint system
- Maintains backward compatibility with existing commands
2025-09-16 21:15:03 -04:00
Vijay Janapa Reddi
8410023864 Implement comprehensive checkpoint system with CLI integration
Features:
- 16 checkpoint test suite validating ML systems capabilities
- Integration tests covering complete learning progression
- Rich CLI progress tracking with visual timelines
- Capability-driven assessment from environment to production

Checkpoints:
- Environment setup through full ML system deployment
- Each checkpoint validates integrated functionality
- Progressive capability building with clear success criteria
- Professional CLI interface with status/timeline/test commands
2025-09-16 21:02:11 -04:00
Vijay Janapa Reddi
c834e7a206 Rename milestone to checkpoint system with enhanced Rich CLI visualizations
Major changes:
- Renamed entire system from "milestone" to "checkpoint" for academic framing
- Checkpoints are now positioned as academic progress markers in learning journey
- Implemented enhanced Rich CLI timeline with progress bars and connecting lines
- Added overall progress tracking (16/16 modules = 100%)

Enhanced timeline visualization:
- Horizontal view shows progress bar with filled/unfilled segments
- Visual connecting lines between checkpoints showing completion status
- Color-coded progress: green (complete), yellow (in-progress), dim (future)
- Percentage indicators for each checkpoint and overall progress

CLI improvements:
- `tito checkpoint status` - Shows overall and per-checkpoint progress
- `tito checkpoint timeline --horizontal` - Rich visual progress line
- `tito checkpoint timeline` - Vertical tree view with module details
- Better progress indicators with filled bars and connecting lines

Documentation updates:
- Renamed milestone-system.md to checkpoint-system.md
- Updated all references from milestone to checkpoint terminology
- Emphasized academic checkpoint philosophy and progress markers
- Added descriptions of new Rich CLI visualizations

Benefits:
- More academic framing aligns with educational context
- Visual progress bars provide immediate feedback on learning journey
- Checkpoint terminology is more familiar to students
- Rich CLI visualizations make progress tracking engaging
2025-09-16 13:27:43 -04:00
Vijay Janapa Reddi
09a3af88b1 Implement comprehensive milestone system for capability-driven learning
Features implemented:
- Complete milestone tracking system with Foundation → Architecture → Training → Inference → Serving progression
- Rich CLI visualization with status, timeline (horizontal/vertical), and progress tracking
- Ticker-based granular progress within each milestone showing module completion
- Comprehensive documentation explaining the pedagogical approach and system benefits
- Integration with existing tito CLI infrastructure and module detection

Key capabilities:
- `tito milestone status` - shows current progress and capabilities unlocked
- `tito milestone timeline` - visual progress timeline with multiple views
- `tito milestone test/unlock` - placeholder for future capability testing
- Automatic module detection and progress calculation
- Clear capability statements for each milestone achievement

Benefits:
- Transforms learning from "completing modules" to "building capabilities"
- Provides clear motivation through visual progress and capability unlocks
- Aligns with real ML engineering workflow: Foundation → Architecture → Training → Inference → Serving
- Gives students concrete sense of progress toward complete ML framework
2025-09-16 13:15:13 -04:00
Vijay Janapa Reddi
aad6b7e4f6 Integrate NBGrader with TinyTorch and enhance status checking
- Fix NBGrader configuration to use proper assignments/ directory structure
- Update NBGrader commands to work with TinyTorch modules in modules/source/
- Initialize complete NBGrader workflow: generate -> release -> collect -> autograde
- Add virtual environment setup with all required dependencies (numpy, matplotlib, pytest, nbgrader, rich, networkx)
- Integrate comprehensive status checking into tito CLI hierarchy (tito/core/status_analyzer.py)
- Remove standalone status scripts - everything now unified under tito commands
- Provide end-to-end tested workflow for educational assignment management

Tested functionality:
- tito module status --comprehensive (full system health dashboard)
- tito nbgrader init/generate/release/status (complete assignment workflow)
- Virtual environment with proper dependency management
- Professional CLI architecture with no standalone scripts
2025-09-16 02:30:49 -04:00
Vijay Janapa Reddi
7fb1e88311 Integrate comprehensive status checker into tito CLI architecture
- Extract status analysis logic from standalone script into tito/core/status_analyzer.py
- Refactor tito/commands/status.py to support both basic and comprehensive modes
- Add --comprehensive flag for full system health dashboard
- Comprehensive analysis includes environment health, module compliance, and actionable insights
- Remove standalone tinytorch_status_checker.py script

Users can now run 'tito module status --comprehensive' for complete system analysis.
2025-09-16 02:12:32 -04:00
Vijay Janapa Reddi
7b0cfd2bb9 Complete fix for tito module view command
- Added modules_dir to CLIConfig (alias for assignments_dir)
- Made environment validation warning-only to allow development
- Command now works: generates notebooks and launches Jupyter Lab
- Tested successfully with 'tito module view 02_tensor'

The view command is fully functional for interactive development.
2025-09-15 19:08:10 -04:00
Vijay Janapa Reddi
b1fe727c20 Fix tito module view command registration
- Added ViewCommand import to module.py
- Registered view as a valid subcommand
- Added view command to subparser and execution flow
- Updated help text with view command examples

The command now properly appears in 'tito module --help' and can be executed.
2025-09-15 19:06:01 -04:00
Vijay Janapa Reddi
91126f64c1 Update Module Developer agent and add Module 02 restructure
- Enhanced Module Developer agent with balance philosophy
  - Preserve educational content while adding structure
  - Keep Build→Use→Understand flow
  - Maintain verbose but valuable explanations

- Created restructured Module 02 (Tensor)
  - Added 5 C's framework as enhancement not replacement
  - Preserved ALL educational content
  - Separated implementation from testing
  - Added comparison report showing 100% content preservation

- Added TITO CLI Developer agent for CLI enhancements
- Added CLAUDE.md with git best practices
- Added tito module view command (in progress)
- Generated setup_dev notebook
2025-09-15 19:03:09 -04:00