QuantEcon / QuantEcon/test-lecture-theme-sphinx

Corpus completion: the ten missing constructs, a known-failures section, and the capture script for the two verbatim pages

Open
#2 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
0
Forks
0
Avg merge
28m
Merged PRs (30d)
6

Description

Phase 2 of QuantEcon/project-theme-parity#2. Brief revised 2026-09-17 after review (mmcky): synthetic snippets as the rule; the two verbatim pages stay; no further lecture captures unless the coverage join asks for one. Revised again the same day: the coverage join itself moves to the project's pass (bin/coverage in project-theme-parity), because it needs the private lecture inventory as well as this public corpus, and coverage is a property of an inventory version × a corpus version — a pass, not a repository.

Where the corpus stands (measured 2026-09-17)

Running bin/feature-inventory (workspace-lectures) over this repository's lectures/ and joining it to the 2026-09-17 matrix: 130 of the 140 inventoried constructs are present. Absent:

Kind Construct Lecture uses Source
directive-option / cell-option label on {code-cell} and {figure} (3 rows) 89 lecture-wasm, the mystmd-native convention — and now the after-form of the mystnb.figure rewrite (QuantEcon/mystmd#114)
role any 3 lecture-python-programming; QuantEcon/mystmd#118
cell-tag no-execute 1 one lecture; not a MyST-NB tag on either stack
latex-env align, equation*, gathered 1 each one lecture each
html-tag font, style 1 each one lecture each

Decisions that shape this item

  • Synthetic by default (2026-09-17). Snippets are cheap, stable and provenance-tagged; verbatim lectures add execution time, data dependencies and drift. The two verbatim pages already here (lp_intro.md, troubleshooting.md) stay as the realism fixtures for the visual review and for interaction effects — numbering across many targets, a {numref} far from its figure, a bibliography with real citation density (references.md needs a lecture that cites to test BibTeX rendering). Nothing further is captured unless the project's coverage report shows a construct a snippet cannot express.
  • Execution is measured too. The corpus must exercise how each stack renders execution outcomes, not only markup: errors, halts, long outputs, skipped cells. GPU-only cells are out of scope — that is the execution backend, not the theme.
  • Real material for figures and files: images and static files referenced by snippets are copied from the lecture repositories' _static/lecture_specific/<slug>/ with a provenance line (repo, path, commit); datasets load from data-lectures URLs exactly as the lectures do.
  • Corpus scope: the eight manifest repositories (QuantEcon/project-theme-parity#5).
  • Coverage is computed by the project, not here: bin/coverage in project-theme-parity runs the inventory scanner over this repository at a recorded commit, joins it to the lecture inventory, writes passes/<date>/coverage.md, and fails the pass when a construct with lecture uses is absent. This README links to the latest coverage report rather than carrying a COVERAGE.md.

Work

  1. Ten missing constructs as snippets, each with a provenance comment naming the lecture it is adapted from: the label: convention on a code cell and a figure (from lecture-wasm), {any}, no-execute, align, equation*, gathered, <font>, <style>.
  2. A known-failures section at the end of code_cells.md: a raises-exception cell, a deliberate NameError without the tag (both stacks' halt behaviour), an output longer than the scroll cap, a skip-execution cell, a cell writing to stderr, a cell producing a wide DataFrame. Last on the page so a halt cannot hide other surfaces, as the :load: demonstration already is.
  3. bin/capture for the two verbatim pages only: re-copy lp_intro.md and troubleshooting.md from lecture-python-intro at a named commit, record (repo, path, commit, date) in CAPTURES.yml, and replace the hand-written provenance comments with a generated header. The script fails loudly on a referenced file it cannot copy rather than editing the lecture.
  4. Keep the Sphinx build clean under -W; update _toc.yml; re-sync test-lecture-theme-mystmd with bin/sync-from-sphinx; link the README to the project's latest coverage report.

Exit

All ten constructs and the known-failures section are on pages with provenance, both builds are green, the mystmd repository is re-derived, and the next pass in project-theme-parity reports 140 of 140 present.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running bin/feature-inventory against lectures/ and reading code_cells.md, the existing verbatim pages, and their provenance. Add the ten missing constructs and known-failures section, then use bin/capture for lp_intro.md and troubleshooting.md with CAPTURES.yml and update _toc.yml and the README. Verify clean Sphinx builds, re-sync with bin/sync-from-sphinx, and confirm the next project-theme-parity coverage pass reports 140 of 140 constructs.

Written by the indexing model from the issue text.

Assessment

Tech stack
latex
Domain
build-system, documentation, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.