Repository navigation
Recover the nine lectures behind the English by state-sha, then merge #286, #294 and #296 #298
Description
Done (2026-10-22): all nine lectures and the four state-only rows are recovered, and the edition is published. translate status at QuantEcon/action-translation f89f061 reads all 150 lectures ALIGNED against lecture-python.myst 9ad04de. The edition was published as publish-2026oct22 the same day, and the site checks after it are clean (see the closing comment). Found by translate status at engine v0.29.4 on 2026-10-18 after the day's drain of the sync queue (fourteen PRs merged); the dashboard's date heuristic had shown only some of them. Evidence and causes: QuantEcon/project-translation research/2026-10-18-translate-status/ (private).
How each lecture was recovered
| Lecture | Recovered by | Why it was behind |
|---|---|---|
optimal_growth_uncertainty |
#286 (merged 2026-10-21), which also carries lucas_prescott_investment, lq_mean_field_games and rational_expectations |
new lecture, parity refusal — QuantEcon/lecture-python.myst#1072 |
social_security_depletion |
#300, seeded by translate init -f at v0.29.6, together with gallant_tauchen |
new lecture, parity refusal — QuantEcon/lecture-python.myst#1092 |
sir_model |
#302, the sync of QuantEcon/lecture-python.myst#1050, then #305, which restored the review wording #302 had rewritten (below) | translated, then PR creation failed — QuantEcon/lecture-python.myst#1051 |
var_dmd, svd_intro, measurement_models |
svd_intro by #303; var_dmd and measurement_models by #304, the resync of QuantEcon/lecture-python.myst#1055 at action-translation v0.30.0, with the 2025 reviewers' var_dmd terminology restored by hand |
the first sync of QuantEcon/lecture-python.myst#1055 failed on Bad credentials and filed nothing (QuantEcon/action-translation#367); the first resync, at v0.29.6, then hit QuantEcon/action-translation#362 and QuantEcon/action-translation#407, both fixed in v0.30.0 |
harrison_kreps |
#301, which ports the seven-line la.solve change by hand |
the sync of QuantEcon/lecture-python.myst#669 failed on a missing anthropic-api-key input and filed nothing |
mccall_q |
#301, state only | the QuantEcon/lecture-python.myst#760 wave (QuantEcon/action-translation#280 auto-close), which changed only its H1 here; #273 applied it by hand, and the rng, heading-case and typo changes had arrived in August (#229, #236) |
ak_aiyagari |
accepted as it is: f4a8105 (2026-10-18) finished the hh → household rename, its code cells match the source, and its state sha is current |
the rename (QuantEcon/lecture-python.myst#706) was first delivered by hand in #297, for the code only |
State-sha advance only (content verified current, state stale): career, jv, odu (QuantEcon/lecture-python.myst#760 changed only their H1, applied in #273) and likelihood_bayes (#248 delivered the default_rng change), in #301 with mccall_q.
None of these went through translate forward, so none waited on QuantEcon/action-translation#348.
sir_model: review wording lost in #302, restored in #305
sir_model carries a native review from 2025 (yuki, Humphrey Yang). #302 updated every passage whose English changed, and kept the reviewers' wording where it could (the SEIR intro sentence, the odeint sentence). It also rewrote passages whose English did not change:
- the two bullets after 主要关注的是, both reviewer lines;
- the whole 参数 subsection, three of whose lines are the reviewers', where
Atkesonbecame阿特克森(the lecture writesAtkesoneverywhere else); - smaller rewordings across 时间路径 and the equations' bullets.
Of the twenty lines still attributed to the review before #302, five are gone with no English change behind them. The same sync had left two inconsistencies:
- Plot labels in two languages: the y-axis labels of 实验1 and 实验2 were English (
'fraction of the population'), those of 解除封锁 Chinese, and the x-axis label'days'English throughout. - State names: the list wrote
易感…移除, where the intro keeps易感者…移出者.
#305 (merged 2026-10-22) repaired all of it, in the manner of #304's var_dmd commit:
- it restored the reviewed text where the English is unchanged;
- it kept every change the English made;
- it made the labels Chinese and gave the list the intro's state names.
The engine side is on QuantEcon/action-translation#295.
Then
- Merge 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286 (merged 2026-10-21; it carries
optimal_growth_uncertaintytoo) - 🌐 [translation-sync] [gallant_tauchen] Add a lecture on Gallant and Tauchen's efficient method of moments #294 (
gallant_tauchen) and 🌐 [translation-sync] Add a lecture on Social Security trust fund depletion #296 (social_security_depletion): the rebase automation shut both when 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286 merged (the rebase mode's force-push auto-closes open sync PRs — branch content survives, the PR silently leaves the open set action-translation#280 race), and Deliver gallant_tauchen and social_security_depletion (the lectures of closed #294 and #296) #300 delivered both lectures - Answer and shut the failure issues Translation sync failed for PR #1050 (zh-cn) lecture-python.myst#1051, Translation sync failed for PR #1070 (zh-cn) lecture-python.myst#1072 and Translation sync failed for PR #1091 (zh-cn) lecture-python.myst#1092 (all shut 2026-10-22, with Translation sync failed for PR #1055 (zh-cn) lecture-python.myst#1095)
- Dispatch
cache.yml(2026-10-22 at 04:48Z), then a publish tag:publish-2026oct22at86b86e5, deployed at 06:16Z.bin/check-tofu --siteand the whole-site consistency check after: both clean (numbers in the closing comment)
Checks on every recovery PR
Structural parity against the source (directive sequence, heading map); the lecture executes in the preview and the preview log is read for Executing notebook failed, because this edition's preview reports build succeeded on execution errors (#271); the two known forward defects — model preamble and duplicate front matter (QuantEcon/action-translation#288) — and the zh-cn spacing rules (QuantEcon/project-translation#70).
Activity
mmcky commentedon Oct 21, 2026
Progress 2026-10-22, re-measured by
translate statusat v0.29.6 (@v0). Nothing new has fallen behind since 2026-10-18.optimal_growth_uncertainty: seeded withinit -fonto 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286's branch, since 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286 is the sync of [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations lecture-python.myst#1070 and its other lectures link to it. The branch's_toc.ymlhad also turned all 19 part captions back to English; it is rebuilt frommain. 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286's preview is green, with all four lectures executing; details on 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286. Merge 🌐 [translation-sync] [lucas_prescott_investment, optimal_growth_uncertainty] Two sequels to rational_expectations #286 first.social_security_depletion: seeded (the second attempt passed parity), with its four bib entries and its ToC entry; staged for 🌐 [translation-sync] Add a lecture on Social Security trust fund depletion #296, to go up once 🌐 [translation-sync] [gallant_tauchen] Add a lecture on Gallant and Tauchen's efficient method of moments #294 is in.career,jv,odu,likelihood_bayes,mccall_q: state-only advances, re-verified against the source diffs.mccall_qwas down forforward -f, but its only outstanding change is the H1, already applied.harrison_kreps: the seven-linela.solvechange ported by hand. All six are on branchrecover/state-advance-760-977, PR to follow.ak_aiyagari: nothing left to do; Make main build again: install JAX in the environment, finish ak_aiyagari's household rename, add the programming intersphinx key #297 completed the rename (hh90/90 against the source).sir_model([sir_model] update code and text lecture-python.myst#1050) andsvd_intro,var_dmd,measurement_models([var_dmd, svd_intro, measurement_models] Correct math, add exercises lecture-python.myst#1055). Each zh-cn file sits exactly at its pre-PR English, and no lecture in either PR has changed since its merge, so\translate-resyncon each source PR would deliver the section-level update the failed syncs never filed, with glossary and language rules (theforwardCLI has neither,translate forwardsends no glossary terms and no language rules: language labels are used as lookup keys action-translation#348). For #1055 the resynced bib would need repairing by hand (9 source bib commits since).sir_modelalso carries the 2026-08-20 audit's inverted closing sentence, to fix in the same PR.mmcky commentedon Oct 22, 2026
Progress 2026-10-22 (2). #286 merged. Everything else on this issue is now either in an open PR with a green preview, or waiting on one engine release.
gallant_tauchen,social_security_depletion, 21 bib entries, ToCcareer,jv,odu,likelihood_bayes,mccall_q;harrison_kreps'sla.solvechange ported by handsir_model(resync of QuantEcon/lecture-python.myst#1050), plus the audit's inverted closing sentence, the strayfigsizeline, and three spacing fixessvd_intro(resync of QuantEcon/lecture-python.myst#1055), plus three punctuation and spacing fixesNone of the four touches another's files, and merging one does not trigger the rebase automation against the others, so they can merge in any order.
recover/branch.var_dmdandmeasurement_models: the resync of [var_dmd, svd_intro, measurement_models] Correct math, add exercises lecture-python.myst#1055 failed on them (Translation sync failed for PR #1055 (zh-cn) lecture-python.myst#1095), on two engine bugs: Sync hard-fails when a lecture's intro changes to or from empty: update mode rejects "" action-translation#362 (an intro removed upstream) and Parity guard refuses a translated admonition body written on the fence line ({note} text as argument) action-translation#407 (translated text on a{note}fence line). Both are addressed in sync: an intro that appears or disappears (#362); parity: body admonitions' fence-line text (#407) action-translation#408; run locally on these two files, both pass the parity check and execute identically to the English. After it is released, a second\translate-resyncon [var_dmd, svd_intro, measurement_models] Correct math, add exercises lecture-python.myst#1055 delivers them, with the duplicatesvd_introdropped from that PR by hand.ak_aiyagari: nothing to do (Make main build again: install JAX in the environment, finish ak_aiyagari's household rename, add the programming intersphinx key #297 completed it).Still to do: the release and that resync; reply on the four failure issues with the delivering PRs (QuantEcon/lecture-python.myst#1051, QuantEcon/lecture-python.myst#1072, QuantEcon/lecture-python.myst#1092, QuantEcon/lecture-python.myst#1095) and shut them; then
cache.yml, a publish tag, and the site checks.mmcky commentedon Oct 22, 2026
#300–#303 merged (2026-10-22).
translate statusat v0.29.6 against lecture-python.mystmainnow reports 148/150 aligned. The two left arevar_dmdandmeasurement_models, waiting on QuantEcon/action-translation#408.Checked on
mainafter the merges: all 150 ToC entries resolve, with Chinese part captions; all 441 cited keys resolve; no_fonts/paths; no duplicate front matter. The rebase automation found nothing to rebase on the two sync merges and skipped bothrecover/merges.Failure issues QuantEcon/lecture-python.myst#1051, QuantEcon/lecture-python.myst#1072 and QuantEcon/lecture-python.myst#1092 are answered and shut. QuantEcon/lecture-python.myst#1095 stays open until the second resync; the engine shuts a failure issue itself when a later sync of the same PR succeeds.
mmcky commentedon Oct 22, 2026
All lectures recovered: 150/150 aligned (2026-10-22). #304, the second resync of QuantEcon/lecture-python.myst#1055 at action-translation v0.30.0 (QuantEcon/action-translation#408), delivered
var_dmdandmeasurement_models, and QuantEcon/lecture-python.myst#1095 shut itself on success. The engine left outsvd_intro, already current from #303, so nothing had to be dropped by hand.Checked on
mainatd5df06e:translate statusat v0.29.6 reports 150 of 150 aligned.var_dmdandmeasurement_modelsmatch the English structurally (directive sequence, math blocks, anchors, headings, code), with zero zh-cn rule hits.measurement_modelscarries its translated{note}fence line, the Parity guard refuses a translated admonition body written on the fence line ({note} text as argument) action-translation#407 case.measurement_models's 8 figures render their Chinese labels with no missing glyphs.Left on this issue: the publish (
cache.ymlonmain, then apublish-YYYYmonDDtag),check-tofu --siteafter the CDN window, and the whole-site consistency check.mmcky commentedon Oct 22, 2026
Done: published as
publish-2026oct22and checked on the live site (2026-10-22).86b86e5):sir_model's 2025 review wording, lost in 🌐 [translation-sync] [sir_model] update code and text #302, is restored.Build & Publish to GH-PAGESrun forpublish-2026oct22succeeded and deployedgh-pagesat 06:15:46Z. Its log has noExecuting notebook failedand no traceback.sir_model,var_dmdandmeasurement_modelsexecuted in 2.95 s, 2.56 s and 17.77 s.searchindex.jswere served withLast-Modified: 06:16:37 GMT, and none from before the deploy.check-tofu --site: 150 pages scanned, no missing-glyph warnings._toc.ymlhas a page in the site's search index, and the index lists none that the ToC does not;newton_methodis its deliberateraises-exceptioncell;sir_model,var_dmdandmeasurement_modelscarry text that is new sincepublish-2026oct12b, so the deploy is today'smain.translate statusat QuantEcon/action-translationf89f061: 150 of 150 aligned against lecture-python.myst9ad04de.The
cache.ymlrun dispatched at 04:48Z is still running. It refreshes the execution cache for later builds and did not gate this publish.Done, so this issue can be shut.
mmcky commentedon Oct 22, 2026
Two additions to the close-out above (2026-10-22).
Section numbering on the live site agrees across pages. All 150 pages, fetched after the CDN window (
Last-Modified: 06:16:37 GMT), were checked for the invariant the 2026-08-24 release broke. Each lecture's own H1 number matches the number every page's sidebar gives it and the number in its neighbours' prev/next titles. All 149 numbered lectures appear in every sidebar, and no two share a number. The new lectures are numbered in place:gallant_tauchen38,lucas_prescott_investment115,optimal_growth_uncertainty116,social_security_depletion125,lq_mean_field_games126.svd_intro(#303) has not had #305's check. #303 came through the same resync path as #302 onto text Humphrey Yang reviewed in 2025. Of the 949 pre-#303 lines blamed on that review, #303 changed 64 prose lines. 34 of them only had spacing or punctuation fixed, which the zh-cn rules require. 30 were substantially rewritten or removed. QuantEcon/lecture-python.myst#1055 rewrote about 35% of the English, so many of the 30 are probably the English's own changes. Separating those from rewrites of unchanged English needs the line-by-line review #305 gavesir_model.