[PR #1525] [MERGED] mlsysim: align identity copy with paper title + CHANGELOG-driven release notes #9191

Closed
opened 2026-05-03 01:25:58 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/harvard-edge/cs249r_book/pull/1525
Author: @profvjreddi
Created: 4/24/2026
Status: Merged
Merged: 4/24/2026
Merged by: @profvjreddi

Base: devHead: chore/mlsysim-identity-copy-and-notes


📝 Commits (3)

  • 0745a5f mlsysim: align package identity copy with paper title
  • 4309c3f mlsysim(CHANGELOG): restructure 0.1.1 entry to match release-notes template
  • 8e2ca71 ci(mlsysim): extract release notes from CHANGELOG.md with template wrapper

📊 Changes

6 files changed (+154 additions, -28 deletions)

View changed files

📝 .github/workflows/mlsysim-pypi-publish.yml (+88 -9)
📝 mlsysim/CHANGELOG.md (+53 -8)
📝 mlsysim/docs/tutorials/index.qmd (+4 -4)
📝 mlsysim/mlsysim/cli/main.py (+5 -3)
📝 mlsysim/pyproject.toml (+1 -1)
📝 mlsysim/tutorial/prerequisites.md (+3 -3)

📄 Description

Summary

Three related fixes that together make mlsysim's public-facing identity consistent with the paper title, and give future releases professional, mlsysim-scoped GitHub Release bodies.

Background

  • The 0.1.1 release already corrected the paper title in CITATION.cff, README.md, and walls.py docstring
  • BUT the package's self-description (pyproject description, CLI help, tutorial docs) still used earlier working-title framing ("analytical framework") that no longer matches the paper
  • AND the 0.1.1 GitHub Release body auto-generated from all monorepo PRs since 0.1.0, pulling in staffml / tinytorch / lab04 work that has nothing to do with mlsysim

What changes (3 commits)

Commit 1 — mlsysim: align package identity copy with paper title

Four user-facing identity statements updated to echo the paper title ("First-Principles Infrastructure Modeling for Machine Learning Systems"):

  • mlsysim/pyproject.toml — `description` field
  • mlsysim/mlsysim/cli/main.py — `mlsysim --help` output
  • mlsysim/docs/tutorials/index.qmd — tutorial landing blurb
  • mlsysim/tutorial/prerequisites.md — prerequisites preamble

Descriptive uses of "analytical framework" inside the paper and related technical prose are retained — those are legitimate category terms situating mlsysim among Paleo, Calculon, Vidur. Only identity-claiming statements are changed.

Commit 2 — mlsysim(CHANGELOG): restructure 0.1.1 entry to match release-notes template

Rewrites the 0.1.1 changelog entry to use a 9-category structure (Solvers, Hardware, Workloads, CLI, Python API, Documentation, Packaging, Bug Fixes, Internal — only sections with content shown). Adds an "— Optional Theme" extension to the heading. Adds a format-note comment block at the top of CHANGELOG.md so future authors write entries in the shape the workflow expects to extract.

Commit 3 — ci(mlsysim): extract release notes from CHANGELOG.md with template wrapper

Replaces the auto-generate fallback in mlsysim-pypi-publish.yml. New logic:

  1. If RELEASE_NOTES_<version>.md exists → use it as-is (milestone escape hatch)
  2. Otherwise → extract ## vX.Y.Z section from CHANGELOG.md, wrap with:
    • Title `MLSys·im X.Y.Z — `
    • Sub-title pointing at the textbook
    • CHANGELOG body (unchanged)
    • Install block
    • Links (PyPI, Docs, CHANGELOG, diff-from-previous)
    • Persistent "About MLSys·im" footer emphasizing the textbook-engine role

The About footer is the key positioning claim: every equation and quantitative result in the textbook is computed by mlsysim, not hand-typed.

Post-hoc fix to 0.1.1 release

Outside this PR (already applied): the live 0.1.1 GitHub Release body has been replaced via `gh release edit` with a body generated locally by the same logic the new workflow uses. This fixes the visible noise on the public release page immediately, without waiting for merge.

View: https://github.com/harvard-edge/cs249r_book/releases/tag/mlsysim-v0.1.1

Test plan

  • Identity copy audit: all remaining "analytical framework" uses classified (identity-claim → fixed; technical-category → left)
  • YAML syntax valid (`python -c 'import yaml; yaml.safe_load(...)'`)
  • Local extraction test against real CHANGELOG.md produces clean body
  • 0.1.1 release body post-hoc replacement verified
  • Next real release exercises the full extract+wrap path (no action for this PR — next bump naturally tests it)

Risk

Low. All changes are either copy/documentation or workflow-only. The workflow change fallsback safely: if CHANGELOG extraction fails (missing section), the job errors out BEFORE the release is created.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/harvard-edge/cs249r_book/pull/1525 **Author:** [@profvjreddi](https://github.com/profvjreddi) **Created:** 4/24/2026 **Status:** ✅ Merged **Merged:** 4/24/2026 **Merged by:** [@profvjreddi](https://github.com/profvjreddi) **Base:** `dev` ← **Head:** `chore/mlsysim-identity-copy-and-notes` --- ### 📝 Commits (3) - [`0745a5f`](https://github.com/harvard-edge/cs249r_book/commit/0745a5fb73ee28cb91c247e76556de0b89767cbc) mlsysim: align package identity copy with paper title - [`4309c3f`](https://github.com/harvard-edge/cs249r_book/commit/4309c3f7ee5799543199c95dc540ec73450746fe) mlsysim(CHANGELOG): restructure 0.1.1 entry to match release-notes template - [`8e2ca71`](https://github.com/harvard-edge/cs249r_book/commit/8e2ca71e8fb0811e13ec4cbb47d6e9ec406e175c) ci(mlsysim): extract release notes from CHANGELOG.md with template wrapper ### 📊 Changes **6 files changed** (+154 additions, -28 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/mlsysim-pypi-publish.yml` (+88 -9) 📝 `mlsysim/CHANGELOG.md` (+53 -8) 📝 `mlsysim/docs/tutorials/index.qmd` (+4 -4) 📝 `mlsysim/mlsysim/cli/main.py` (+5 -3) 📝 `mlsysim/pyproject.toml` (+1 -1) 📝 `mlsysim/tutorial/prerequisites.md` (+3 -3) </details> ### 📄 Description ## Summary Three related fixes that together make mlsysim's public-facing identity consistent with the paper title, and give future releases professional, mlsysim-scoped GitHub Release bodies. ### Background - The 0.1.1 release already corrected the paper *title* in `CITATION.cff`, `README.md`, and `walls.py` docstring - BUT the package's *self-description* (pyproject description, CLI help, tutorial docs) still used earlier working-title framing (\"analytical framework\") that no longer matches the paper - AND the 0.1.1 GitHub Release body auto-generated from all monorepo PRs since 0.1.0, pulling in staffml / tinytorch / lab04 work that has nothing to do with mlsysim ## What changes (3 commits) ### Commit 1 — `mlsysim: align package identity copy with paper title` Four user-facing identity statements updated to echo the paper title (\"First-Principles Infrastructure Modeling for Machine Learning Systems\"): - `mlsysim/pyproject.toml` — \`description\` field - `mlsysim/mlsysim/cli/main.py` — \`mlsysim --help\` output - `mlsysim/docs/tutorials/index.qmd` — tutorial landing blurb - `mlsysim/tutorial/prerequisites.md` — prerequisites preamble Descriptive uses of \"analytical framework\" inside the paper and related technical prose are *retained* — those are legitimate category terms situating mlsysim among Paleo, Calculon, Vidur. Only identity-claiming statements are changed. ### Commit 2 — `mlsysim(CHANGELOG): restructure 0.1.1 entry to match release-notes template` Rewrites the 0.1.1 changelog entry to use a 9-category structure (Solvers, Hardware, Workloads, CLI, Python API, Documentation, Packaging, Bug Fixes, Internal — only sections with content shown). Adds an \"— Optional Theme\" extension to the heading. Adds a format-note comment block at the top of CHANGELOG.md so future authors write entries in the shape the workflow expects to extract. ### Commit 3 — `ci(mlsysim): extract release notes from CHANGELOG.md with template wrapper` Replaces the auto-generate fallback in `mlsysim-pypi-publish.yml`. New logic: 1. If `RELEASE_NOTES_<version>.md` exists → use it as-is (milestone escape hatch) 2. Otherwise → extract `## vX.Y.Z` section from CHANGELOG.md, wrap with: - Title \`MLSys·im X.Y.Z — <Optional Theme>\` - Sub-title pointing at the textbook - CHANGELOG body (unchanged) - Install block - Links (PyPI, Docs, CHANGELOG, diff-from-previous) - Persistent \"About MLSys·im\" footer emphasizing the textbook-engine role The About footer is the key positioning claim: every equation and quantitative result in the textbook is computed by mlsysim, not hand-typed. ## Post-hoc fix to 0.1.1 release Outside this PR (already applied): the live 0.1.1 GitHub Release body has been replaced via \`gh release edit\` with a body generated locally by the same logic the new workflow uses. This fixes the visible noise on the public release page immediately, without waiting for merge. View: <https://github.com/harvard-edge/cs249r_book/releases/tag/mlsysim-v0.1.1> ## Test plan - [x] Identity copy audit: all remaining \"analytical framework\" uses classified (identity-claim → fixed; technical-category → left) - [x] YAML syntax valid (\`python -c 'import yaml; yaml.safe_load(...)'\`) - [x] Local extraction test against real CHANGELOG.md produces clean body - [x] 0.1.1 release body post-hoc replacement verified - [ ] Next real release exercises the full extract+wrap path (no action for this PR — next bump naturally tests it) ## Risk Low. All changes are either copy/documentation or workflow-only. The workflow change fallsback safely: if CHANGELOG extraction fails (missing section), the job errors out BEFORE the release is created. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-03 01:25:58 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/cs249r_book#9191