Commit Graph

146 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
e2e9095b00 precommit fixes 2026-03-04 13:07:08 -05:00
Vijay Janapa Reddi
501ac92bb1 Adds SVG XML validation hook
Introduces a pre-commit hook to ensure SVG image files are well-formed XML,
preventing potential rendering or processing issues. This leverages `lxml` for
parsing, which has been added as a new dependency.

Corrects missing whitespace between attributes in existing SVG figures to
comply with the new validation requirements.
2026-03-04 11:07:06 -05:00
Vijay Janapa Reddi
f64ba2962c chore: resolve pre-commit warning backlog and stabilize checks
Normalize book prose/style issues across touched chapters and remove remaining structural warnings so validation output is clean and reproducible in CI. Also tighten inline/times-spacing validation behavior to reduce noisy false positives while preserving strict checks.
2026-03-02 19:04:35 -05:00
Vijay Janapa Reddi
49ca6889ca Update pre-commit config 2026-02-26 15:23:01 -05:00
Vijay Janapa Reddi
f6f98266a0 vol2: comprehensive transformation pass (P.I.C.O. refactor, archetypes, hardware trajectories) 2026-02-23 17:38:37 -05:00
Vijay Janapa Reddi
b1d7fa6778 docs: refactor all 134 definitions across Vol 1 & 2 to Platinum Standard template 2026-02-21 18:54:57 -05:00
Vijay Janapa Reddi
e3cc9f7af3 refactor: rename ml_ml_workflow files, consolidate CLI, and clean up scripts
Remove redundant ml_ prefix from ml_workflow chapter files and update all
Quarto config references. Consolidate custom scripts into native binder
subcommands and archive obsolete tooling.
2026-02-13 11:06:28 -05:00
Vijay Janapa Reddi
a0a7f7c658 feat(binder): restructure CLI into check/fix/format hierarchy
Reorganize binder commands into a clean three-verb quality system:

  check   — grouped validation (refs, labels, headers, footnotes,
            figures, rendering) with --scope for granularity
  fix     — content management (headers, footnotes, glossary, images)
  format  — auto-formatters (blanks, python, lists, divs, tables)

Key changes:
- validate → check (with backward-compat alias)
- maintain → fix (with backward-compat alias)
- 17 flat checks grouped into 6 semantic categories
- --scope flag narrows to individual checks within a group
- New FormatCommand with native blanks/lists + script delegation
- Updated pre-commit hooks, VSCode extension, and help output
2026-02-12 23:37:56 -05:00
Vijay Janapa Reddi
8caeac9cc7 refactor(binder): rename validate/maintain subcommands for clarity
Rename verbose compound names to clean, noun-based names:
- section-ids → headers
- forbidden-footnotes → footnote-placement
- footnotes → footnote-refs
- figure-completeness → figures
- figure-placement → float-flow
- index-placement → indexes
- render-patterns → rendering
- dropcap → dropcaps
- part-keys → parts
- image-refs → images

Updated in: validate.py, maintenance.py, pre-commit hooks, VSCode extension.
2026-02-12 23:26:17 -05:00
Vijay Janapa Reddi
755e4cc6a6 feat(binder): consolidate 18 custom scripts into native binder subcommands
Port all custom validation and maintenance scripts into the binder CLI
as native subcommands, eliminating the need for standalone scripts.

New `binder validate` subcommands (10):
- section-ids: verify all headers have {#sec-...} IDs
- forbidden-footnotes: check footnotes in tables/captions/divs
- footnotes: validate footnote refs/defs (undefined, unused, duplicate)
- figure-completeness: check figures have captions and alt-text
- figure-placement: audit figure/table proximity to first reference
- index-placement: check LaTeX \index{} placement
- render-patterns: detect problematic rendering patterns
- dropcap: validate drop cap compatibility
- part-keys: validate \part{key:...} against summaries.yml
- image-refs: validate image references exist on disk

New `binder maintain` subcommands (2):
- section-ids (add/repair/list/remove): full section ID lifecycle
- footnotes (cleanup/reorganize/remove): footnote management

Updated 11 pre-commit hooks to use binder commands instead of scripts.
Updated VSCode extension commands to use binder CLI.
All validators verified against original script output (parity confirmed).
2026-02-12 23:20:54 -05:00
Vijay Janapa Reddi
d39ff325c0 feat(content): add missing section IDs across Vol 1 and enforce via pre-commit
- Run manage_section_ids.py to add 294 missing section IDs and
  standardize 62 non-conforming IDs to hierarchy-based format
- Fix 12 double-hash bugs (e.g., -cbb8-cbb8 -> -cbb8) from script
- All cross-references updated to match new IDs (19 refs across files)
- Verified clean: check_unreferenced_labels.py and check_duplicate_labels.py pass
- Add book-verify-section-ids pre-commit hook (runs --verify mode, ~1.5s)
2026-02-12 22:53:13 -05:00
Vijay Janapa Reddi
f136f96fd8 Refactor: Rename library to and introduce Digital Twins
Renamed the core physics engine from  to  to better align with
the book's title and pedagogical goals.

New features:
- Introduced  and  classes in  and .
- Digital twins now carry their own attributes (bandwidth, FLOPS) and
  methods (ridge_point, memory_size).
- Global search and replace updated all 16 chapters to use .
- Maintained backward compatibility for legacy constants during migration.
2026-02-10 16:46:37 -05:00
Vijay Janapa Reddi
9d840fc1a0 Merge branch 'dev' into feature/book-volumes 2026-02-10 13:12:34 -05:00
Vijay Janapa Reddi
4dd1bf70aa Fix pre-commit issues: cross-refs, footnotes, unreferenced tables, SVG hook
- Fix broken cross-refs in training.qmd (em-dash parsed as part of ID)
- Remove footnote from table cell in ml_systems.qmd
- Add @tbl- references for 22 unreferenced tables across 5 files
- Comment out stale SVG prevention hook in pre-commit config
- Auto-fixes from bibtex-tidy, blank-line collapse, pipe-table prettify
2026-02-09 07:57:16 -05:00
Vijay Janapa Reddi
4ae406160d feat: add Quarto equation labels and cross-references across Vol 1
Add proper equation labels ({#eq-...}) and prose references (@eq-...)
to 138 equations across 15 Volume 1 chapters following the gold-standard
pattern from serving.qmd.

Key changes:
- Label all display math equations with {#eq-kebab-case-name}
- Add @eq-name references in prose before each equation
- Equations include: Iron Law, Amdahl's Law, Roofline Model,
  activation functions, backpropagation, attention mechanisms,
  queuing theory, quantization, and system throughput formulas

Also includes:
- PDF formatting improvements (newpage directives for Vol 2)
- LaTeX header updates for chapter styling
- Pre-commit config and validation script updates
2026-02-07 09:40:01 -05:00
Vijay Janapa Reddi
e942b552ba fix: resolve cross-reference issues and add missing table/figure refs
- Update check_unreferenced_labels.py to detect YAML id: frontmatter
- Add references to all unreferenced tables and listings in Vol1
- Scope unreferenced labels hook to Vol1 only (Vol2 has WIP chapters)
- Fix inline Python in LaTeX math blocks across multiple chapters
- Update test_units.py to use Dense (not Sparse) H100 FLOPS values
- Update validate_inline_refs.py regex to ignore escaped dollar signs

Key files fixed:
- appendix_algorithm.qmd: @tbl-tensor-op-ref, @fig-broadcasting-rules
- appendix_data.qmd: @tbl-data-gravity, @tbl-serialization-cost
- appendix_dam.qmd: @tbl-dam-overlap, @tbl-bottleneck-actions, etc.
- appendix_machine.qmd: @tbl-latency-hierarchy, @tbl-hardware-cheatsheet
- frameworks.qmd: @lst-gradient-accumulation, @lst-custom-autograd-function
- dnn_architectures.qmd: @lst-conv_layer_spatial
2026-02-06 06:03:19 -05:00
Vijay Janapa Reddi
3d5f615753 Fix physx test path and add pint dependency to pre-commit
- test_units.py: Use absolute path based on script location
- .pre-commit-config.yaml: Add pint to additional_dependencies
2026-02-03 23:58:47 -05:00
Vijay Janapa Reddi
3a78d66a21 Refactors calculations into physx library
Organizes quantitative calculations into a dedicated `physx` library, for improved code organization and maintainability.

- Moves calculation logic, constants, and formatting helpers.
- Updates chapters to import from the `physx` library.
- Adds pre-commit hooks for inline reference and unit validation.
- Deletes obsolete inline Python calculation validation files.
2026-02-03 19:45:50 -05:00
Vijay Janapa Reddi
7c0d3e401e Fix index placement issues and add auto-fix script
- Fix \index{} commands breaking rendering when placed before footnote
  definitions, div openers (:::), or on same line as headings
- Add check_index_placement.py script with --fix flag to automatically
  detect and fix these patterns
- Update training.qmd and data_engineering.qmd with corrected index placement
- Include other pending content and visualization updates
2026-02-02 10:39:04 -05:00
Vijay Janapa Reddi
baf420b0ce fix: resolve pre-commit hook issues and add figure accessibility
- Fix footnotes incorrectly breaking into definition text (appendix_machine, appendix_algorithm)
- Move forbidden footnotes out of callout divs (hw_acceleration, serving, training)
- Convert inline footnote info to inline text where appropriate
- Add fig-alt text to code-cell figures (dl_primer, hw_acceleration, serving, workflow)
- Add fig-cap and fig-alt to TikZ figures (distributed_training, introduction, edge_intelligence, networking, sustainable_ai)
- Fix hook ordering: Black formatter now runs before blank line collapse
- Move footnote definition outside TikZ div in frameworks.qmd
2026-02-02 06:49:30 -05:00
Vijay Janapa Reddi
42bc152f7d Fixes pgfplots dimension overflow in data_selection chapter
- Fixes fig-amortization-comparison: scales Y-axis values from 12000 to 12
  to avoid LaTeX dimension limit (~16383pt)
- Fixes fig-compute-optimal-frontier: replaces problematic \fill...plot
  with proper \addplot[fill=...] \closedcycle for log-scale coordinates
- Updates figure reference text to use @fig-selection-inequality
- Adds ch_data_selection.py calculation module
- Updates viz.py with new plot functions
- Various chapter updates across vol1 and vol2
2026-02-02 06:20:23 -05:00
Vijay Janapa Reddi
25d965e719 Fix inline Python rendering and add sci() base unit conversion
Key changes:
- sci() and sci_latex() now convert Pint quantities to base units
  (fixes 10^2 showing instead of 10^14 for TFLOPs values)
- Add md_frac(), md_sci(), md_math() helpers for LaTeX in Markdown()
- Update ml_systems.qmd with proper LaTeX fraction rendering
- Add freeze: false to _quarto.yml to prevent caching issues
- Update CLAUDE.md with QMD inline Python conventions
- Fix LATEX_ADJACENT issues across multiple QMD files (Unicode symbols)
2026-02-02 01:18:32 -05:00
Vijay Janapa Reddi
a75e8b80e5 Update book chapters and clean up testing artifacts
- Update all vol1 and vol2 chapter content with formatting improvements
- Add pre-commit hooks for additional validation checks
- Remove obsolete testing artifacts (appendix_dam, appendix_data, dl_primer, glossary)
- Add new testing logs for vol2 chapters and appendix_assumptions/notation
- Add utility scripts for table rendering checks and prettification
- Remove deprecated hw_acceleration.rmarkdown file
2026-02-01 23:28:30 -05:00
Vijay Janapa Reddi
8578982175 Update grid-to-pipe table converter with alignment support
- Properly preserves left/center/right alignment from grid tables
- Added --check mode for pre-commit warning
- Added book-check-grid-tables hook to warn about grid tables
- Grid tables should be converted to pipe for better inline Python support
2026-02-01 22:50:09 -05:00
Vijay Janapa Reddi
f94e5514cf Add bullet spacing check to pre-commit hooks
- Updated fix_bullet_spacing.py with --check mode for CI validation
- Added book-fix-bullet-spacing hook to auto-fix missing blank lines
  before bullet lists during commits
- Script now provides clear error messages with line numbers
2026-02-01 22:18:19 -05:00
Vijay Janapa Reddi
59442493ba Add figure completeness validation and fix missing fig-cap/fig-alt
Create check_figure_completeness.py pre-commit hook that validates all
figures have captions and alt-text across div, markdown, and code-cell
syntaxes. Add code-cell figure support to extract_figures.py and
figure_table_flow_audit.py. Fix fig-algo-efficiency missing caption in
introduction.qmd and fig-business-cost-curve missing alt-text in ops.qmd.
Vol 1 now passes with 199/199 figures complete.
2026-01-31 19:05:34 -05:00
Vijay Janapa Reddi
7c906703ba Fix pre-commit issues: restore missing images, add figure/table references, apply auto-fixes
- Fix YAML syntax error in .pre-commit-config.yaml (line 159 colon parsing)
- Restore 3 deleted images from git history (sdc-google-jeff-dean.jpeg,
  google_sdc_jeff_dean_anomaly.jpg, cover_optimization.png)
- Add inline references for 4 unreferenced figures (@fig-3d-parallelism-cube-summary,
  @fig-ib-roce-stack, @fig-network-topologies, @fig-sdc-controller)
- Add inline references for 8 unreferenced tables (@tbl-bandwidth-hierarchy,
  @tbl-fairness-archetype, @tbl-framework-archetype-strategy, @tbl-library-selection,
  @tbl-monitoring-archetype-strategy, @tbl-nsight-metrics,
  @tbl-parallelism-communication-mapping, @tbl-rail-optimized)
- Apply pre-commit auto-fixes: trailing whitespace, EOF newlines, blank line
  collapse, bibtex tidying, Python code block formatting, list formatting
2026-01-30 14:47:14 -05:00
Vijay Janapa Reddi
5774413e33 Update two-volume content, config, tooling, and rename data_efficiency to data_selection
- Update Quarto config for epub, html, and pdf Vol 1 builds
- Rename data_efficiency chapter to data_selection with updated content
- Edit chapters across Vol 1 and Vol 2 for clarity and consistency
- Add references, glossary updates, and new debug build script
- Update pre-commit config and part intro narratives
2026-01-30 07:20:45 -05:00
Vijay Janapa Reddi
dbb3013fa6 chore: remove TinyTorch CLI docs validation hook
- Remove tinytorch-validate-cli-docs hook from pre-commit
- TinyTorch has its own dedicated CLI validation system
- Keep only formatting checks in pre-commit hooks
2026-01-25 09:23:48 -05:00
Vijay Janapa Reddi
9781727d60 refactor: rename advanced_intro to introduction and update scripts
- Renamed vol2/advanced_intro to vol2/introduction for consistency
- Updated all scripts and configs to use vol1/ instead of core/
- Updated pre-commit config to check all contents/ not just vol1/
- Updated path references in Lua filters, Python scripts, and configs
2026-01-01 14:46:52 -05:00
Vijay Janapa Reddi
cac3455cab feat(tinytorch): add bibtex-tidy pre-commit hook for paper references
Add separate bibtex-tidy hook to sort and format tinytorch/paper/*.bib
files, matching the book's reference formatting standards.
2025-12-21 09:14:20 -05:00
Vijay Janapa Reddi
565955f0af fix(pdf): restore trailing newlines in titlepage templates
The whitespace cleanup in 853eb03ee removed trailing blank lines from
_titlepage.tex and before-body.tex. This caused \end{titlepage} to be
placed on the same line as a %%% comment, making LaTeX treat it as
part of the comment and skip it entirely.

This resulted in: LaTeX Error: \begin{titlepage} on input line 380
ended by \end{document}

Also excludes titlepage .tex files from end-of-file-fixer hook since
they require trailing blank lines for proper template concatenation.
2025-12-14 12:13:40 -05:00
Vijay Janapa Reddi
166789ddc8 Updates codespell configuration
Updates the codespell pre-commit hook configuration to correctly skip JavaScript files. This prevents false positives and ensures accurate spell checking.
2025-12-14 11:01:47 -05:00
Vijay Janapa Reddi
0484c68add fix: update codespell config to ignore false positives
- Exclude minified JS files (bundle.js, *.min.js) from spelling checks
- Exclude .bib files from end-of-file-fixer (bibtex-tidy handles them)
- Add ignore words for: variable names (currentY, initialY), Python
  methods (assertIn), acronyms (SER, ALS), and valid technical terms
- Skip .tex files from codespell
2025-12-14 10:26:42 -05:00
Vijay Janapa Reddi
4701309c1d style: standardize emoji placement to "Tiny🔥Torch" consistently
Fix remaining instances where emoji was before the name
(🔥 TinyTorch → Tiny🔥Torch) for consistent branding.

Also add "curren" to codespell ignore list (contributor name).
2025-12-13 15:24:33 -05:00
Vijay Janapa Reddi
2e476722ae fix: improve PDF admonition colors and convert to native Sphinx directives
- Add sphinxsetup configuration with distinct colors for each admonition type
  (tip=green, warning=orange, note=blue, caution=red, etc.)
- Convert {admonition} with :class: attribute to native {tip}, {warning},
  {seealso} directives for proper Sphinx type detection in LaTeX output
- Remove unsupported emojis from site markdown files for LaTeX compatibility
- Update codespell ignore list for font names (Heros) and PDF options (FitH)
- Update 20 ABOUT.md files and 16 site/*.md files
2025-12-13 14:58:59 -05:00
Vijay Janapa Reddi
6d7eea5c12 fix: simplify footer using built-in Jupyter Book fields
- Add author and copyright fields to _config.yml
- Remove custom extra_footer HTML block
- Simplify CSS footer styling
- Remove redundant inline footer from intro.md
2025-12-12 10:19:22 -08:00
Vijay Janapa Reddi
377967185c feat: add dev→main sync to live publish workflow
- Live publish now merges dev into main before building
- Removed auto-trigger on push to main (manual only)
- All build jobs depend on sync completing first
- Ensures public site always reflects tested dev state
- Updated README with improved badges and formatting
2025-12-10 11:00:48 -08:00
Vijay Janapa Reddi
b6b3257f9c refactor(pre-commit): reorganize hooks by domain (Book, TinyTorch, Repo)
- Add clear section headers for Book, TinyTorch, and Repo-wide hooks
- Prefix all hook names with domain tags (e.g., [Book], [Repo])
- Fix SVG prevention hook to only apply to book/ directory
- Fix codespell and list-formatting hooks to scope to book/ only
- Add placeholder section for future TinyTorch hooks with examples
- Move JSON and YAML validation to Repo-wide section

This reorganization prepares for the merged monorepo structure where
book and tinytorch have different validation requirements.
2025-12-05 20:15:14 -08:00
Vijay Janapa Reddi
1cca4139f3 Fix pre-commit config paths after restructure
- Update format_tables.py to use workspace-relative path (quarto/contents/)
- Update validate_part_keys.py script to use book/quarto paths
- Scripts in book/tools/ that calculate workspace_root need paths relative to book/
- Other scripts need full book/quarto/contents/ paths
2025-12-05 14:16:13 -08: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
Vijay Janapa Reddi
1bb5aac313 refactor(lint): use Python built-in json module for validation
Replaced external check-json hook with custom validator using Python's
built-in json module (json.load). Created validate_json.py wrapper to
handle multiple files.

Benefits:
- No external dependencies
- Uses Python's standard library json parser
- Same validation logic as the build system
- Fast and reliable (0.16s for all JSON files)
2025-11-10 13:23:15 -05:00
Vijay Janapa Reddi
fd96039400 feat(lint): add JSON validation to pre-commit hooks
Added check-json hook to automatically validate all JSON files on commit.
Fixed JSON syntax errors in:
- sustainable_ai_quizzes.json (11 missing commas)
- cross_refs_no_explanation.json (trailing commas)
- cross_refs.json (incomplete file, reset to empty array)

All JSON files now pass validation.
2025-11-10 12:35:28 -05:00
Vijay Janapa Reddi
ab75028498 feat(lint): add Purpose section check and FO to ignore list
- Adds pre-commit hook to ensure ## Purpose sections are unnumbered
- Adds FO to codespell ignore list (used in TikZ diagrams)
2025-10-17 10:01:01 -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
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
74cf4294b8 Add table formatting check to pre-commit hooks
- Validates table alignment (text=left, numbers=right)
- Checks header and first column bolding
- Ensures proper spacing and structure
- Runs on all .qmd files in quarto/contents/
- Exits with code 1 if formatting issues found
2025-10-07 14:08:17 -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
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
468e26db10 Refines AI systems engineering content
Enhances clarity and accuracy of explanations throughout the chapters, focusing on definitions, relationships, and system-level trade-offs. It improves flow and highlights scaling-related bottlenecks.
2025-09-28 07:12:25 -04:00