Repository navigation
Closed
Labels
Description
Translation sync failure
Source PR: #595
Target repo: QuantEcon/lecture-python-programming.fa
Target language: fa
Errors
- Error processing lectures/about_py.md: Error: structural parity check failed for lectures/about_py.md:
- directive count differs: source has 20, output has 18 — a wholesale mismatch usually means the document was re-fenced or truncated
- directive Missing _static folder #5 name changed: source line 161 has {index}, output line 170 has {code-block}
- directive Manual Fixes needed in the Source #6 name changed: source line 173 has {code-block}, output line 226 has {code-cell}
- directive Syntax Broken in "An Introductory Example" #7 name changed: source line 232 has {code-cell}, output line 260 has {index}
- directive update sources to latest version of sphinxcontrib-tomyst #8 name changed: source line 271 has {index}, output line 265 has {code-cell}
- directive missing 'r' in sentence in list #9 name changed: source line 293 has {index}, output line 274 has {code-cell}
- directive Referring to equation does not work #13 name changed: source line 334 has {code-cell}, output line 338 has {index}
- directive monospaced_text_err #14 name changed: source line 373 has {code-cell}, output line 345 has {figure}
- directive [UPDATE] enable execution by switching to use myst_nb (OLD TESTING BRANCH) #15 name changed: source line 398 has {index}, output line 349 has {figure}
- directive [UPDATE] rebuild with sphinxcontrib-tomyst(84a11e7) #16 {figure} argument changed: source line 411 has "/_static/lecture_specific/about_py/qs.png", output line 353 has "/_static/lecture_specific/about_py/career_vf.png" — structural arguments are never translated
- directive [functions] Extra markup in List Objects #17 name changed: source line 417 has {figure}, output line 373 has {index}
- directive Lessons for lecture-python, lecture-python-programming migration #18 name changed: source line 423 has {figure}, output line 380 has {code-cell}
Recovery
Once the issue is resolved, comment \translate-resync on PR #595 to retry.
Activity
mmcky commentedon Aug 20, 2026
Route corrected — use the CLI, not
\translate-resyncPer the 2026-08-20 ruling on action-translation#276,
\translate-resyncis no longer the documented recovery, and it would not have cleared this: structural-parity failures reproduce byte-for-byte on retry. This issue and its sibling are that demonstration — one was filed by the original run at engine v0.25.0 and one by the resync retry at v0.26.0, and their bodies differ only by every output line number shifting by one.Status.
about_py.mdon lecture-python-programming.fa is behind: state recordssource-sha: 3213613a(2026-05-09) against a source last-touch ofd35eb831(PR #595).Route.
translate forward -f about_py.mdfrom a source clone pulled toorigin/main— filesystem-sourced, immune to #276, parity anchored to current main.Caution. This is also the file that repeatedly fails the rebase automation with
structural parity check failed for lectures/about_py.md, leaving sibling PRs un-rebasable. Ifforwardhits the same parity violation, that is the real defect to file rather than something to work around — the violation list in this issue's body is the starting evidence.mmcky commentedon Aug 20, 2026
Recovered and closing — with no re-translation at all.
about_py.mdonlecture-python-programming.fawas never actually behind in content. Source PR #595 changed exactly two lines of this lecture, the capitalisationPytorch→PyTorch, and that fix was already present in the edition, applied by hand in fa#124 on 2026-06-19. Only the state file was stale, at3213613a. lecture-python-programming.fa#160 advances it tod35eb831(merged 2026-08-20).A
translate forwardrun was attempted first and deliberately discarded. It rewrote 266 lines to deliver a two-character casing fix that was already applied, and it dropped translator content — the tool's own triage flagged an added PyTorch/MATLAB sentence and a Java code comment before writing, andgit logtraces that content to Zahra's 2025-10-30 commit (fa#14). Per the ruling on action-translation#276, a natively-translated lecture is not regenerated when a deterministic repair will do.Worth noting: this issue and its sibling are the estate's clearest demonstration that a resync retry does not clear a structural parity failure. One was filed by the original run at engine v0.25.0 and one by the
\translate-resyncretry at v0.26.0, and their bodies differ only by every output line number shifting by one.This does not address the separate defect where
about_py.mdrepeatedly fails the rebase automation with the same parity check, leaving sibling PRs un-rebasable.