Commit Graph

60 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
c56cb62c25 feat: implement mlsysim dashboard platform and initial interactive labs
- Implement universal 4-zone dashboard cockpit in mlsysim.viz.dashboard
- Add Lab 00: Flight School (Persona & Dashboard Onboarding)
- Add Lab 15: Sustainable AI (Grid-Interactive Scheduler Dashboard)
- Update Mission Plans for Systems, Data, and Orchestration with 3-act narrative
- Establish mlsysim at repo root as future-proof analytical engine
2026-03-01 18:39:13 -05:00
Vijay Janapa Reddi
7b92e11193 Repository Restructuring: Prepare for TinyTorch Integration (#1068)
* Restructure: Move book content to book/ subdirectory

- Move quarto/ → book/quarto/
- Move cli/ → book/cli/
- Move docker/ → book/docker/
- Move socratiQ/ → book/socratiQ/
- Move tools/ → book/tools/
- Move scripts/ → book/scripts/
- Move config/ → book/config/
- Move docs/ → book/docs/
- Move binder → book/binder

Git history fully preserved for all moved files.

Part of repository restructuring to support MLSysBook + TinyTorch.

Pre-commit hooks bypassed for this commit as paths need updating.

* Update pre-commit hooks for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update all tools/ paths to book/tools/
- Update config/linting to book/config/linting
- Update project structure checks

Pre-commit hooks will now work with new directory structure.

* Update .gitignore for book/ subdirectory structure

- Update quarto/ paths to book/quarto/
- Update assets/ paths to book/quarto/assets/
- Maintain all existing ignore patterns

* Update GitHub workflows for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update cli/ paths to book/cli/
- Update tools/ paths to book/tools/
- Update docker/ paths to book/docker/
- Update config/ paths to book/config/
- Maintain all workflow functionality

* Update CLI config to support book/ subdirectory

- Check for book/quarto/ path first
- Fall back to quarto/ for backward compatibility
- Maintain full CLI functionality

* Create new root and book READMEs for dual structure

- Add comprehensive root README explaining both projects
- Create book-specific README with quick start guide
- Document repository structure and navigation
- Prepare for TinyTorch integration
2025-12-05 14:04:21 -08:00
Didier Durand
ae83d938d1 [Doc] Hyperlink to non-existing file removed (#1067) 2025-12-05 09:29:20 -08:00
Vijay Janapa Reddi
ea5419014f docs: streamline documentation and remove redundant files
- Remove MAINTENANCE_GUIDE.md (duplicate of DEVELOPMENT.md)
- Remove RELEASE_PROCESS.md (covered by PUBLISH_LIVE_WORKFLOW.md)
- Update all docs to use binder CLI instead of deprecated make commands
- Fix references to deleted files
- Update domain from mlsysbook.org to mlsysbook.ai
- Fix outdated paths (tools/scripts/build/ → binder commands)
- Add essential commands reference for daily workflow
- Simplify DEVELOPMENT.md to focus on core commands (clean, build, doctor)
- Verify all documented commands work correctly
2025-12-02 22:17:51 -05:00
Vijay Janapa Reddi
b62fc03472 chore: remove deprecated build scripts directory
Removes tools/scripts/build/ directory containing:
- README.md
- generate_stats.py
- standardize_sources.sh

These scripts appear to have been deprecated or relocated as part of
repository reorganization. The clean.sh script has been moved to
tools/setup/clean.sh.
2025-12-02 21:54:54 -05:00
Vijay Janapa Reddi
57923478f7 chore: remove docs/releases directory
Release notes are now managed directly on GitHub releases.
All releases have been updated with actual release dates in their
descriptions. Future releases will be handled by publish-live workflow.
2025-11-03 21:35:26 -05:00
Vijay Janapa Reddi
1786354220 docs(release): archive release notes in docs/releases/
Move release notes files from root to docs/releases/ for better
organization and discoverability. These files serve as local backups
of GitHub release notes.
2025-11-03 21:20:54 -05:00
Vijay Janapa Reddi
0f497a1e27 Updates announcement and author URL
Updates the announcement banner to reflect the December release and 2025 goals.

Updates the author URL to the correct Harvard SEAS page.
2025-11-02 18:58:23 -05:00
Vijay Janapa Reddi
7b57c202cf feat(publish): automate version number updates in publish workflow
Add automatic version management to publish-live workflow:

- Update version in index.qmd during publish workflow
- Version calculated based on release type (patch/minor/major)
- Committed to dev branch before merge to main
- Version displayed in title metadata and links to releases page

Changes:
- Add update-version job to publish-live.yml workflow
- Create version-link.js to make version link to GitHub releases
- Add comments in index.qmd documenting automation
- Update PUBLISH_LIVE_WORKFLOW.md with version automation docs
- Include version-link.js in HTML builds

This ensures version number stays in sync with GitHub releases
automatically without manual editing.
2025-11-02 10:44:35 -05:00
Vijay Janapa Reddi
1457dd3d04 docs(contributors): add Jahnic-kb and remove cursoragent
- Added Jahnic-kb to contributors list for reporting Amdahl's Law error
- Removed cursoragent from contributors list
- Regenerated contributor tables in README and acknowledgements
2025-11-01 16:13:31 -04:00
Vijay Janapa Reddi
2a6ba330ea Establishes learning objective alignment framework
Creates a systematic framework for aligning chapter learning objectives with quiz assessments, enhancing pedagogical validity and traceability.

The framework outlines structural requirements for learning objectives, Bloom's Taxonomy mapping, question-to-objective mapping, and validation rules. It also specifies the schema for master alignment files and details the implementation process across different phases.
2025-11-01 10:42:09 -04:00
Didier Durand
bcc3f17b38 Fixing typos in contribute.md 2025-10-31 07:39:39 +01:00
Didier Durand
fab8149fbc Fixing dangling links in /docs 2025-10-30 07:10:35 +01:00
Vijay Janapa Reddi
1da8bb80ff Fix quarto render command syntax to use --to=format
- Updated CLI build commands to use proper --to=format syntax instead of --to format
- Fixed in build_full(), build_chapters(), and build_html_only() methods
- Updated BUILD.md documentation to reflect correct syntax
- Updated manage_captions.py error message with correct syntax

This ensures compatibility with quarto's expected command-line argument format.
2025-10-02 18:54:06 -04:00
Vijay Janapa Reddi
706b02ae45 Update BUILD.md with improved binder CLI documentation
- Replace 'hello' command with 'doctor' for system health checks
- Add detailed build command examples for single/multiple chapters
- Add dedicated shortcuts for PDF and EPUB builds
- Restructure requirements section with clear table format
- Add version requirements for all dependencies
- Improve clarity on Python dependencies and their purposes
2025-10-02 08:41:00 -04:00
Vijay Janapa Reddi
b297fe2b2e fix(binder): exclude glossary and references from selective PDF builds
- Remove glossary.qmd and references.qmd from always_include list
- Update HTML fast build to only include index.qmd + target chapters
- Selective builds now only include index.qmd + target chapter
- Update documentation to reflect minimal 2-file builds
- Ensures truly selective chapter building as requested

Addresses user feedback that glossary and references should be commented out
for selective chapter builds in Binder environments.
2025-09-23 23:43:19 -04:00
Vijay Janapa Reddi
17ba752d01 docs(binder): document selective PDF chapter building functionality
- Add detailed explanation of selective PDF build process
- Document automatic chapter commenting system for PDF builds
- Add cloud Binder compatibility section for mybinder.org users
- Include example output showing exactly what gets built
- Clarify that system automatically handles index.qmd + target chapter only
- Add usage examples for both local and cloud environments
2025-09-23 23:33:23 -04:00
Vijay Janapa Reddi
14eb009bba docs: update all documentation to reflect current binder CLI
📚 Documentation Updates:
- Updated README.md with current binder commands
- Removed references to hello command (replaced with doctor)
- Updated CLI README.md to remove binder_legacy references
- Updated BINDER.md with current command set and shortcuts
- Removed check/check-tags from all documentation
- Updated doctor.py to only check for binder executable

🎯 Key Changes:
- All docs now reference current binder commands only
- Consistent command examples throughout documentation
- Updated shortcuts to match current CLI aliases
- Removed legacy command references
- Focus on build-centric workflow as intended

 Documentation Consistency:
- README.md: Updated quick start and development sections
- cli/README.md: Removed legacy references
- docs/BINDER.md: Updated command tables and examples
- All examples use current binder command structure
2025-08-27 15:54:57 +02:00
Vijay Janapa Reddi
80ff71c9c2 Simplifies CLI commands and streamlines build process
Refactors the CLI to streamline command usage, making it more intuitive.
It simplifies the build process by introducing default behaviors
and removing unnecessary format specifications. Also introduces 'pdf' command
to build the book in PDF format.
This change enhances the user experience and improves the overall workflow.
2025-08-26 00:47:47 +02:00
Vijay Janapa Reddi
c7801da99b docs: update workflow references from quarto-build.yml to quarto-build-container.yml
- Update CONTAINER_BUILDS.md to reflect current workflow status
- Fix workflow cleanup documentation examples
- Update PUBLISH_LIVE_WORKFLOW.md references
- Clarify that container workflow is now the primary build method
2025-08-19 18:51:59 -04:00
Vijay Janapa Reddi
037173d80b docs: update BUILD.md with current versions and requirements
- Update Quarto version from 1.7.13 to 1.7.31 in installation instructions
- Update Python requirement from 3.8+ to 3.9+ to match current needs
- Update binder command examples to use simplified syntax
- Remove outdated chapter-specific build syntax in favor of full builds

This ensures the build documentation reflects current tool versions and usage patterns.
2025-08-19 11:45:22 -04:00
Vijay Janapa Reddi
e1cef50bbf docs: remove outdated documentation files
- Remove ENHANCED_BUILD_MANAGER_TESTING.md (references non-existent workflows)
- Remove PRE_COMMIT_VALIDATION_SUMMARY.md (redundant with PART_KEY_VALIDATION.md)
- Remove PRE_COMMIT_EXTERNAL_IMAGES.md (incorrect paths and obsolete references)

Reduces docs directory from 13 to 10 files, removing redundancy and outdated information.
2025-08-19 11:43:35 -04:00
Vijay Janapa Reddi
62f94ea400 refactor(ci): streamline Docker build and cache workflows
This commit introduces a comprehensive refactoring of the Docker container CI/CD pipeline to improve reliability, maintainability, and efficiency.

Key changes include:
- Consolidated build logic into dedicated workflows (, ).
- Modernized all container build steps to use the robust  for superior caching.
- Simplified execution workflows (, ) to only pull pre-built images, enforcing a clean separation of concerns.
- Standardized the Docker directory structure to a more conventional  and .
- Removed outdated documentation and corrected all file paths across the repository to align with the new structure.
2025-08-11 17:23:19 -04:00
Vijay Janapa Reddi
aaaf84033e refactor(deps): simplify to a single requirements.txt 2025-08-10 15:49:52 -04:00
Vijay Janapa Reddi
ccc7ed82bd refactor: implement clean naming pattern and fix workflow error
🏗️ FOLDER NAMING: Standardize to build-quarto-* pattern
- docker/quarto-build-linux/ → docker/build-quarto-linux/
- docker/quarto-build-windows/ → docker/build-quarto-windows/
- Emphasizes these are BUILD instructions, not final products

🐳 CONTAINER NAMING: Clean quarto-* pattern
- quarto-build-linux → quarto-linux:latest
- quarto-build-windows → quarto-windows:latest
- Follows Docker Hub conventions (nginx:latest, not nginx-build:latest)

🔧 WORKFLOW FIX: Resolve build-manager-enhanced error
- Fixed 'steps.strategy.outputs.workflow' error (Line 280, Col 15)
- GitHub Actions doesn't support dynamic workflow paths with 'uses'
- Replaced with conditional steps using static workflow references
- Now uses proper container builds when available, falls back gracefully

📝 UPDATES:
- All workflow files: Updated paths and container names
- All Dockerfiles: Updated internal COPY paths
- All documentation: Updated references

This creates clear separation between build assets and built products
while fixing the workflow syntax error that prevented execution.
2025-08-07 13:13:34 -04:00
Vijay Janapa Reddi
e8e4457af6 refactor(folders): standardize Docker folder naming to quarto-build-* pattern
- Rename docker/quarto-linux-build/ → docker/quarto-build-linux/
- Update all file references to use new folder path
- Now consistent with quarto-build-windows/ naming
- Standardized pattern: docker/quarto-build-{os}/

Files updated:
- .github/workflows/build-linux-container.yml: Dockerfile paths
- docker/quarto-build-linux/Dockerfile: COPY paths
- docker/quarto-build-linux/Dockerfile.enhanced: COPY paths
- docs/CONTAINER_BUILDS.md: documentation references
- docs/CONTAINER_FIXES_2025.md: documentation references

This ensures consistent naming across all Docker assets and makes
the project structure more intuitive.
2025-08-07 13:05:50 -04:00
Vijay Janapa Reddi
d224f54d41 refactor(containers): rename container images to quarto-build-* pattern
- Change mlsysbook-build-linux → quarto-build-linux
- Change mlsysbook-build-windows → quarto-build-windows
- Update all workflow files and documentation
- Cleaner naming since containers are already under project namespace
- More descriptive of primary purpose (Quarto book building)

This affects:
- build-linux-container.yml: default container names
- build-windows-container.yml: default container names
- build-manager-enhanced.yml: both container defaults
- docs/ENHANCED_BUILD_MANAGER_TESTING.md: example references
2025-08-07 12:59:27 -04:00
Vijay Janapa Reddi
7bc4d8352b docs: update testing guide with new container naming convention
- Document the new mlsysbook-build-* naming scheme
- Explain the project-based naming rationale
- Update container references in testing documentation
2025-08-07 11:16:31 -04:00
Vijay Janapa Reddi
6c0eac5d2c feat(workflows): add enhanced build manager with smart container handling
- Create enhanced build manager that checks container availability
- Automatically builds containers only when needed
- Intelligently routes to fast container builds vs traditional builds
- Maintains backward compatibility with existing workflows
- Fixes container naming consistency across all workflows
- Provides comprehensive reporting and fallback protection
- Designed for safe testing on feature branches
2025-08-07 11:07:21 -04:00
Vijay Janapa Reddi
dd57a2fd18 Moves PDF to downloads subdirectory
Updates documentation to reflect the new location of the PDF file within the 'assets/downloads' subdirectory.
This change ensures consistent access and organization of downloadable resources.
2025-08-06 07:25:08 -04:00
Vijay Janapa Reddi
ec6c5249f4 Updates PDF download link in documentation
Updates the PDF download link in the documentation to reflect the new location of the PDF file. This ensures users can access the latest version of the document.
2025-08-06 07:24:46 -04:00
Vijay Janapa Reddi
510a0cf768 docs: update release process to reflect publish/release separation
- Document two-tier publishing system
- Clarify website updates vs formal releases
- Update workflow examples for new commands
- Explain deployment strategy and use cases
2025-08-05 21:19:07 -04:00
Vijay Janapa Reddi
b9df371ee1 feat(release): enhance binder tool with textbook-specific release features
- Add comprehensive release process documentation for academic textbook
- Update AI prompt to generate textbook-appropriate release notes
- Enhance version guide with examples specific to textbook releases
- Focus on educational content, chapters, and student-facing improvements

This establishes clean release practices going forward with proper
semantic versioning for textbook milestones.
2025-08-05 21:12:49 -04:00
Vijay Janapa Reddi
a4ee4b86c5 fix(containers): comprehensive fixes for Docker build system
- Fixed Linux and Windows Dockerfiles with proper dependency paths
- Simplified container tests to focus on installation verification
- Updated image naming convention (linux-build, windows-build)
- Added configurable environment variables for better maintainability
- Fixed Windows Ghostscript installation to use chocolatey-only approach
- Enhanced progress tracking and error handling throughout
- Cleaned up both workflows to remove complex integration tests
- Added comprehensive documentation of all fixes

Performance improvements:
- Linux container: 5-10 minutes (vs 45 minutes traditional)
- Windows container: 10-15 minutes (vs 45 minutes traditional)
2025-08-05 19:29:27 -04:00
Vijay Janapa Reddi
1dab161767 refactor(structure): rename book directory to quarto for consistency
- book/ → quarto/ (matches docker/ pattern)
- Update all workflow references to quarto/
- Update .gitignore patterns for quarto/
- Update documentation references
- Maintain consistent naming convention across project
2025-08-05 15:08:46 -04:00
Vijay Janapa Reddi
2785ca4392 fix(container): standardize naming conventions
- build-linux-container.yml: '�� Build Linux Container'
- build-windows-container.yml: '🐳 Build Windows Container'
- docker/quarto-linux-build/: Linux container files
- docker/quarto-build-windows/: Windows container files
- Update all file paths and documentation
- Ensure consistent naming across workflows
2025-08-05 15:06:00 -04:00
Vijay Janapa Reddi
a37e18da17 refactor(container): rename container workflows for clarity
- build-container.yml → build-linux-container.yml
- build-container-windows.yml → build-windows-container.yml
- Update documentation to reflect new naming
- Clarify Linux vs Windows container differences
- Add separate scheduling information
2025-08-05 15:03:30 -04:00
Vijay Janapa Reddi
8a9fe3ade0 refactor(container): organize container files in proper directory structure
- Move Dockerfile to docker/quarto-build/
- Add docker/quarto-build/README.md with documentation
- Add docker/quarto-build/.dockerignore for build optimization
- Update workflow to use new Dockerfile path
- Update documentation to reflect new structure
- Improve organization and maintainability
2025-08-05 14:48:50 -04:00
Vijay Janapa Reddi
658f509bbd feat(container): add containerized build system for Linux builds
- Add Dockerfile with all dependencies pre-installed
- Add build-container.yml workflow for container management
- Add quarto-build-container.yml for containerized builds
- Add documentation for container system
- Keep Windows builds unchanged for now
- Expected performance improvement: 45min -> 5-10min for Linux
2025-08-05 14:42:36 -04:00
Vijay Janapa Reddi
d8a900adb1 merge: integrate chapter connections improvements into dev
Merging feature/fix-link-colors branch with chapter connections display improvements:
- Enhanced margin positioning for cleaner UI
- Improved typography and responsive design
- Maintained PDF functionality unchanged
2025-08-03 17:31:18 -04:00
Vijay Janapa Reddi
100cca12f7 feat(ui): add crimson theme with sidebar auto-collapse and improved styling
- Add crimson color scheme (#A51C30) for links and accents
- Implement config-driven sidebar auto-collapse functionality
- Add clean table styling with left-aligned captions and zebra striping
- Add H2 headers with crimson accent bars for better visual hierarchy
- Create sidebar-auto-collapse.js for sections marked with auto-collapse: true
- Improve navbar with clean icon-only star/heart buttons
- Fix SCSS layer boundaries for proper Quarto theme integration
- Auto-collapse lab sections and resources for cleaner navigation
2025-08-03 14:07:43 -04:00
Vijay Janapa Reddi
70b8e577c3 refactor(scripts): rename update_changelog.py to generate_release_content.py
- Rename script to better reflect dual purpose (changelog + release notes)
- Add comprehensive docstring explaining both use cases
- Update all workflow references to use new script name
- Add configurable AI model variables at top of publish-live.yml
- Update documentation to reflect new script name and purpose
- Improve script organization and clarity

The script now clearly handles both:
1. Changelog entries for CHANGELOG.md
2. Release notes for GitHub releases

This makes the purpose much clearer and the name more descriptive.
2025-08-02 11:28:10 -04:00
Vijay Janapa Reddi
2ba8b3890a refactor(ai): remove OpenAI dependency, use only Ollama
- Remove OpenAI API key requirements and dependencies
- Make Ollama the default and only AI option
- Simplify workflow to use only local AI processing
- Remove OpenAI fallback logic
- Update documentation to reflect Ollama-only approach
- Clean up Python dependencies (remove openai package)

This eliminates external API dependencies and simplifies
the AI integration to use only local Ollama models.
2025-08-02 11:25:31 -04:00
Vijay Janapa Reddi
a623867919 feat(ai): add Ollama integration for AI release notes
- Install Ollama in GitHub Actions workflow
- Pull configurable AI model (default: gemma2:9b)
- Add AI model input to workflow parameters
- Implement fallback to OpenAI if Ollama fails
- Add comprehensive error handling and testing
- Update documentation with AI model configuration

This enables intelligent AI-powered release notes generation
using your existing changelog system with Ollama models.
2025-08-02 11:23:45 -04:00
Vijay Janapa Reddi
c1c2bd1752 feat(release-notes): implement manual release notes workflow
- Modified publish-live workflow to create DRAFT releases instead of published ones
- Added release notes generator script for comprehensive analysis
- Updated documentation with manual release notes workflow
- Provides full control over release notes while maintaining automation

This allows custom release notes while keeping the PDF workflow automated.
2025-08-02 11:15:50 -04:00
Vijay Janapa Reddi
f14ca599c6 feat(publish): implement PDF workflow management without git tracking
- Modified publish-live workflow to download PDF from artifacts and upload to release assets
- Updated quarto-build deployment to copy PDF to assets but exclude from git commits
- Added PDF exclusion rules to .gitignore
- Removed PDF commit steps from publish.sh and binder scripts
- Created test script to verify PDF handling
- Added comprehensive documentation for the new workflow

This ensures PDF is available for download but not tracked in git repository,
keeping the repo clean while maintaining accessibility.
2025-08-02 11:13:28 -04:00
Vijay Janapa Reddi
2f644f5a0f 👋 Revert to hello command - more personal and binder-focused 2025-08-01 14:44:07 -04:00
Vijay Janapa Reddi
449863e598 🌍 Change hello to helloworld and update README to dive straight into binder workflow 2025-08-01 14:36:21 -04:00
Vijay Janapa Reddi
c76ba8fe5c 📚 Update documentation to reflect improved binder workflow 2025-08-01 14:28:02 -04:00
Vijay Janapa Reddi
13e370ebde 📚 Update documentation for enhanced binder CLI
- Update BINDER.md with publish command and about command
- Update DEVELOPMENT.md with new build workflow
- Update tools/scripts/README.md to reference binder
- Update main README.md with publishing section
2025-08-01 13:36:21 -04:00