From the v0.8.0 validation study against native lecture-python-intro / lecture-python-programming. Context: QuantEcon/lectures#11.
build-lectures defaults extra-args to -W --keep-going (build-lectures/action.yml:25) — no -n. HTML-only gap: :103-104 hard-codes -n for pdflatex and jupyter, and only the html branch (:102) leaves builder_args empty, so the published site builds without nitpick. build-jupyter-cache calls build-lectures at three fixed with: blocks with no extra-args passthrough (build-jupyter-cache/action.yml:160-190), so its consumers cannot get -n — or any flag — in.
Native practice is not uniform:
lecture-python-programming ci.yml:87 + publish.yml:103 — -n -W --keep-going
lecture-python-intro ci.yml:86 — -nW --keep-going; publish.yml:91 — none, neither -n nor -W
- both repos' cache.yml —
-W --keep-going
So the default already equals both native cache builds and is stricter than intro's publish; -n diverges only on the CI/publish HTML path, which a direct build-lectures consumer can override.
templates/ci.yml:82 and templates/publish.yml:98 hard-code extra-args: '-W --keep-going', and extra-args replaces rather than extends the default (build-lectures/README.md:190-203): changing the default is a no-op for template-derived consumers, and adding -n but dropping -W silently loses build-failure detection.
Decisions needed before any code
Then, in this order
From the v0.8.0 validation study against native
lecture-python-intro/lecture-python-programming. Context: QuantEcon/lectures#11.build-lecturesdefaultsextra-argsto-W --keep-going(build-lectures/action.yml:25) — no-n. HTML-only gap::103-104hard-codes-nfor pdflatex and jupyter, and only thehtmlbranch (:102) leavesbuilder_argsempty, so the published site builds without nitpick.build-jupyter-cachecallsbuild-lecturesat three fixedwith:blocks with noextra-argspassthrough (build-jupyter-cache/action.yml:160-190), so its consumers cannot get-n— or any flag — in.Native practice is not uniform:
lecture-python-programmingci.yml:87 + publish.yml:103 —-n -W --keep-goinglecture-python-introci.yml:86 —-nW --keep-going; publish.yml:91 — none, neither-nnor-W-W --keep-goingSo the default already equals both native cache builds and is stricter than intro's publish;
-ndiverges only on the CI/publish HTML path, which a directbuild-lecturesconsumer can override.templates/ci.yml:82andtemplates/publish.yml:98hard-codeextra-args: '-W --keep-going', andextra-argsreplaces rather than extends the default (build-lectures/README.md:190-203): changing the default is a no-op for template-derived consumers, and adding-nbut dropping-Wsilently loses build-failure detection.Decisions needed before any code
-n? Standardization, not a parity fix, and consumer-visible: repos with broken cross-references start failing CI, so it wants an announcement and a minor release.html-extra-argsbeats a blanketextra-args, since pdflatex and jupyter already inject-nand would get it twice.Then, in this order
templates/ci.yml:82andtemplates/publish.yml:98— that is what reaches consumers.build-jupyter-cache/action.yml:42-51, wired at:168/:178/:188, mirroring theupload-failure-reportsplumbing from v0.11.0 (build-jupyter-cache: container-mode failures are silent, undebuggable, and use unpinned sub-actions #83); update the reproduce commands at:439-443, whose comment (:438) requires them to match today's flags.templates/cache.yml:62inherits the gap and cannot carry the strictness decision until then.docs/MIGRATION-GUIDE.md, which never mentionsextra-args; the only nitpick guidance is the "Nitpick mode" example atbuild-lectures/README.md:212.