15 Commits
Author SHA1 Message Date
Vijay Janapa Reddi c7efbb7614 Stabilize quiz interaction and secure restored source navigation 2026-11-06 11:19:47 +00:00
Vijay Janapa Reddi df569af113 Activate SocratiQ gateway and refine guided learning across four volumes 2026-11-06 09:52:56 +00:00
Vijay Janapa Reddi 8e0d2895c7 Restore integrated SocratiQ study tools and harden reader workflows 2026-11-05 22:09:23 +00:00
Vijay Janapa Reddi 8c7e3d70dd Add paragraph picking and preserve recent SocratiQ discussions 2026-11-05 20:40:50 +00:00
Vijay Janapa Reddi e6717554a3 Improve SocratiQ touch layouts and return readers to their passage 2026-11-05 19:56:38 +00:00
Vijay Janapa Reddi ec25a7e355 Improve SocratiQ learning workflows and repair study tools 2026-11-05 18:01:29 +00:00
Vijay Janapa Reddi ab4e2d7db5 Restore contextual SocratiQ reading assistance across four volumes 2026-11-05 17:32:25 +00:00
Vijay Janapa Reddi 6451bf1484 Add chapter-integrated figure explorations across all four volumes 2026-10-17 13:37:22 +02:00
Vijay Janapa Reddi 2ffe13e380 Fix margin layout collisions, inject Purpose stack figures, and refine Vol 4 2026-10-10 13:34:34 +02:00
Vijay Janapa Reddi 53b8f58224 refactor(tinytorch): rename quarto directory to guide and update all ecosystem references 2026-09-16 22:13:23 +02:00
Vijay Janapa Reddi 5268717037 refactor: build repository URLs from one constant in book and mlperf-edu scripts 2026-09-14 10:58:25 +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 c83d38d718 Move the projects back to the top level
TinyTorch, MLSys·im, MLPerf EDU, the slides, and the instructor site return
from packages/ and materials/ to the top level, so each folder carries the
name of its site URL (tinytorch/ is mlsysbook.ai/tinytorch/). main still has
this layout, so the GitHub links on the published pages, existing tito
installs, and the release hashes keep working.

References follow: workflows, the binder toolchain, book configs, tests,
docs, contributor tooling, .gitignore, and pre-commit patterns. Relative
paths inside the moved projects drop the extra ../ they gained under
packages/ and materials/, which also repairs the MLSys·im contributing guide
and tutorial decks that pointed at the removed slides symlink. The TinyTorch
installer and updater return to a single sparse path. REPO_LAYOUT.md and
CI-VARIABLES.md describe the result.
2026-09-10 16:35:41 +02:00
Vijay Janapa Reddi 876763eff1 Remove the root symlinks to packages/ and materials/
The top-level mlsysim, tinytorch, mlperf-edu, slides, and instructors
entries were symlinks into packages/ and materials/. Every reference now
names the real path, and the symlinks are removed.

- Workflows: path filters, working directories, artifact and publish
  paths, and the TINYTORCH_SITE, MLSYSIM_DOCS, SLIDES_ROOT, and
  INSTRUCTORS_ROOT variables, which now carry fallbacks. The gh-pages
  deploy trees and the site URLs keep their top-level names.
- Book builds: PYTHONPATH in the PDF configs and execute-env.yml points
  at packages/mlsysim. The execute-env.yml value was still written for
  the old publishing/quarto project root.
- The binder toolchain, labs, and tests load mlsysim from
  packages/mlsysim, and the root pytest config puts it on sys.path. That
  clears the binder test failures caused by importing the symlink as a
  namespace package (now 362 passed).
- The TinyTorch installer and `tito system update` fetch packages/tinytorch
  and fall back to tinytorch/ for tags that predate the move. Binder launch
  links and postBuild open packages/tinytorch.
- READMEs, CONTRIBUTING, SECURITY, contributor tooling, area labels,
  .gitignore, and pre-commit patterns name the real paths.

A repository variable that still holds an old top-level path overrides
the new fallback and breaks its workflow, so those variables need
updating before these workflows run.
2026-09-10 15:49:36 +02:00
Vijay Janapa Reddi 38439425a6 Move all book sources under books/ and retire the duplicate tree
The repository carried the book twice. publishing/quarto/contents/vol{1..4}/
was what every build and every check read; books/vol{1..4}/ was a second
tracked copy that fed nothing and had drifted badly, holding 3 vol3 chapters
against 30 in the live tree. A `book` symlink pointed at publishing/, so
book/quarto/ and publishing/quarto/ were one directory under two names, next
to a books/ that was a third thing. Editorial work kept landing in the copy
nothing rendered.

books/ is now the Quarto project root and the only place book sources live:

  books/vol1..vol4          one directory per volume
  books/shared/             frontmatter, backmatter, _partials, assets, tex,
                            filters, scripts, audits, publish, calc
  books/config/             the per-volume quarto configs
  books/_extensions/        Quarto needs these at the project root
  books/index-vol{1..4}.qmd, references*.bib, _variables.yml, 404.qmd
  books/_build/             render output, gitignored and disposable

The toolchain stays in publishing/ and is now unambiguous, since it no longer
contains any of the book. The `book` symlink is gone and the CLI is reached as
./binder from the repository root; publishing/binder resolves through the
symlink so invoking it from either place works.

Config paths are relative to the project root, so a chapter entry goes from
contents/vol1/introduction/introduction.qmd to vol1/introduction/introduction.qmd,
and shared material picks up a shared/ prefix. 5,204 path references were
rewritten across 401 files, plus 127 segment-built paths in Python that string
matching could not see, plus 795 ./book/binder references.

Verified rather than assumed: a single-chapter HTML render produces output
equivalent to the same build on dev, 432,901 bytes against 433,158, the same
18 images, zero unresolved cross-references on both. Scoped checks return
identical findings on both trees.

One behaviour genuinely changes. While the sources sat under contents/, the
checks resolved their default scan root to the Quarto project directory rather
than the content directory, so a bare `./binder check tables` matched no files
and always reported success. Now that the project root and the content root
are the same directory the default works, and it immediately surfaces 31
pre-existing findings in vol3 and vol4 that were always present and never
reported. Those are content issues to fix separately, not regressions from
this move.

docs/REPO_LAYOUT.md describes the result. docs/BOOKS_MIRROR_RETIREMENT.md
records what the retired mirror held, which commits landed only there, and how
to recover any of it from history.
2026-09-10 13:12:19 +02:00