Skip to content

[action-translation] resync: mccall_persist_trans.md#171

Merged
mmcky merged 7 commits into
mainfrom
resync/mccall_persist_trans
Jul 19, 2026
Merged

[action-translation] resync: mccall_persist_trans.md#171
mmcky merged 7 commits into
mainfrom
resync/mccall_persist_trans

Conversation

@mmcky

@mmcky mmcky commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Forward Resync: mccall_persist_trans.md

Source: QuantEcon/lecture-python.mystlectures/mccall_persist_trans.md
Source commit: 0bfcac8
This PR resyncs the translation to match the current source document.

Reason: The target is a completely different implementation (NumPy/Numba-based) than the source (JAX-based), missing key source content: title differs ('Job Search IV' vs 'Job Search V'), no gpu.md admonition, missing explanation of decomposition rationale and citations (MaCurdy1982, Meghir2004), uses jitclass/Numba instead of NamedTuple/JAX code, different code implementations throughout (Q operator, compute_fixed_point, duration simulation), missing verbose convergence printing differences, and initial state described as Z_0=0 vs z_t=0. Overall substantial content and code differences requiring re-translation, though some may be considered updates rather than pure stylistic changes.

Changes

Whole-file resync applied. The entire document was resynced in a single pass.


Created by action-translation forward resync

Copilot AI review requested due to automatic review settings July 18, 2026 10:46
@mmcky mmcky added action-translation-sync Auto-created by action-translation resync Forward resync labels Jul 18, 2026
@netlify

netlify Bot commented Jul 18, 2026

Copy link
Copy Markdown

Deploy Preview for astonishing-narwhal-a8fc64 ready!

Name Link
🔨 Latest commit a027e65
🔍 Latest deploy log https://app.netlify.com/projects/astonishing-narwhal-a8fc64/deploys/6a5ca2d9b45e730008f71e7f
😎 Deploy Preview https://deploy-preview-171--astonishing-narwhal-a8fc64.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@mmcky mmcky added the action-translation PRs created by QuantEcon/action-translation label Jul 18, 2026
@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

✅ Translation Quality Review

Verdict: PASS | Model: claude-sonnet-5 | Date: 2026-07-19


📝 Translation Quality

Criterion Score
Accuracy 9/10
Fluency 9/10
Terminology 9/10
Formatting 8/10
Overall 8.9/10

Summary: This is a high-quality resync translation that accurately conveys the technical and mathematical content of the source document with fluent, natural Chinese prose and consistent terminology. Minor issues include an added 'intermediate:' namespace prefix in one cross-reference link, a substituted Baidu Baike link in place of the original Wikipedia link, and extra font-configuration code inserted into a code cell that wasn't part of the original source — these should be reviewed for consistency with the source but do not undermine overall translation quality. Mathematical notation, LaTeX equations, and code blocks are preserved accurately across the resync Technical terminology (e.g., 保留工资, 延续价值函数, 压缩映射, 不动点) is consistent and matches domain conventions The prose translation is fluent and reads naturally in academic Simplified Chinese, with appropriate rendering of nuanced phrases like 'option value of waiting' → '等待的期权价值'

Suggestions:

  • Job Search III reference link: The translation uses '{doc}工作搜寻 III <intermediate:mccall_model_with_sep_markov>' with an 'intermediate:' prefix that is not present in the English source ('{doc}Job Search III <mccall_model_with_sep_markov>'). This appears to be an inserted cross-reference path that doesn't match the source and should be verified for correctness or reverted to match the source link target.
  • Contraction mapping link: The English source links '[contraction mapping]' to a Wikipedia English URL, but the translation replaces it with a Baidu Baike Chinese URL ('https://baike.baidu.com/item/...'). While this may improve reader accessibility, it changes the reference source from the original and should be flagged as a deviation from the source document, even though the term translation itself ('压缩映射') is correct.
  • Font-loading code block: The translation adds extra code lines (matplotlib font configuration: 'import matplotlib as mpl', 'FONTPATH = ...', 'mpl.font_manager...', 'plt.rcParams...') not present in the English source's import cell. This is additional content beyond translation and should be noted as an insertion, even if intended for rendering Chinese characters correctly in plots.

🔍 Diff Quality

Check Status
Scope Correct
Position Correct
Structure Preserved
Heading-map Correct
Overall 10/10

Summary: The resync correctly updates the target document to match the fully restructured source (new title, new sections, JAX-based code, GPU admonition, updated imports) while preserving Chinese-specific font/matplotlib customizations and updating the translation heading-map appropriately.

Issues:

  • The 'Job Search III' cross-reference link changed from <mccall_model_with_sep_markov> to intermediate:mccall_model_with_sep_markov, which is not present in the source's identical Before/After — this appears to be a pre-existing target-specific link convention rather than an error, but worth flagging for review.
  • A stray colon appears after '这是一个解决方案' in the After (now correctly '这是一个解决方案:') consistent with source 'Here is one solution:' — this is a minor improvement, not an issue.
  • Utility function line changed from u(c) = ln(c) in Before to u(x) = ln(x) in After matching source's u(x) = \ln(x), correctly synced.

This review was generated automatically by action-translation review mode.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR forward-resyncs the Chinese translation of mccall_persist_trans.md to match the current upstream English lecture, including the shift to a JAX-based implementation and updated narrative structure.

Changes:

  • Resynced the lecture’s structure/content (title, overview, citations, GPU admonition) to align with the upstream “Job Search V” version.
  • Replaced the prior NumPy/Numba implementation with a JAX-based implementation for the operator, fixed point iteration, and simulation.
  • Added translation frontmatter metadata and updated translation sync state.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
lectures/mccall_persist_trans.md Whole-document resync: updated text, math, and code to the upstream JAX-based lecture; added translation metadata and GPU admonition.
.translate/state/mccall_persist_trans.md.yml Records resync provenance (source SHA, date, model, mode).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +67 to +71
```{code-cell} ipython
import matplotlib.pyplot as plt
import matplotlib as mpl
FONTPATH = "fonts/SourceHanSerifSC-SemiBold.otf"
mpl.font_manager.fontManager.addfont(FONTPATH)
plt.rcParams['font.family'] = ['Source Han Serif SC']

import numpy as np
import jax
import jax.numpy as jnp
import jax.random
Comment on lines +317 to +318
ax.plot(model.z_grid, res_wage_function,
label=rf"$\bar w$ at $c = {c}$")
Comment on lines +356 to +366
# 检查是否最优选择是停止
accept = w >= res_wage
τ = jnp.where(accept, t, t_max)

# 如果不接受,更新状态
z_new = jnp.where(accept, z,
ρ * z + d + σ * jax.random.normal(key2))
t_new = t + 1
unemployed_new = jnp.logical_not(accept)

return z_new, t_new, unemployed_new, key
@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

@github-actions
github-actions Bot temporarily deployed to pull request July 18, 2026 10:57 Inactive
mmcky and others added 2 commits July 18, 2026 21:20
The resynced file keeps Chinese plot labels but reverted the import
cell to the source's exact form, losing the Source Han Serif setup -
Chinese in figures would render as missing glyphs. Residual #107
class found in the merge review; applied wave-wide.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
These {doc} targets exist only in lecture-python.myst until Phase 2
translates them; qualifying with the intermediate: intersphinx prefix
gives working links now, and a future resync restores local refs once
the targets exist. Program decision recorded 2026-07-18 (Matt).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pull request July 18, 2026 11:34 Inactive
mmcky and others added 2 commits July 19, 2026 14:05
…ions

The resync of mccall_persist_trans.md pulled in {cite}`MaCurdy1982` and
{cite}`Meghir2004` from upstream, but the shared quant-econ.bib was not synced,
so the strict build (-W) failed on "could not find bibtex key". Entries copied
verbatim from QuantEcon/lecture-python.myst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pull request July 19, 2026 05:02 Inactive
mmcky and others added 2 commits July 19, 2026 15:26
All four bibtex keys the wave needs (Lucas_Prescott_1971, Blume_Easley2006,
MaCurdy1982, Meghir2004) are now present identically across the affected
branches so the resync PRs merge without append-at-EOF conflicts. Entries
copied verbatim from QuantEcon/lecture-python.myst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…_trans

# Conflicts:
#	lectures/_static/quant-econ.bib
@github-actions
github-actions Bot temporarily deployed to pull request July 19, 2026 10:43 Inactive
@mmcky
mmcky merged commit 47ac8db into main Jul 19, 2026
8 checks passed
@mmcky
mmcky deleted the resync/mccall_persist_trans branch July 19, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action-translation PRs created by QuantEcon/action-translation action-translation-sync Auto-created by action-translation resync Forward resync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants