21 Commits
Author SHA1 Message Date
Vijay Janapa Reddi 7a548c0f1e vol2/ch15: add audited frontier compute and pretraining energy figures with series provenance
Add reproducible Epoch AI frontier training compute (@fig-ai-compute-growth) and single-run pretraining energy (@fig-frontier-training-energy) figures to Volume II, Chapter 15, paired with builder-reported anchors at declared measurement boundaries, deterministic CSV extraction and manifest receipts, and structured provenance enforcement across book CSV series and figure cells.
2026-11-03 00:49:25 +02:00
Vijay Janapa Reddi 4f14edb12c binder: check that each chapter prints its folder's number
check structure --scope number-offset requires a chapter's number-offset
to equal its NN_ folder number minus one. Two renumberings left stale
offsets that printed the wrong chapter number, and nothing caught it.
2026-10-13 15:05:01 +02:00
Vijay Janapa Reddi fd8ad38332 vol1: clear pre-commit backlog surfaced by the dev sync
Branch commits skipped hooks; the full suite at the merge tip found these.

- Bib: drop duplicate epochai2026benchmarks from the merge; rename
  villalobos2022will to villalobos2024will to match its year; re-record
  ledger hashes for 24 entries whose content is unchanged (tidy reformat)
- Checks: scope cross-chapter-callout-ref to vol1 (vol2-4 carry 113 legacy
  refs); add Whetstone to heading proper nouns; lego-dead-code skips
  render output
- Units: computed sizes in decimal units, hardware capacities through
  fmt_memory_capacity (ch6, ch11, ch14, ch16)
- Prose: abbreviation first-use expansions after content moves, footnote
  marker placement, two footnote fixes, margin caption, bracketed source
  citations, index main, orphan and duplicate equation labels, dead
  LEGO exports
- Auto-fixers: Black on hidden cells, whitespace, blank lines, tables,
  bibtex tidy, canonical spellings
2026-10-12 22:39:35 +02:00
Vijay Janapa Reddi d3cc4f7449 refactor(binder): centralize check catalog and issue templates in yaml and pydantic model 2026-10-10 16:28:25 +02:00
Vijay Janapa Reddi 0c4a1d9924 Harmonize Point 1 narrative and canonical expansions across Volume 3 2026-10-09 23:32:44 +02:00
Vijay Janapa Reddi b87e0a3a79 chore(books): pass pre-commit book checks across the campaign changes
Auto-fixer output (Black, blank lines, list spacing, table prettify)
plus fixes for heading case, orphan equation labels, footnote
placement and lead-ins, dead LEGO exports, abbreviation first use,
above/below, quote punctuation, binary units in prose (vol3 ch08 now
uses decimal units for computed sizes), and the Tensor Core index key.
2026-10-07 12:52:21 +02:00
Vijay Janapa Reddi ed9636a967 vol4: prose close-out from sign-off P3 lists
- Ch7 Purpose agrees with the body; Ch4 hand-off matches Ch5's opening
- tau_delay model sentence (Ch2) excludes delta_da; Ch14 T_sigma no longer
  labeled measured; Ch16 base not called high-speed; Ch13 class naming no
  longer collides with ISO 10218-1 Class I/II
- First-use glosses: edge NPU, ROS 2/DDS, CAN FD, PCIe, EtherCAT, delta-phi sign
- Tightened Ch8 radar/iToF, Ch9 voxel-hash footnote, Ch12 coinage; Ch6 column
  and latch examples separated; J_eff related to J_ref (Ch11)
- Appendices: H&P reading names the cited book; proper nouns capitalized in
  headings (heading_rules allow-list extended); d_safe and t_start match chapters
- Em dashes removed; CAN FD spelling unified; voice pass on campaign-added prose
2026-09-30 07:11:11 -06:00
Vijay Janapa Reddi fb71ffc88f fix(vol2): bookend intro and conclusion; rebuild preface, appendices, glossary
- ch17 answers ch01's opening question and returns to its opening scene
- Six principles in part order, each on the Fleet Stack; practices vs principles explicit
- Appendix A becomes a complete single-machine recap (roofline, memory hierarchy,
  training memory per parameter, transformer arithmetic); probability recap in E
- Appendix corrections (batching stability, MTBF direction, goodput mapping)
- Glossary pruned of unused terms; core vol2 terms added and aligned with body
- Chapters now point to the appendix sections where students need them
- Heading rules: treat "Fleet Law" as a proper name
2026-09-28 19:53:28 -06:00
Vijay Janapa Reddi 622e4151dd Merge branch 'feat/vol4-student-accessibility-review' into dev 2026-09-28 14:31:48 -06:00
Vijay Janapa Reddi 70f48d3814 Merge dev into feat/vol2-developmental-review for retire 2026-09-28 05:52:05 -06:00
Vijay Janapa Reddi c0df23e484 Harmonize section headers to textbook style across Volume II and backmatter 2026-09-28 05:44:03 -06:00
Vijay Janapa Reddi a6af6ec33f Harmonize section headers to textbook style across Volume II 2026-09-28 04:39:44 -06:00
Vijay Janapa Reddi 016455227e refactor(vol4): deep first-principles pedagogical elevation across all chapters and appendices 2026-09-27 20:22:53 -06:00
Vijay Janapa Reddi 04690cde48 refactor(vol4): deep pedagogical rewrite from first principles for ML systems students 2026-09-27 18:47:01 -06:00
Vijay Janapa Reddi ab93059fcc refactor(vol4): complete section-by-section pedagogical review for ML systems students
- Frontmatter: Clarify prerequisite background for ML systems students crossing into physical AI systems; frame physical AI as an architectural discipline uniting unprivileged statistical proposals with deterministic safety enforcers.
- Chapters 01-10, 12-15, 17: Pedagogically refactor section-by-section with progressive disclosure; ground foundation models as unprivileged proposal engines bounded by memory bandwidth ( \le B/M$); replace pop-science and roboticist metaphors with formal systems invariants (eBPF-like actuator firewalls, privilege rings, single-writer fieldbus mutexes, and causal intervention masking); preserve all mathematical bounds, Roofline derivations, and equations.
- Backmatter (Appendices): Connect control theory, real-time embedded systems, and non-smooth contact mechanics to optimization and ML systems concepts (Lyapunov functions as continuous loss functions; directional derivatives / JVPs along system drift; KKT complementarity for rigid contact; discrete Poisson exposure walls; Fisher-Tippett-Gnedenko and POT extreme value theory; reconciliation of classical SPA vs. foundation models).
2026-09-27 12:12:33 -06:00
Vijay Janapa Reddi 501cbbf8cb Standardize callout styles, purpose paragraphs, and chapter syntheses across Volume 4 2026-09-25 18:23:47 -04:00
Vijay Janapa Reddi 9b44166f3b Vol IV Pass 5: one evidence convention and a single register
- Each chapter cites the Reader Guide once for its illustrative numbers;
  every LEGO LOAD line states its evidence category
- Per-sentence caveats that only repeated a category removed; overclaims
  and flourishes resolved in the same paragraphs
- Retired vocabulary replaced (dual-brain, referee, four-tier, System 1/2,
  nervous system as a tier name); architecture pointers now target the
  machine-model section
- Dactyl, NHTSA, and Challenger war stories checked against primary sources
- Patch/attention arithmetic and decoder internals moved to the ML
  appendix, leaving pointers
2026-09-22 02:13:25 +02:00
Vijay Janapa Reddi 58cf6646fd fix(binder): scope unit, binary-unit, and currency checks to real prose
All three fired in contexts book-prose.md exempts, so they reported defects
that were not defects.

unit-spacing and binary-units skipped only fenced code blocks, leaving inline
math, inline code spans, and pipe-table cells in scope. Both now mask those
spans before matching, via a shared _mask_prose_line helper that preserves
offsets so reported context stays accurate. On Volume III this drops
binary-units 354 -> 33 and unit-spacing 20 -> 3.

unit-spacing also had no notion of a part number, so the capacity inside
"NVIDIA A100-SXM4-80GB" read as a missing space. Tokens whose digit-letter run
is a proper noun are now declared in cli/data/unit_token_allowlist.txt,
following the footnote_caps_allowlist.txt pattern: accelerator SKUs and
model-size shorthand. That takes unit-spacing to 1, which is a genuine
"sub-100ms" in 08_virtualization. Real measurements do not belong in the
allowlist; the fix for those is the space.

currency scans SVG and HTML for visible labels but read raw lines, so a
generated margin figure's "<!-- $ USD -->" comment was reported as a
reader-facing currency defect. Markup comments, including multi-line ones, are
now stripped before matching. That takes currency 4 -> 3; the remaining three
are genuine USD in Volume III prose.

Adds binder/tests/test_unit_scoping.py pinning both the exemptions and the
genuine detections, so the masking cannot quietly regress.
2026-09-20 19:16:23 +02:00
Vijay Janapa Reddi 5a66c935f1 Fix book build failures and harden book checks
- Vol II: close the margin note wrapping the storage-compute figure,
  move the bandwidth figure out of its callout, and separate the NPU
  figure from the preceding footnote so all three cross-references
  resolve; widen Table 11.3 so it stays inside the page trim.
- Landing pages: hide the download card, star counter, and podcast from
  EPUB output and point the cover and podcast at shared/assets.
- Vol I/II frontmatter image paths, table column widths, Vol III
  equation labels, Vol IV lint fixes and SVG newline repairs, and
  regenerated volume bibliographies.
- Bibliography integrity scan ignores math spans; currency check skips
  render caches; Prentice Hall joins the canonical publisher list.
- Unprefixed chapter URLs publish redirect stubs to numbered pages.
- Remove stray test files, duplicate quiz files, unused cover options,
  generated figure lists, and outdated review scripts; drop generator
  metadata from quiz files.
- Repoint documentation at current chapter paths and deduplicate
  pre-commit file patterns.
2026-09-12 09:17:53 +02:00
Vijay Janapa Reddi 03e6af48ff vol4: physical AI systems engineering audit and refinement across chapters 7-17 2026-09-11 20:24:06 +02:00
Vijay Janapa Reddi 14ca66d2e9 Rename bindery/ to binder/ and run the CLI by its real path
The toolchain folder is now binder/, and the root ./binder symlink is gone.
The command is ./binder/binder: a plain path to the script, with no link and
no install step. Every invocation moved with it: pre-commit entries, workflow
steps, the VS Code extension's command palette, help text, and docs.

- bindery/ paths and bindery.* imports, including the chapter code cells
  that import binder.tools.figures, now name binder/.
- Binder (mybinder.org) reads its configuration from a root binder/ folder
  and refuses to build when binder/ and .binder/ both exist. .binder/postBuild
  and .binder/requirements.txt move into binder/, so the TinyTorch "Launch
  Binder" buttons keep working; binder/README.md records which file names the
  toolchain must not use there.
- contributors/projects.json still pointed the book's contributor record at
  publishing/; it now names binder/, where that .all-contributorsrc lives.
- The margin-figure reader-link audit report linked its 222 figures through
  the retired quarto/ tree; the links now resolve under books/.

The hooks reformatted hidden Python cells and trimmed whitespace in the
Volume II chapters whose figure imports this rename touches.

Checks: ./binder/binder check cli passes (contract and canonical hooks),
binder.tools.figures imports, and every workflow YAML file parses.

binder test suite, excluding the four modules that cannot import mlsysim
through the root symlink (fixed separately): 7 failed, 346 passed.

The GitHub repository variables BOOK_ROOT, BOOK_TOOLS, BOOK_DEPS, and
BOOK_DOCKER still name the retired book/ layout and must change when this
reaches origin.
2026-09-10 15:26:07 +02:00