Commit Graph

946 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
8b9a111b65 Merge origin/dev: defer to upstream PDF layout pass
Resolves model_compression.qmd conflict by combining Zeljko's PDF layout
work (relocated Energy Dividend section + Modern hardware accelerators
paragraph, centered quantization-methods table, inlined NP-hard index tag)
with three additive index entries from local dev:
- Magnitude-Based Pruning!definition
- Dynamic Quantization!definition
- Sparse Tensor Core (singular, per index.md §4)

Also disables the book-check-figure-placement pre-commit hook in
.pre-commit-config.yaml. The 'near first reference' heuristic fights the
repositioning the copyeditor does to balance pages in print; deferring
to upstream layout going forward.
2026-05-03 11:06:10 -04:00
github-actions[bot]
a9995accb8 docs: add @farhan523 as contributor for bug, code, design (instructors) 2026-05-03 12:17:06 +00:00
Vijay Janapa Reddi
a402f0eebe fix(readme): use schedule event filter for Newsletter badge
The Newsletter badge filtered by event=push, but
.github/workflows/sync-newsletter.yml triggers only on schedule and
workflow_dispatch -- no push trigger exists. With zero matching runs,
shields.io rendered "no status". Switch the filter to event=schedule so
the badge reflects the workflow's actual (passing) scheduled runs.
2026-05-02 09:15:21 -04:00
Vijay Janapa Reddi
2b1f7ef1ed fix(ci): keep workflow badges green when push and dispatch collide
A manual workflow_dispatch on the same SHA as a push was cancelling
(or being cancelled by) the push run, since both shared the
concurrency group `book-validate-${{ github.ref }}`. The README
badges then showed the cancelled run's status (red) even though
the underlying build passed.

- book-validate-dev.yml: include `${{ github.event_name }}` in the
  concurrency group so push and dispatch get separate slots.
- README.md: pin all 9 workflow status badges to `&event=push` so
  the displayed status reflects the auto run, not whichever event
  ran most recently.
2026-05-01 11:28:55 -04:00
github-actions[bot]
475789954d docs: add @Shashank-Tripathi-07 as contributor for doc, code, review (instructors) 2026-04-30 22:47:14 +00:00
github-actions[bot]
e9e1b619b4 docs: add @Shashank-Tripathi-07 as contributor for bug, code (mlsysim) 2026-04-30 22:47:11 +00:00
github-actions[bot]
d7084682e0 docs: add @Shashank-Tripathi-07 as contributor for bug (kits) 2026-04-30 12:39:22 +00:00
github-actions[bot]
1cf2562528 docs: add @farhan523 as contributor for bug, code (kits) 2026-04-30 12:38:48 +00:00
github-actions[bot]
26b9e72f8a docs: add @farhan523 as contributor for bug, code (instructors) 2026-04-29 14:00:28 +00:00
github-actions[bot]
6e4ab3f779 docs: add @Shashank-Tripathi-07 as contributor for code, design (labs) 2026-04-28 18:31:48 +00:00
github-actions[bot]
fa7ed15edd docs: add @farhan523 as contributor for code (staffml) 2026-04-28 15:34:58 +00:00
github-actions[bot]
e34b629da8 docs: add @farhan523 as contributor for design (tinytorch) 2026-04-26 17:01:14 +00:00
github-actions[bot]
8f06bc27d5 docs: add @gustaf-hammarberg as contributor for bug, code (book) 2026-04-26 12:48:50 +00:00
github-actions[bot]
4802ab9da6 docs: add @Shashank-Tripathi-07 as contributor for bug, code (book, tinytorch, staffml, labs) 2026-04-25 18:59:16 +00:00
Vijay Janapa Reddi
9ad97e3927 docs(readme): add per-component License section
GitHub displays the root LICENSE.md (CC-BY-NC-SA 4.0, the textbook
license) in the repository sidebar, but the curriculum is multi-licensed:
TinyTorch is MIT, MLSys·im is Apache 2.0, StaffML is AGPL v3, datasets
have their own permissive licenses. Without a README pointer, downstream
users can't easily discover which license applies to which component.

The new section is a table linking to each component's authoritative
LICENSE file plus a one-line summary of what it permits.
2026-04-25 13:10:52 -04:00
Vijay Janapa Reddi
400f0e3027 docs: clarify MLSysBook ecosystem paths
Align public README and site messaging around the curriculum components, adoption paths, and current early-release status so newcomers can move from reading to building, deployment, practice, and teaching.
2026-04-25 08:48:38 -04:00
Vijay Janapa Reddi
9615886b0e fix: repair broken links surfaced by lychee scan
- README.md: 'Cite' badge anchored to non-existent #citation--license
  section; point it directly to CITATION.bib so it always works.
- tinytorch/README.md: 'Getting Started' link pointed to
  site/getting-started.md which never existed; the actual file is
  quarto/getting-started.qmd.
- shared/config/.lycheeignore: ignore star-history.com fragment URLs.
  These use # for client-side SPA routing, not as document anchors —
  lychee was incorrectly flagging them as missing fragments.

Verified locally with lychee 0.23: zero broken links remain in the
top-level READMEs and new community files except for three deleted
GitHub user accounts (Allen-Kuang, harishb00a, jettythek) which are
auto-regenerated by the contributor sync workflow and need to be
fixed at that layer.
2026-04-22 17:20:25 -04:00
Vijay Janapa Reddi
434417d69f docs(readmes): force table width via inline style (override GitHub CSS)
GitHub's github-markdown-css applies:
  .markdown-body table { display: block; width: max-content; max-width: 100%; }

The HTML width="100%" attribute is a presentational hint with lower
specificity than the class selector, so tables with short cell content
were sizing to max-content and not stretching to fill the column.
Tables with long sentences per cell stretched fine, masking the bug.

Add inline style="width:100%" (specificity 1,0,0,0) which overrides
the class-selector rule. Keep width="100%" attribute as a fallback for
non-GitHub renderers (VSCode preview, GitLab, plain HTML viewers).

54 tables updated across 10 READMEs + the two contributor-sync scripts
that regenerate auto-managed tables.
2026-04-22 16:20:38 -04:00
Vijay Janapa Reddi
b9ee88ca70 docs(readmes): stretch HTML tables to full width
Add `width="100%"` to every HTML content and contributor table across all
project READMEs so they render full-width on GitHub instead of collapsing
to natural content width. Cell-level `width="X%"` percentages were already
in place but only take effect once the table itself has an explicit width.

Also update the contributor-sync scripts so the auto-generated tables stay
consistent on the next bot run:
  - .github/workflows/contributors/generate_main_readme.py
  - .github/workflows/contributors/generate_readme_tables.py

Scope: 27 files, 85 tables. Sub-project READMEs that already use the
"card" pattern (labs/, kits/ content sections with <table width="98%">
wrappers) are intentionally untouched.
2026-04-22 16:01:54 -04:00
Vijay Janapa Reddi
b760430c7e docs(contributors): add periodic-table to all-contributors projects
Register periodictable in projects.json (aliases: periodic-table, periodic table),
add periodic-table/.all-contributorsrc and README with ALL-CONTRIBUTORS markers,
and regenerate root README contributor section.
2026-04-21 08:22:38 -04:00
github-actions[bot]
5193430796 Update contributors list [skip ci] 2026-04-20 13:07:53 +00:00
Vijay Janapa Reddi
5cbbf1fc3d ci(contributors): make staffml the canonical project key (dir stays interviews/)
The product is StaffML; "interviews" is just the directory it lives in.
Bot replies, commit messages, and the section heading should all say
StaffML. Source files don't move — only the project key does.

Workflow (all-contributors-add.yml)
- PROJECTS: rename `interviews` → `staffml`.
- PROJECT_ALIASES: invert to `interviews:staffml` so old comments still
  route correctly (and tito/slide/instructor remain).
- New PROJECT_DIRS env var maps project key → on-disk directory; only
  needed for entries where they differ. Currently: `staffml:interviews`.
- File-detection step uses a directory→project lookup, so a PR that only
  touches `interviews/...` still gets routed to the `staffml` project.
- Python config-update, bash commit, and bot-reply steps all resolve
  project key → directory through the same map (no more hard-coded
  `${project}/.all-contributorsrc` paths that would break for staffml).

Generators
- generate_readme_tables.py: register `"staffml": "interviews/"` (key
  changed, path unchanged); added a comment documenting the contract
  with the workflow env block.
- generate_main_readme.py: section is now `🤖 StaffML Contributors`
  with marker prefix `STAFFML-CONTRIBUTORS`. The on-disk directory is
  still `interviews/`.

Docs
- contributors/README.md: replaced the project bullet list with a
  project-key vs. on-disk-directory table, explained PROJECT_DIRS, and
  flagged that `staffml/interviews` is the only mismatch.

No directory moves. The interviews/ tree, .all-contributorsrc inside it,
and per-project README markers are unchanged.
2026-04-19 11:06:44 -04:00
Vijay Janapa Reddi
23e27b2f40 ci(contributors): wire slides + instructors into all-contributors
Closes the gap where Slides and Instructor Site were first-class Quarto
sites but invisible to the contributor recognition pipeline, and fixes
two pre-existing holes for mlsysim/interviews.

Workflows
- all-contributors-add.yml: add `slides` and `instructors` to PROJECTS;
  add `slide`/`instructor` aliases. Tighten the LLM prompt with explicit
  multi-type and emoji/punctuation rules, and add a deterministic regex
  fallback that scans the trigger comment for type keywords and unions
  them with the LLM result so a flaky classification never drops a tag.
- update-contributors.yml: add `mlsysim`, `interviews`, `slides`,
  `instructors` to the push trigger paths and to the file/commit lists,
  so edits to those configs actually rebuild and push READMEs.

Generators
- generate_main_readme.py: refactor the per-section block to a single
  PROJECT_SECTIONS table so adding a project is one line; add Slides
  and Instructor Site sections.
- generate_readme_tables.py: register `slides` and `instructors`.

Configs / READMEs
- New `slides/.all-contributorsrc` and `instructors/.all-contributorsrc`
  seeded with profvjreddi.
- Add ALL-CONTRIBUTORS-LIST markers + recognize-a-contributor blurb to
  `slides/README.md` and `instructors/README.md`.
- Regenerate root, slides, instructors, and (sorted-badge drift) the
  interviews README via the generators.

Docs
- Refresh `.github/workflows/contributors/README.md` to list all 8
  projects and document the canonical-list-in-PROJECTS contract.
2026-04-19 11:02:37 -04:00
github-actions[bot]
cd6398f9bf docs: add @Shashank-Tripathi-07 as contributor for code, bug (labs) 2026-04-19 14:56:16 +00:00
github-actions[bot]
c8ce945205 docs: add @Shashank-Tripathi-07 as contributor for code (labs) 2026-04-19 14:52:17 +00:00
github-actions[bot]
2bacfeea4d docs: add @asgalon as contributor for bug (labs) 2026-04-16 18:55:23 +00:00
github-actions[bot]
ab170fb9d2 docs: add @Shashank-Tripathi-07 as contributor for test (tinytorch) 2026-04-16 17:07:08 +00:00
github-actions[bot]
4cddb42221 docs: add @Shashank-Tripathi-07 as contributor for doc (tinytorch) 2026-04-16 16:57:41 +00:00
Vijay Janapa Reddi
881dcc8986 docs(readme): add Newsletter shield badge
Points at the sync-newsletter.yml workflow on dev so the README
reflects the health of the newsletter sync pipeline alongside Book,
TinyTorch, Labs, Kits, MLSys-im, Slides, Instructors, and StaffML.
2026-04-15 17:37:19 -04:00
github-actions[bot]
223b04d901 docs: add @farhan523 as contributor for code (tinytorch) 2026-04-13 13:25:26 +00:00
github-actions[bot]
1616f6f148 docs: add @Shashank-Tripathi-07 as contributor for code (mlsysim) 2026-04-12 23:32:24 +00:00
github-actions[bot]
0998ff8842 docs: add @farhan523 as contributor for doc, bug (tinytorch) 2026-04-12 23:28:42 +00:00
github-actions[bot]
815e132752 docs: add @Shashank-Tripathi-07 as contributor for code (tinytorch) 2026-04-12 12:51:12 +00:00
github-actions[bot]
737cf42421 docs: add @asgalon as contributor for doc (mlsysim) 2026-04-09 13:42:18 +00:00
github-actions[bot]
db69cc9576 docs: add @farhan523 as contributor for doc (tinytorch) 2026-04-09 11:44:15 +00:00
Vijay Janapa Reddi
71829f9059 Merge remote-tracking branch 'origin/dev' into dev 2026-04-05 12:22:12 -04:00
github-actions[bot]
d8c0738849 docs: add @rnjema as contributor for doc (tinytorch) 2026-04-05 15:39:51 +00:00
github-actions[bot]
b4be410c0e docs: add @harishb00 as contributor for doc (tinytorch) 2026-04-05 15:34:39 +00:00
github-actions[bot]
c64cf59344 docs: add @yarikoptic as contributor for code (tinytorch) 2026-04-05 15:32:53 +00:00
github-actions[bot]
7ed778b48c docs: add @AdemolaAri as contributor for doc (tinytorch) 2026-04-05 15:20:59 +00:00
Vijay Janapa Reddi
709f3aabd4 docs(contributors): credit Tess Watt (Tess314) for bug report and fix avatar
- Use GitHub avatar URL; remove duplicate Tess Watt row from book config
- Add bug + doc contributions; sync root .all-contributorsrc
- Acknowledgements: bug and documentation links for Tess314
- Document Gravatar vs GitHub avatars in contributors workflow README
- Fix generate_readme_tables success path log path
2026-04-05 11:14:12 -04:00
Vijay Janapa Reddi
58a6b4cf3d refactor(site): overhaul About & Community pages — AI engineering framing
Mission section: boxed mission statement, AI engineering definition,
Hennessy/Patterson & Andrew Ng acknowledgment, 1M learner goal with
log-scale star history chart, star-on-GitHub ask.

New "How We Teach" section: four pillars + expanded stats strip
(chapters, lecture decks, TinyTorch modules, universities).

People page: restructured as credits — featured founders (Vijay + Kari),
Global Outreach (Marco, Brian, Marcelo, Jeremy), Global Educators
compact grid, edX instructors. Initials fallback for missing avatars.

Events page: simplified from 250 lines to 3 cards + CTA linking to
tinyml.seas.harvard.edu as the operational hub.

Community page: renamed outreach section, added "Become a Member" CTA.
Partners page: updated to AI engineering framing.

New license page: multi-license structure (CC-BY-NC-SA for content,
Apache 2.0 for TinyTorch, AGPL v3 for StaffML).

Fixed root LICENSE.md from CC-BY-NC-ND to CC-BY-NC-SA to match intent.
Updated README badge to match.

Navbar: reordered About dropdown (Mission → Our Story → People →
Contributors → License). Stripped textbook accent-bar headers from
site pages via CSS overrides. Threaded "AI engineering" consistently
across all page heroes and taglines.
2026-04-03 08:49:41 -04:00
github-actions[bot]
60b2361fb6 Update contributors list [skip ci] 2026-03-25 18:32:53 +00:00
Vijay Janapa Reddi
fdbff88d8c rename remaining "interview playbook" references to StaffML in root README 2026-03-25 13:14:36 -04:00
Vijay Janapa Reddi
8bf814d30a staffml: drop question count from curriculum map, add (coming soon) 2026-03-25 10:07:46 -04:00
Vijay Janapa Reddi
ab9e1c9d89 rebrand Interview Playbook → StaffML across README and curriculum map
- curriculum-map.svg: "Interview Playbook" → "StaffML", 40+ → 5,700+ questions
- Root README: all references updated, description reflects current app
- StaffML badge moved to second row with Slides/Instructors, logo=target
2026-03-25 10:05:51 -04:00
Vijay Janapa Reddi
18e69c74a6 add StaffML build badge to root README alongside other components 2026-03-25 10:03:27 -04:00
github-actions[bot]
b8ad2abe35 docs: add @asgalon as contributor for code (tinytorch) 2026-03-24 11:47:27 +00:00
Vijay Janapa Reddi
087886347b clarify MLSys·im is both a labs engine and standalone modeling tool 2026-03-22 11:31:15 -04:00
Vijay Janapa Reddi
d09c3204cd update README prose to match curriculum map progression and bump SVG cache
Reorder curriculum description to follow Read → Reason → Build → Model
→ Deploy → Prove → Teach flow. Bump SVG cache-buster to v3.
2026-03-22 09:29:55 -04:00