- Refactored (Chapter 4) to use and .
- Refactored (Chapter 5) to use and classes.
- Adopted the 'Direct Access' pattern: eliminating export blocks and referencing directly in Markdown.
- Verified renders for both chapters.
- Refactored to use , , and registries.
- Expanded with devices (Coral, Jetson, NUC) and .
- Expanded with (DLRM) and family.
- Fixed registry bugs (Coral bandwidth, GPT class definition).
- All unit tests passing.
- Added assertions to and to enforce physical plausibility.
- Introduced registry for Cloud/Edge/Mobile/TinyML constraints.
- Refactored , , and to use object-oriented Digital Twins.
- Replaced loose constants with registry-backed attributes (e.g. ).
- Verified build and unit tests pass.
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.
Removed obsolete Python modules from that were replaced
by the P.I.C.O. design pattern (logic moved directly into QMD files).
Deleted files include chapter-specific scripts (), unused
calculators (, , etc.), and manual audit tools.
This commit refactors the underlying Python calculation cells for Chapters 1-16
to strictly enforce mathematical consistency with the narrative.
**Key Text/Numeric Updates (For Editorial Review):**
1. **Chapter 3 (Workflow) - Edge Necessity Scenario:**
- *Change:* Increased clinic patient count from **100** to **150**.
- *Reason:* With 100 patients, the calculated upload time was ~5.5 hours, which fits within the 8-hour clinic day, contradicting the chapter's conclusion that 'Edge is Mandatory.' Increasing to 150 pushes upload time to >8 hours, mathematically validating the narrative.
2. **Chapter 1 (Introduction) - Model Drift Scenario:**
- *Change:* Reduced monthly accuracy drift rate from **8.0%** to **0.8%**.
- *Reason:* An 8% monthly drop is a catastrophic failure that would be immediately noticed. A 0.8% drop correctly models the 'silent failure' (boiling frog) scenario described in the text.
3. **Chapter 3 (Workflow) - Velocity vs Quality:**
- *Change:* Reduced 'Large Model' accuracy gain per iteration from **0.5%** to **0.15%**.
- *Reason:* The original rate caused the large model to hit 99% accuracy almost instantly, invalidating the 'Velocity is a Feature' argument. The new rate correctly models diminishing returns, allowing the faster (small) model to win.
4. **Chapter 15 (Responsible Engineering) - TCO Analysis:**
- *Verification:* Verified and stabilized the 3-year Total Cost of Ownership (TCO) calculations. Confirmed that Inference TCO (.5M) dominates Training TCO (8K) by ~40x, supporting the 'Efficiency as Responsibility' thesis.
**Technical Changes (Code Only):**
- Refactored all calculation cells to use the **P.I.C.O. (Parameters, Invariants, Calculation, Outputs)** design pattern.
- Added assertion guards (Invariants) to prevent future regressions where math contradicts prose.
- Fixed variable scope issues in Chapter 10 (Model Compression) and Chapter 15.
- Disabled false-positive linter warnings for standard LaTeX spacing.
Refactors figure list generation to reliably locate and clear LaTeX manifest files.
- Searches for the figure manifest in both the quarto root and build output directory,
handling cases where the post-render step moves the file.
- Clears stale manifests from both locations to avoid incorrect figure counts from
previous builds.
- Moves the LaTeX manifest to the build output directory to keep the source
tree clean.
- Updates the merge script to find the manifest dynamically.
This prevents issues where figure counts are mismatched due to outdated or
missing manifest files.
- 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
The data bar now uses a smooth vertical gradient derived from the layer
intensities: each color stop matches the wire flowing into it, and PGF
interpolates between stops. This makes data's cross-cutting role visible
— two distant bright layers produce a gradient that stays warm across
the space between them, revealing skip connections through data.
Each wire's color matches its layer's intensity, showing how strongly
each layer plugs into the shared data bus. The About page now shows
three example stacks (HW Acceleration, Training, Responsible Engineering)
to illustrate how the lens shifts across chapters.
Add prose explaining how the ML Systems Stack's data bar shading
reflects cross-layer data flow and skip connections, priming readers
to interpret the visual cue as they progress through chapters.
- Revise prose, index entries, and references across all 16 chapters
- Update quarto config (epub/html) for vol1 and vol2
- Add render_figures.py testing script
- Update inject_parts.lua filter and header-includes.tex
- Update notation, appendix_dam, and references.bib
- Remove vol1/vol2 foreword files
The TikZ-rendered broadcasting diagram had clipping issues in result
cells (text overflow). Replace with a custom SVG using the book palette
that clearly shows A(3,1) + B(1,4) = Result(3,4) with dashed cells
for virtually expanded dimensions.
Shift right-side annotations inward so text bounding boxes stay fully
within their containing ellipses. Verified programmatically that all
text elements are safely inside boundaries with no crossings.
Move the directional arrow and annotation text below all ellipses
(y=455/473, well below the government ellipse bottom at y=445).
Combine the two separate annotations into a single clean line.
Redesign layout to prevent text from crossing ellipse boundaries:
- Widen canvas, enlarge all four ellipses for breathing room
- Simplify detail items to match prose (audit trails, verification,
explainable interfaces, SE workflows for Team; leadership, hiring,
reviews for Organization; auditing firms, certification, professional
societies for Industry)
- Place org-band items at x=530 y=260-316 (inside org, outside team)
- Place industry-band items at x=610 y=160-188 (inside industry)
- Add directional annotation: "Requirements flow inward" with arrow
- Add "Technical practices enable compliance" outward annotation
- governance_layers.svg: nested ellipses showing Government Regulation
(outermost, crimson), Industry certification, Organization safety
culture (navy), and Team engineering practices (innermost, green).
Replaces human_centered_ai.png.
- activity_classification.svg: four-panel progression showing how
rule-based activity classification grows from 1 rule (walking) to
unmanageable complexity (baseball?), motivating the shift to ML.
Stick figures with code snippets. Replaces activities.png.
Both use the book's standard palette and are not yet wired into
chapter .qmd files.
Replace the solid blue background (copied from Edge Impulse source)
with a clean white/light background using the book's standard palette:
- Navy (#004c97) for edge device icons
- Forest green (#2e8b57) for the central "Edge Hub"
- Crimson (#a31f34) for cloud connectivity (visually distinct)
- Gray dashed lines for data links
Retitled to "Edge Device Deployment" with subtitle matching the
figure caption. Added a small legend. Prints well in grayscale.
Reorganize DL zone layout: put title on single line ("Deep Learning"),
subtitle directly below, icon centered at y=185 (well below subtitle),
and milestone markers starting at y=250+. Eliminates the collision
between title, icon binary text, "Image recognition" label, and
"2012 AlexNet" milestone that occurred when all occupied the same
vertical space.
- interpretability_spectrum: add small model icons (tree, line, sigmoid,
forest, network, deep network) under each label, plus bottom annotations
- bio_nn2ai_nn: redesign artificial neuron with z|f combined node matching
original PNG, separate Linear/Activation Function labels
- fairness_threshold: thicker dotted threshold lines, bolder plus-sign
markers, bright blue/red matching original PNG style
- ai_dl_progress: replace abstract icons with era-specific illustrations
(checkerboard for AI, email spam filter for ML, binary+magnifier for DL),
widen SVG to 1100px for proper DL zone spacing
- edge_ml_iot: separate cloud icon from smartphone to fix overlap
- Widen gap between ML systems stack layers and data bar in both
margin and full-size variants so connector lines are clearly visible
- Add D·A·M Intersection Landscape Venn diagram (SVG + PNG) to the
D·A·M Taxonomy appendix with reference table and explanatory prose
- Add forward references to the Venn from Introduction and Part III
- Add learning objective for intersection mapping
- Chapter prose refinements across multiple chapters
Updates the PDF configuration file to correctly point to the index file for the first volume of the book.
This ensures the PDF generation process uses the correct entry point, which is crucial for structuring the book's content.
Clarifies the importance of understanding system behavior in the face of environmental changes that impact model performance.
Emphasizes the need for quantitative signals that connect distribution shift to expected performance loss and how data drift monitoring is crucial to preventing silent degradation.
Adds introductory sections ("Purpose" and "How to Use This Appendix") to several appendices, providing context and guidance for readers.
Improves overall structure and clarity by adding Key Takeaways callouts to chapters and implementing minor textual edits.
Refines rule for usage of `.unnumbered` on sub-headers in `CLAUDE.md`.
Addresses minor bugs and enhances indexing for improved searchability.