Skip to content

docs(workshop): refine IDETC participant notebook - #77

Merged
mkeeler43 merged 9 commits into
feat/idetc26-workshopfrom
codex/idetc26-workshop-participant-rework
Aug 20, 2026
Merged

mkeeler43 merged 9 commits into
feat/idetc26-workshopfrom
codex/idetc26-workshop-participant-rework

Conversation

@SoheylM

@SoheylM SoheylM commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • refine the participant-facing notebook prose while preserving the murder-mystery structure
  • make repeated Colab setup runs idempotent and align the workshop README with the implemented flow
  • point the generated notebook and Colab link to feat/idetc26-workshop so they remain valid after merge
  • keep generated notebook output synchronized with tools/build_notebook.py

Verification

  • ruff check workshops/idetc26/tools/build_notebook.py
  • python -B -m py_compile workshops/idetc26/tools/build_notebook.py
  • regenerated the notebook twice and confirmed byte-identical output
  • PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 python -m pytest -q tests/test_idetc26.py: 27 passed; 19 setup errors because the sandbox could neither write the existing Hugging Face cache lock nor reach the Hub

@mkeeler43
mkeeler43 merged commit b0d291b into feat/idetc26-workshop Aug 20, 2026
1 of 4 checks passed
@mkeeler43
mkeeler43 deleted the codex/idetc26-workshop-participant-rework branch August 20, 2026 20:06
mkeeler43 added a commit that referenced this pull request Aug 22, 2026
case.help() printed 125 lines, and the reference half of it was the half
nobody could read: prose paragraphs, the murder-mystery vocabulary doing
work it could not do ("one question, every suspect"), and argument tables
that had to be assembled into a call before they could be used.

It now prints 28 lines and nothing else -- the five calls, then one line
per form of evaluate and show, each with its result in a column at 42 and
its default flush right at 77. Every how= value is a runnable line rather
than a value you have to work into a call yourself. The only sentence left
is the fragment-matching rule, which is not guessable from anything else.

The reference material is real, so it moved rather than went: controls,
the space map, every keyword with its default, and the raw arrays are
behind case.help(full=True), under a header saying it is not needed for
the session. full is keyword-only, so every existing case.help() call
keeps working.

Checked rather than eyeballed: every metric named in the sheet is
registered and configured for beams2d, every case.* method exists, every
keyword matches the signature it belongs to, and volfrac is the spec's
volume_condition. Nothing exceeds 80 columns.

build_notebook.py also picks up a ruff format fix it arrived with in #77,
which pre-commit does not exclude and would have failed on next commit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mkeeler43 added a commit that referenced this pull request Aug 22, 2026
Two notes from the supervisor's read-through.

The Setup heading said nothing about cost, so a participant watching a
silent pip install has no way to tell a slow cell from a hung one.
Measured on Colab: about a minute to install, about 45 seconds to open the
case and pull the dataset.

The performance section named iog, cog and fog only in lower case, inside
a sentence that then repeated itself after #77 appended definitions to it.
They are acronyms, so they are capitalised where the concept is named and
left lower case where the column is -- `case.evaluate("cog")` takes the
string. A table separates the two rather than mixing them mid-sentence.

Both directions checked against the registry: all three are
higher_is_better=False and cost="expensive", which is what the cell now
claims.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants