Skip to content

docs(i18n): daily translation sync (run 40240071757) - #338

Merged
yiliang114 merged 2 commits into
mainfrom
automation/daily-translation-40240071757
Oct 28, 2026
Merged

yiliang114 merged 2 commits into
mainfrom
automation/daily-translation-40240071757

Conversation

@qwen-code-review-bot

Copy link
Copy Markdown
Collaborator

Verified daily translation batch from scheduled run https://github.com/QwenLM/qwen-code-docs/actions/runs/40240071757.

Review and merge to publish: the main push triggers deploy-docs.yml, which rebuilds and deploys the site. Later scheduled runs pause while this PR is open, so merging it also unblocks the next one.

Files whose structure could not be verified were restored from HEAD and are not included here; the run log lists them.

@yiliang114 yiliang114 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Patrol-Run: qwen-docs-pr-review

Reviewed head 1de9826f741a1962131c5a50b725ca944e74b63e (28 files, +438/-121, upstream 87735a9a → 338f1336). Three blocking findings, all newly introduced by this batch and none of them self-healing — so this round does not merge.

Blocking

1. Mojibake published to the zh page

website/content/zh/users/features/autofix-pr.md:69 carries three U+FFFD replacement characters (raw bytes \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd) between `/resume` and 后:

…——或在 `/clear` 或 `/resume` 后——同样会提议接管该监视…

Evidence that this PR introduced it:

  • base 531b0668 of the same file: 0 U+FFFD; its line 61 read …或在 \/clear` 或 `/resume` 之后——会提议接管该监视…`
  • head: 3 U+FFFD, all on this one line
  • the other languages touched this round (fr, ko, pt-BR, ru) have 0
  • visible in GitHub's own diff on the + side, so it is not an artefact of how I fetched the blob

Expected fix: restore the lost character(s) — the sentence should read …或 \/resume` 之后——…to match EN:69— or after `/clear` or `/resume` —`.

Why this blocks: it renders as visible garbage on the published site. It also will not self-heal — last-sync.json now records zh for docs/users/features/autofix-pr.md as b17c5c9a…, which I computed equals the upstream sha256 at 338f1336, so the per-(file,lang) baseline model treats zh as current and will never re-queue it.

2. Duplicate heading on the zh managed-agent page

website/content/zh/users/managed-agent-reference-deployment.md now has ## 启动 Hosted Harness twice, at :28 and :32.

  • base 531b0668: one occurrence, at :30 (13 heading lines total)
  • head: two occurrences (15 heading lines total)
  • EN has one ## Start the Hosted Harness, at :30 (13 heading lines)

EN keeps The Java archive does not contain the npm CLI… under ## Prerequisites (:19). The inserted heading moves the zh equivalent (Java 归档文件不包含 npm CLI…, :30) under a spurious ## 启动 Hosted Harness, so the page renders two identical TOC entries and that paragraph lands in the wrong section.

Why this blocks: same non-self-healing property — last-sync.json records zh = 5610cb65…, which equals the upstream sha256 at 338f1336. ja was updated in the same batch and is clean (13 headings, matching EN).

3. ru lost the two table rows this PR added to EN

EN's files table gained two rows this round — autofix-pr-<n>-gate.checked (EN:78) and autofix-pr-<n>-instructions.txt (EN:82). zh, fr, ko and pt-BR all picked them up. ru did not:

  • website/content/ru/users/features/autofix-pr.md:76-82 — 7 data rows vs EN's 9 (15 | lines vs EN 17)
  • ru's autofix-pr-<n>-state.json row (:77) also lacks the , its scheduled task clause that EN:76 now carries
  • this PR's ru hunks are at the usage block, "Перед началом" and "Статус и возобновление" only — no hunk reaches the tables

Why this blocks: last-sync.json advanced ru to b17c5c9a… == the current upstream sha256, so ru is marked fully current while missing content, and the per-(file,lang) model will never revisit it. (ja and de also lack the rows, but their hashes stayed at 6de58742…, so they remain queued and will self-heal — those are fine.)

Non-blocking

New ko page is not in ko's nav. ko/users/features/autofix-pr.md is added but ko/users/features/_meta.ts does not list autofix-pr. No build risk: findUnlistedEntries (website/scripts/check-nav-coverage.mjs:51, DEFAULT_CONTENT_ROOT at :75) only walks content/en, and EN lists it at _meta.ts:42. It is also a pre-existing family — autofix-pr, batch and mem0 are unlisted in all seven non-EN languages. Only effect is sidebar position. Worth fixing in the mirror layer once, not per batch.

What I verified clean

  • CI at head 1de9826f: Translator unit tests success, Website unit tests success, Structural gate skipped, 0 commit statuses. The skip is by design — translation-gate.yml excludes same-repo automation/daily-translation-*. I ran the same checker locally: node translator/orchestrator/orchestrator.mjs check --files <27 changed .md> → 18 file(s) checked, 0 failed.
  • Merge gate: main has no branch protection (404) and 0 rulesets, so those three checks are the full applicable set.
  • EN mirror fidelity: applied the pipeline's own normalizeMarkdownRelativeLinks (translator/src/sync.ts:47-72) to the 10 upstream files at 338f1336 — 9/10 byte-identical to the mirror; the 10th differs only by the documented language-switch line strip.
  • Baseline arithmetic: JSON-level diff of last-sync.json base→head = 18 moved pairs; all 18 match the upstream sha256 at 338f1336; 0 "moved but != upstream".
  • Shape: heading count + level-sequence + duplicate-text vs EN for every changed page → only finding 2. Fence and table-row counts vs EN → only finding 3.
  • No unbalanced code fences, no unresolved placeholders (the {{args}} hits in en/users/features/commands.md are literal template syntax in EN prose), no secrets, no unrelated changes.
  • Partial language coverage left alone — per the per-(file,lang) model those pairs stay queued and self-heal.

What I did not check

  • Per-language semantics beyond shape. I did not read each translation sentence-by-sentence against EN, so a meaning flip in an otherwise well-formed page would not show up here.
  • Did not run the website build or the unit-test suites locally — relied on CI green plus the local structural checker.
  • Did not verify the upstream EN prose against the qwen-code implementation.

One note on cost: all three fixes are small (a few characters, one deleted heading, two table rows), but requesting changes keeps this PR open and the PR body says later scheduled runs pause while it is. If you would rather not stall the nightly, fixing forward on main right after a merge is a legitimate call — the reason I did not take it by default is that none of the three will be repaired by a later run.

… rows

Fixes the three blocking findings on #338:

- zh/users/features/autofix-pr.md: three U+FFFD between `/resume` and
  后; restored to `之后`, matching EN "— or after `/clear` or `/resume` —".
- zh/users/managed-agent-reference-deployment.md: drop the spurious
  second `## 启动 Hosted Harness` so the "Java archive does not contain
  the npm CLI" paragraph stays under `## 前置条件`, as in EN.
- ru/users/features/autofix-pr.md: add the `autofix-pr-<n>-gate.checked`
  and `autofix-pr-<n>-instructions.txt` rows this batch added to EN.
@yiliang114
yiliang114 dismissed their stale review October 28, 2026 07:32

The three blocking findings are fixed by 27e0058 on this branch (zh mojibake restored to 之后, duplicate zh H2 removed, two ru table rows added). Head re-read equals the reviewed-again SHA; dismissing my own marked review.

@yiliang114
yiliang114 merged commit a3f8942 into main Oct 28, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants