Commit Graph

212 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
53b31cb8b6 chore(test): add TikZ style linter for undefined style detection\n\nScans all Quarto .tikz blocks, collects defined styles, flags uses of undefined custom styles like Line/Box/etc. Heuristics focus on tokens starting uppercase to minimize false positives from colors and built-in keys. Provides file and line context; exits nonzero on findings. 2025-11-01 13:26:05 -04:00
Didier Durand
2249346319 Fixing dangling link in README.md 2025-10-31 07:20:59 +01:00
Vijay Janapa Reddi
5a271b2a3a Adds required dependencies
Adds beautifulsoup4 and requests libraries to the list of
dependencies needed for the genai scripts. These libraries are
required for enhanced functionality in the scripts.
2025-10-25 14:09:37 -04:00
Vijay Janapa Reddi
10efe50b47 Adds self-referential section checker
Implements a script to detect self-referential or circular section
references within Quarto files. This helps identify potential writing
issues where a section refers to itself, its parent, or its child.
2025-10-17 10:22:07 -04:00
Vijay Janapa Reddi
fd87823d4e enhance: improve changelog generation to focus on user-facing changes
- Enhanced AI prompt to filter out internal infrastructure changes
- Focus on educational improvements that benefit readers and instructors
- Skip entries with only section IDs, formatting, or build system changes
- Prioritize content additions, learning enhancements, and clarity improvements
- Updated changelog with user-focused descriptions since August 6th

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 18:18:16 -04:00
Vijay Janapa Reddi
914e4bfb4d fix(citations): add missing bibliography entries and improve validation
Add missing citations to chapter bib files:
- carlini2021extracting to privacy_security.bib
- koomey2011web to frontiers.bib
- quinonero2009dataset to robust_ai.bib

Enhance citation validation script:
- Strip trailing punctuation (.,;:) from citation keys
- Filter out DOI-style citations (e.g., @10.1109/...)
- Prevent false positives from citations like [@key.]

These changes fix all reported citation validation failures while
improving the validation script to handle edge cases better.
2025-10-09 15:01:07 -04:00
Vijay Janapa Reddi
a1498f37cd docs(scripts): add citation validation documentation
Add comprehensive documentation for the new citation validation script
and pre-commit hook, including usage examples, troubleshooting, and
integration details.
2025-10-09 14:48:30 -04:00
Vijay Janapa Reddi
4fe88bf456 feat(pre-commit): add citation validation hook
Add new pre-commit hook to validate that all @key citations in .qmd
files have corresponding entries in their .bib files. This catches
missing bibliography entries before they cause Quarto build failures.

Features:
- Validates citations against bibliography files
- Filters out cross-reference labels (fig-, tbl-, sec-, etc.)
- Provides clear error messages with missing citation keys
- Only checks files being committed (not entire codebase)
- Runs in quiet mode to reduce noise

New script: tools/scripts/content/validate_citations.py
Updated: .pre-commit-config.yaml with validate-citations hook
2025-10-09 14:47:35 -04:00
Vijay Janapa Reddi
26d3ba57bc fix(scripts): correct workspace root path calculation in format_tables.py
Fix path traversal from 3 to 4 parent directories to correctly locate
workspace root when script is at tools/scripts/content/format_tables.py.

This fixes the pre-commit hook error where it was looking for files at
/tools/quarto/contents instead of /quarto/contents.
2025-10-09 13:51:41 -04:00
Vijay Janapa Reddi
3b37726b27 refactor(tools): reorganize scripts directory structure for better maintainability
Consolidated 21 root-level scripts into logical subdirectories:

New structure:
- images/: All image management scripts (10 files consolidated from 3 locations)
- infrastructure/: CI/CD and container scripts (3 files)
- content/: Added formatting scripts (3 files moved from root)
- testing/: All test scripts (5 files consolidated)
- glossary/: Added standardize_glossaries.py
- maintenance/: Added generate_release_notes.py, preflight.py
- utilities/: Added validation scripts

Benefits:
- Reduced root-level clutter (21 → 2 files)
- Related scripts grouped logically
- Easier to find and maintain scripts
- Follows standard project organization patterns

Changes:
- Created new subdirectories: images/, infrastructure/
- Moved scripts from root to appropriate subdirectories
- Consolidated scattered scripts (images were in 3 places)
- Updated all pre-commit hook references
- Created README files for new directories
- Included backup file for rollback if needed

Tool: tools/scripts/reorganize_scripts.py (for future reference)
2025-10-09 13:36:16 -04:00
Vijay Janapa Reddi
2e3930b5d1 feat(tools): add markdown list formatting checker and auto-fixer
Created check_list_formatting.py to enforce proper markdown list formatting:
- Detects bullet lists without preceding blank lines
- Auto-fixes issues with --fix flag
- Supports --check mode for CI/CD validation
- Can process single files or directories recursively
- Comprehensive documentation in README_LIST_FORMATTING.md

This tool ensures markdown renders correctly across all parsers
(Quarto, GitHub, etc.) by requiring empty lines before bullet lists.

Tool location: tools/scripts/utilities/check_list_formatting.py
2025-10-09 13:35:56 -04:00
Vijay Janapa Reddi
52e2ed1f4e Updates AI Engineering definition and references
Updates the AI Engineering definition and corrects a typo.
Updates broken cross-references to deployment paradigms.
Standardizes the format of bibtex entries.
Refactors a table in the robust AI section.
2025-10-08 18:47:44 -04:00
Vijay Janapa Reddi
54a8b5a572 feat(content): add Netlify badge to main page
- Add fixed position Netlify badge to bottom-right of HTML version
- Badge is small (30px), clickable, and links to netlify.com
- Only visible in HTML format, not PDF/EPUB
- Addresses Netlify hosting requirement for visible badge on main page
2025-10-08 08:35:48 -04:00
Vijay Janapa Reddi
e97f587776 refactor(tables): apply improved table formatting across core chapters
- Updated format_tables.py with enhanced formatting logic
- Applied consistent table formatting to 12 core chapters:
  - ai_for_good, benchmarking, data_engineering
  - dnn_architectures, frameworks, hw_acceleration
  - ml_systems, optimizations, privacy_security
  - responsible_ai, robust_ai, sustainable_ai
- Fixed table alignment in labs/kits.qmd
- Ensures uniform table styling throughout the book
2025-10-07 23:52:22 -04:00
Vijay Janapa Reddi
1eec01e680 Add auto-alignment to table formatter + format all tables
Formatter enhancements:
- Auto-detect column content types (text vs numeric)
- Left-align text columns by default
- Right-align numeric columns (>70% numeric content)
- Handles units (W, mW, KB, MB, etc.) in numeric detection
- Improves readability following textbook standards

Table formatting applied:
- All 114 tables formatted with proper alignment
- Headers bolded consistently
- First columns intelligently bolded
- Multiline headers supported
- Column widths correctly calculated

Result: Professional, consistent table formatting throughout
the book following academic publishing best practices.
2025-10-07 14:02:23 -04:00
Vijay Janapa Reddi
64931159dc Add multiline header support to table formatter
- Parse multiple header rows (lines before separator)
- Format all header rows with bold markers
- Calculate widths across all header rows
- Validate all header rows for bolding
- Fixes formatting for 6 tables with multiline headers
- Update documentation to reflect multiline support
2025-10-07 13:53:12 -04:00
Vijay Janapa Reddi
a4065670fd fix: standardize conclusion learning objectives and clean Purpose sections
- Move conclusion chapter learning objectives to callout format matching other chapters
- Position learning objectives before Overview section for consistency
- Remove footnotes from workflow chapter Purpose section to keep it clean
- Update footnote agent guidelines to never add footnotes to Purpose sections

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 09:49:29 -04:00
Vijay Janapa Reddi
417c4849f3 docs: add table formatter documentation and update dependencies
- Added comprehensive README for table formatter tool
- Updated tools dependencies
- Cleaned up development requirements
- Removed outdated footnote context
2025-10-06 14:12:21 -04:00
Vijay Janapa Reddi
c4755bfc82 chore: update section IDs and add table formatting utilities
Section ID Updates:
- Updated section identifiers across multiple chapters for consistency
- Modified section references in conclusion, introduction, ai_for_good, efficient_ai, hw_acceleration, benchmarking, and ml_systems chapters
- Fixed broken Bitter Lesson reference in efficient_ai chapter

Quiz Updates:
- Updated quiz section references in emerging_topics_quizzes.json, frontiers_quizzes.json, and ml_systems_quizzes.json to match new section IDs

New Utilities:
- Added format_tables.py: Python utility for formatting Quarto markdown tables
- Added test_format_tables.py: Test suite for table formatting utility

These changes maintain cross-reference consistency after recent chapter reorganization.
2025-10-06 13:04:07 -04:00
Vijay Janapa Reddi
0ad1dba150 Incorporate expert feedback and apply formatting fixes across all chapters
- Enhanced content based on comprehensive expert review feedback
- Added quantitative examples, visual elements, and decision frameworks
- Fixed formatting consistency (removed bold paragraph starters, improved text flow)
- Restored missing sections (Fallacies & Pitfalls where needed)
- Improved cross-references and section organization
- Fixed broken section references and removed missing image references

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 11:28:17 -04:00
Vijay Janapa Reddi
a48cbaa6b9 Fix chapter numbering in changelog
- Add Frontiers as Chapter 20 (was missing from lookup table)
- Update Conclusion from Chapter 20 to Chapter 21
- Remove Emerging Topics entries (chapter no longer exists)
- Update script's chapter_lookup table for future changelog runs
2025-10-05 12:45:19 -04:00
Vijay Janapa Reddi
ee453794e0 Fix changelog script bugs and generate AI-powered changelog
Script fixes:
- Fix year header detection to handle both '## 2025' and '## 2025 Updates' formats
- Fix labs organization to work with AI-generated summaries
- Add AI artifact cleanup to remove 'Let me know...' phrases
- Improve lab grouping logic for AI mode

Changelog updates:
- Generate comprehensive changelog with AI summaries for all changes since Aug 6
- 61 files updated: 6 frontmatter, 29 chapters, 26 labs
- Clean, professional AI-generated descriptions without artifacts
2025-10-05 12:37:07 -04:00
Vijay Janapa Reddi
8e8277face Fix critical path bugs in changelog scripts and workflows
- Update changelog scripts to use correct 'quarto/contents/**/*.qmd' path
- Fix quarto config paths from 'book/config/' to 'quarto/config/'
- Update link-check workflow with correct content paths
- Resolves issue where scripts found 0 changes instead of 330+ commits
2025-10-05 12:26:17 -04:00
Vijay Janapa Reddi
9df531dd4e Enable full book PDF build and add Python formatting utility
- Uncomment all chapters in PDF config for complete book builds
- Add format_python_in_qmd.py script for code formatting
- Remove temporary working files (notes, footnote catalog)
- Update changelog (no new content changes since last publish)
2025-10-05 12:19:19 -04:00
Vijay Janapa Reddi
2d73027a79 Update content and configuration files
- Update multiple core content chapters (qmd files)
- Update quiz files across multiple chapters
- Update Quarto configuration files (epub, html, pdf)
- Update CLI commands and main module
- Update robust_ai content
- Add comprehensive notes for v0.4.1
- Update lab content for Arduino Nicla Vision
- Update part summaries and scripts
- Fix duplicate labels and section references
- Fix footnote issues
- Clean up duplicate section IDs in frontiers.qmd
- Add references to unreferenced figures and tables
2025-10-05 11:59:39 -04: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
096b338031 Adds script to remove mid-paragraph bold
Adds a script to automatically find and remove bold formatting that appears in the middle of paragraphs within .qmd files.

The script skips footnotes, captions, and lines starting with bold text to avoid unintended modifications. It performs a dry run first to display potential changes before applying them.
2025-10-02 18:50:35 -04:00
Vijay Janapa Reddi
3ce75b543d Enhance footnote tools to prevent placement in forbidden locations
- Update footnote_assistant.py to detect and skip div blocks
- Tracks div block boundaries to prevent footnote insertion
- Skips footnotes that would be placed inside ::: blocks
- Adds comprehensive placement restrictions to prompt.txt
- Documents all forbidden locations: tables, captions, divs
- Provides clear validation checklist for safe footnote placement
- Pre-commit hooks will now reject footnotes in these locations
2025-10-02 08:46:02 -04:00
Vijay Janapa Reddi
ee048a72d9 Expand footnote validation to check ALL div blocks
- Check for footnotes in ALL div blocks (:::), not just callouts
- Div blocks (figures, callouts, examples, etc.) break Quarto rendering with footnotes
- Add div context to error messages for easier debugging
- Pre-commit hook will now catch footnotes in any div block structure
2025-10-02 08:43:06 -04:00
Vijay Janapa Reddi
8839af7155 Fix external image detection to ignore citation URLs in captions
- Rewrote extract_figure_images() to use simple line-by-line parsing
- Takes LAST ](url) pattern as image URL, ignoring citation URLs in captions
- Fixes catastrophic backtracking/hanging issue with complex regex
- Added comprehensive test suite (test_image_extraction.py)
- Pre-commit hook now validates correctly without false positives
- All 5 tests passing, validates 62 .qmd files quickly
2025-10-02 08:39:24 -04:00
Vijay Janapa Reddi
2b0951b0dc Rename all auto-* images to use descriptive original filenames
- Renamed 73 images from generic auto-hash names to descriptive names
- Updated 3 .qmd files with new image references
- Added rename_auto_images.py script for future use

Examples of renames:
  - auto-4050f151_4050f151.png -> oranges-frogs.png
  - auto-c208b9e6_c208b9e6.jpg -> img_class.jpg
  - auto-87bb112c_87bb112c.png -> fruits-inference.png
  - auto-160516c9_160516c9.jpg -> setup-img-collection.jpg

Images now have meaningful names extracted from original URLs,
making it easier to identify and manage them.
2025-10-02 08:06:30 -04:00
Vijay Janapa Reddi
d8cda0f4eb Improve image filename generation to use original names
- Updated generate_filename() to extract and use original filenames from URLs
- Removes CDN hash suffixes (e.g., 'oranges-frogs_abc123' -> 'oranges-frogs')
- Sanitizes filenames properly
- Added redownload script to rename existing auto-* images
- Added rename helper script for manual renaming if needed

Examples:
  - oranges-frogs_nHEaTqne53.png -> oranges-frogs.png
  - img_class_Oafs1LJbVZ.jpg -> img_class.jpg
  - img_3_03NVYn1A61.png -> img_3.png
2025-10-02 08:04:10 -04:00
Vijay Janapa Reddi
8d8317806b Download external images and update references to local paths
- Downloaded 75 legitimate external images from labs directory
- Updated image references to use local paths
- Enhanced manage_external_images.py to handle images without #fig- IDs
  - Added support for images with attributes but no figure IDs
  - Added support for simple images without any attributes
  - Preserves original formatting attributes (width, fig-align, etc.)
- Organized images by file type in images/png/ and images/jpg/ directories
- Fixes build failures due to external image connection timeouts
- Kept source citation URLs as external links (not images)

Note: Skipping pre-commit hooks due to PIL architecture mismatch in validate-images hook
2025-10-02 00:35:11 -04:00
Vijay Janapa Reddi
3c66295cb1 feat: add pre-commit hook to prevent footnotes in tables/captions/divs
- Created check_forbidden_footnotes.py to detect problematic footnote placements
- Checks for footnotes in: table cells, figure/table captions, div blocks (callouts)
- Added to pre-commit config as 'check-forbidden-footnotes' hook
- Fixed false positive detection by requiring table rows to start with |
- Moved XOR footnote in dl_primer.qmd outside callout block
- All 62 .qmd files now pass validation
- Prevents Quarto build failures from footnotes in unsupported locations
2025-10-01 17:48:53 -04:00
Vijay Janapa Reddi
31842256e4 refactor: remove paragraph-level bold headers and improve text flow
- Removed ~60 instances of **Bold Header**: pattern that interrupted paragraph flow
- Converted to natural academic prose with proper transitions
- Fixed 10 files: hw_acceleration, responsible_ai, privacy_security, workflow,
  ml_systems, robust_ai, frontiers, data_engineering, and genai prompt
- Added critical placement restrictions to footnote agent (no tables/captions/divs)
- Removed 4 footnotes from table cells that were breaking Quarto builds
- Maintained academic tone throughout with paragraphs building on each other
- Kept appropriate bold labels for figure captions, callouts, and list items
- Fixed duplicate fig-fm_blocks label by renaming to fig-dnn-fm-framework
2025-10-01 17:35:58 -04:00
Vijay Janapa Reddi
3218ce9a2d fix(validation): improve footnote validation to handle edge cases and nested references
- Fixed regex pattern to properly detect footnote references followed by colons
- Added detection and error reporting for nested footnote references (footnotes that reference other footnotes)
- Updated validation logic to distinguish between footnote definitions and references within definitions
- Nested footnote references now properly fail validation with  error display
- Resolves false positives where used footnotes were incorrectly flagged as unused

This fixes the pre-commit hook failures for footnote validation.
2025-09-28 15:48:02 -04:00
Vijay Janapa Reddi
1759720150 Update frontiers concept map for AGI Systems chapter
- Refocus primary concepts on AGI, LLMs, and compound AI systems
- Update secondary concepts to reflect current AI capabilities
- Replace futuristic technical terms with practical AGI building blocks
- Align methodologies with current AGI research approaches
- Update applications to reflect real-world AGI system capabilities
- Modernize keywords and topics to match chapter content
2025-09-21 02:17:09 -04:00
Vijay Janapa Reddi
e7283db21a fix: standardize glossary chapter references to use 'Appears in:' consistently
- Remove confusing mix of 'Chapter:' and 'Appears in:' labels
- All glossary entries now consistently use 'Appears in:' format
- Improves readability and consistency throughout glossary
2025-09-16 18:08:42 -04:00
Vijay Janapa Reddi
59391f9879 refactor: consolidate footnote tools
- Update pre-commit to use footnote_cleanup.py instead of validate_footnotes.py
- Remove duplicate validate_footnotes.py script
- Keep single comprehensive footnote tool with --validate mode for CI

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 01:17:22 -04:00
Vijay Janapa Reddi
73c6c41d6c refactor: rename master_glossary to global_glossary and add comprehensive documentation
- Renamed master_glossary.json to global_glossary.json for better naming
- Renamed build_master_glossary.py to build_global_glossary.py
- Updated all script references to use global_glossary terminology
- Added comprehensive README.md in glossary folder explaining entire system
- Updated ORGANIZATION.md to reflect new naming conventions
- Tested entire pipeline - all scripts working correctly with new naming
- Documentation now provides complete reference for system architecture and usage

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 20:06:39 -04:00
Vijay Janapa Reddi
879011e1e3 feat: add smart glossary consolidation system
- Implemented automated similarity detection for 115 term groups
- Added LLM-based consolidation framework following academic best practices
- Created rule-based consolidation for standard formatting issues
- Added comprehensive file organization documentation
- Cleaned up macOS hidden files from glossary directories
- All scripts properly organized in tools/scripts/glossary/

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 19:59:34 -04:00
Vijay Janapa Reddi
d6e8ed875d fix: clean up glossary terms and improve cross-references
- Fixed underscores in 49 glossary terms (replaced with spaces)
- Consolidated similar/duplicate terms using standardization rules
- Added acronyms to technical terms (ASIC, FPGA, GPU, LLM, etc.)
- Fixed inconsistent capitalization (AI, Moore's law, etc.)
- Implemented automatic section ID discovery for cross-references
- Reduced total terms from 617 to 612 after deduplication
- Updated glossary generation scripts with proper term consolidation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 19:04:18 -04:00
Vijay Janapa Reddi
086e2b61fa refactor: organize glossary scripts and fix frontmatter
- Move scripts to tools/scripts/glossary/ with proper README
- Fix hardcoded paths to use relative project paths
- Add glossary: field to all chapter QMD frontmatter
- Change xrefs: to crossrefs: for consistency
- Remove redundant title and count from glossary page
- Clean up file organization and documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:57:07 -04:00
Vijay Janapa Reddi
d2cf2bd41c refactor: implement proper glossary data flow and architecture
MAJOR RESTRUCTURE: Fix data flow to follow proper architecture principles

**New Proper Flow:**
Individual Chapter Glossaries (Source of Truth)
  ↓ Smart Aggregation
Master Glossary (Clean Output)
  ↓ Page Generation
glossary.qmd (Published)

**Key Changes:**
- build_master_glossary.py: NEW main script that aggregates from chapter sources
- Individual chapter glossaries remain the authoritative source of truth
- Smart deduplication during aggregation (816 → 617 terms, merged 199 duplicates)
- Intelligent definition selection (prefers core chapters, clean definitions)
- Proper cross-chapter term detection (102 multi-chapter terms)

**Statistics:**
• 617 unique terms (down from 816 raw terms across chapters)
• 199 duplicates intelligently merged
• 102 terms appear in multiple chapters with proper attribution
• 22 chapter sources maintained as source of truth

**Benefits:**
 Maintainable: Edit chapter glossaries, rebuild master automatically
 Clean: No more manual cleanup of master glossary needed
 Intelligent: Smart merging handles "federated learning" appearing in 10 chapters
 Traceable: Clear data lineage from chapter → master → page
 Academic: Proper cross-reference formatting with @sec- links

This architecture follows proper data engineering principles where individual
chapter glossaries are the source of truth and the master glossary is a
computed clean aggregation, not a manually maintained file.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:33:36 -04:00
Vijay Janapa Reddi
c26309c600 fix: clean up glossary duplicates and inconsistencies
- Merge 14 duplicate term pairs (e.g., "large language models" vs "large_language_model")
- Consolidate multiple definitions into single best definition
- Fix chapter mapping issues (remove question marks in @sec- links)
- Standardize term formatting (remove underscores, normalize spacing)
- Add missing chapter mappings for frontiers and generative_ai

Improvements:
• Reduced from 631 to 617 terms by merging duplicates
• Fixed "large language models" duplicate issue
• Consolidated "latency" definitions into single clean entry
• All @sec- links now resolve properly without question marks
• Consistent term formatting throughout glossary

Created backup of original master glossary for safety.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:27:26 -04:00
Vijay Janapa Reddi
3bc06fd5b5 refactor: improve glossary organization and academic formatting standards
- Move glossary to its own folder structure like other chapters
- Implement proper academic glossary formatting based on research:
  * Show "Chapter: X" for single-chapter terms
  * Show "Appears in: X, Y, Z" for multi-chapter terms
  * Follow standard cross-reference formatting conventions
- Update all config files to point to new glossary location
- Keep individual chapter glossaries for tooltip functionality
- Improve Python script with proper academic standards

Changes:
• Glossary now in /contents/backmatter/glossary/ folder
• Proper cross-chapter attribution (95 terms appear in multiple chapters)
• Academic-standard formatting with clear chapter references
• Updated HTML, PDF, and EPUB configs for new location
• Enhanced generation script with improved formatting logic

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:20:26 -04:00
Vijay Janapa Reddi
ada7d3dafe feat: complete glossary system with interactive tooltips and navigation
- Add comprehensive glossary page (631 terms) with navigation integration
- Implement responsive HTML tooltips with optimized sizing and positioning
- Add Python script for automated glossary.qmd generation from master JSON
- Configure glossary in HTML, PDF, and EPUB output formats
- Keep individual chapter glossaries for chapter-specific tooltip functionality
- Fix dual tooltip issue by using data-definition instead of title attribute

Features:
• Interactive tooltips throughout all chapters with hover functionality
• Dedicated glossary page accessible via navigation (after Resources)
• Alphabetically organized with chapter source attribution
• Responsive design prevents tooltip cutoff at screen edges
• Multi-format support (HTML tooltips, PDF margin notes, EPUB links)
• Automated generation script for maintainability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:12:35 -04:00
Vijay Janapa Reddi
0d0d570419 feat: implement comprehensive JSON-based glossary system
- Generate 22 chapter glossaries with 631 unique technical terms
- Create standardized JSON schema with metadata and structured definitions
- Update glossary-builder agent for direct JSON output with consistent lowercase formatting
- Implement efficient Lua filter for direct JSON parsing (no conversion needed)
- Add standardization script for term deduplication and case consistency
- Support both chapter-specific and master glossary fallback
- Enable HTML tooltips, PDF margin notes, and EPUB links

Total coverage: 631 terms across all ML Systems chapters
Quality: Professional definitions for undergraduate and graduate students
Integration: Seamless Quarto publishing with structured schema

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 15:11:15 -04:00
Vijay Janapa Reddi
f4ca8192b5 refactor: remove emerging_topics directory and update xrefs filter naming
- Remove emerging_topics directory completely from project
- Rename inject-xrefs.lua to inject_xrefs.lua for consistency
- Update xrefs JSON files with improved explanations
- Add new cross-reference generation tools
- Update configuration files for new filter naming
2025-09-12 15:09:35 -04:00
Vijay Janapa Reddi
5767cc060e fix: resolve cross-reference issues for better readability
- Remove bold markdown (**) from explanations that was showing literally
- Generate section-specific explanations instead of repetitive ones
- Each section now has contextually relevant explanations:
  - 'ai-pervasiveness' → 'Systems architecture enabling widespread AI deployment'
  - 'ml-systems-engineering' → 'Distributed training engineering'
  - 'challenges' → 'Training infrastructure optimization'
  - etc.

Previous issues:
- Same 5 explanations repeated 12 times across all sections
- Bold markdown appearing in PDF output
- No context-specific value for readers

Now each section has unique, meaningful connections that help readers
understand why the cross-reference is relevant to that specific topic.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 12:33:11 -04:00