Skip to content

fix(docs): finalize i18n postprocess before skip#92668

Merged
clawsweeper[bot] merged 1 commit into
mainfrom
codex/review-pr-61960
Jun 13, 2026
Merged

fix(docs): finalize i18n postprocess before skip#92668
clawsweeper[bot] merged 1 commit into
mainfrom
codex/review-pr-61960

Conversation

@hxy91819

@hxy91819 hxy91819 commented Jun 13, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the docs-i18n hash-only skip check with explicit output states: needs translation, needs postprocess, or ready
  • mark newly generated localized docs as postprocess_version: pending, and finalize them to locale-links-v1 only after localized-link postprocess succeeds
  • keep legacy matching-hash localized outputs from being retranslated; queue them for postprocess/finalization instead, while preserving --max as the mutation bound

Supersedes #61960.

Verification

  • go test ./... in scripts/docs-i18n
  • git diff --check
  • .agents/skills/autoreview/scripts/autoreview --mode local (final run clean: no accepted/actionable findings)
  • Manual live smoke with codex exec via a temporary wrapper for the isolated CODEX_HOME: generated a zh-CN doc, finalized postprocess_version: locale-links-v1, and rewrote /gateway/troubleshooting to /zh-CN/gateway/troubleshooting

@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@openclaw-barnacle openclaw-barnacle Bot added scripts Repository scripts size: M maintainer Maintainer-authored PR labels Jun 13, 2026
@clawsweeper

clawsweeper Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed June 13, 2026, 9:10 AM ET / 13:10 UTC.

Summary
The PR changes docs-i18n doc-mode outputs from hash-only skipping to explicit translation/postprocess/ready states, adds a postprocess_version marker, queues legacy matching-hash outputs for postprocess, and covers the behavior with Go regression tests.

PR surface: Other +346. Total +346 across 6 files.

Reproducibility: yes. at source level. Current main writes x-i18n.source_hash before postprocess and shouldSkipDoc treats that hash as complete, so a postprocess failure can strand a localized output until the English source changes.

Review metrics: 1 noteworthy metric.

  • Generated i18n metadata: 1 frontmatter field added. The new postprocess_version marker controls future skip behavior for generated localized docs, so reviewers should notice the legacy and newly generated output paths are both covered.

Stored data model
Persistent data-model change detected: serialized state: scripts/docs-i18n/main_test.go, serialized state: scripts/docs-i18n/relocalize_test.go. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🌊 off-meta tidepool
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Next step before merge

  • [P2] No repair lane is needed because the automerge-opted PR has no actionable findings; exact-head checks and normal merge gates should decide landing.

Security
Cleared: No concrete security or supply-chain concern found; the diff is limited to Go docs-i18n script logic and tests with no workflow, dependency, lockfile, credential, or execution-source changes.

Review details

Best possible solution:

Land this focused state-marker fix after exact-head automerge/maintainer gates pass, then retire the older conflicting draft at #61960 as superseded by the merged PR.

Do we have a high-confidence way to reproduce the issue?

Yes at source level. Current main writes x-i18n.source_hash before postprocess and shouldSkipDoc treats that hash as complete, so a postprocess failure can strand a localized output until the English source changes.

Is this the best way to solve the issue?

Yes. The PR fixes the owner-boundary bug by making output readiness explicit in docs-i18n and reusing postprocess for legacy matching-hash outputs instead of forcing unnecessary retranslation or adding a separate migration path.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 78c66742ab97.

Label changes

Label changes:

  • add status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Not applicable: The external contributor proof gate does not apply to this maintainer-authored PR; the body still reports Go tests, git diff check, autoreview, and a manual docs-i18n smoke.
  • remove status: 👀 ready for maintainer look: Current PR status label is status: 🚀 automerge armed.

Label justifications:

  • P2: This is a focused docs-i18n correctness fix with limited blast radius to repository docs generation scripts.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🌊 off-meta tidepool and patch quality is 🦞 diamond lobster.
  • status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Not applicable: The external contributor proof gate does not apply to this maintainer-authored PR; the body still reports Go tests, git diff check, autoreview, and a manual docs-i18n smoke.
Evidence reviewed

PR surface:

Other +346. Total +346 across 6 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 6 378 32 +346
Total 6 378 32 +346

What I checked:

  • Repository policy read: Read the full root AGENTS.md plus scripts/AGENTS.md and docs/AGENTS.md; the scripts/docs-i18n review applies the script wrapper/generated-artifact and docs i18n source-of-truth guidance. (AGENTS.md:1, 78c66742ab97)
  • Current-main root cause: Current main filters doc-mode files with filterDocQueue before max handling, then postprocesses only localizedFiles from processed outputs, so a matching-hash localized output can be excluded before postprocess runs. (scripts/docs-i18n/main.go:112, 78c66742ab97)
  • Current-main hash-only readiness: Current main shouldSkipDoc returns ready solely from x-i18n.source_hash equality and has no postprocess completion check. (scripts/docs-i18n/doc_mode.go:141, 78c66742ab97)
  • PR readiness state: The PR adds docOutputNeedsTranslation, docOutputReady, and docOutputNeedsPostprocess, requiring locale-links-v1 for non-English ready outputs while preserving English hash-only readiness. (scripts/docs-i18n/doc_mode.go:152, ad79445835f6)
  • PR queue wiring: The PR carries postprocess-only existing outputs into localizedFiles and bounds translation plus postprocess-only work under --max in doc mode. (scripts/docs-i18n/main.go:113, ad79445835f6)
  • PR finalization marker: Generated x-i18n metadata now starts with postprocess_version pending, and postprocessLocalizedDocs finalizes frontmatter to locale-links-v1 after postprocess succeeds, including unchanged-body files. (scripts/docs-i18n/process.go:123, ad79445835f6)

Likely related people:

  • hxy91819: Authored the merged stale locale-link relocalization work, recent partial-batch docs-i18n fix, the superseded draft, and this active PR for the same docs-i18n postprocess path. (role: feature owner / recent area contributor; confidence: high; commits: 9b0ea7c57937, 257b251e2690, 06dea262c4fd; files: scripts/docs-i18n/main.go, scripts/docs-i18n/doc_mode.go, scripts/docs-i18n/process.go)
  • steipete: Recent commits changed the docs i18n source workflow, Codex-backed translation behavior, and route index behavior that this script path depends on. (role: recent adjacent contributor; confidence: medium; commits: 394519325799, 219afbc2ccb4, 5bd8254f6117; files: scripts/docs-i18n/main.go, scripts/docs-i18n/doc_mode.go, scripts/docs-i18n/localized_links.go)
  • joshp123: Earlier docs-i18n hardening and zh-CN entrypoint translation work touched the same script package before the current postprocess/link pipeline was added. (role: early pipeline contributor; confidence: medium; commits: e70984745be3, 0e0e395b9ebb; files: scripts/docs-i18n/doc_mode.go, scripts/docs-i18n/process.go, scripts/docs-i18n/main.go)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal backlog priority with limited blast radius. labels Jun 13, 2026
@hxy91819

Copy link
Copy Markdown
Member Author

@clawsweeper automerge

@clawsweeper

clawsweeper Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

🦞✅
Maintainer-approved ClawSweeper automerge is complete.

Approver: hxy91819
Head: ad79445835f6
Merge status: merged by ClawSweeper automerge
Merged at: 2026-06-13T13:17:03Z
Merge commit: eaeedbf1f96b

What merged:

  • Merged fix(docs): finalize i18n postprocess before skip after ClawSweeper review.

Automerge notes:

  • No ClawSweeper repair was needed after automerge opt-in.

The automerge loop is complete.

Automerge progress:

  • 2026-06-13 13:05:19 UTC review queued ad79445835f6 (queued)
  • 2026-06-13 13:17:06 UTC merged ad79445835f6 (merged by ClawSweeper automerge)

@clawsweeper clawsweeper Bot added clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. clawsweeper:human-review Needs maintainer review before ClawSweeper can continue and removed status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 13, 2026
@clawsweeper

clawsweeper Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

🦞✅
ClawSweeper is pausing this repair loop for human review.

Source: clawsweeper[bot]
Reason: - [P2] No repair lane is needed because the automerge-opted PR has no actionable findings; exact-head checks and normal merge gates should decide landing.; Cleared: No concrete security or supply-chain concern found; the diff is limited to Go docs-i18n script logic and tests with no workflow, dependency, lockfile, credential, or execution-source changes. (sha=ad79445835f69493d2bb89b9ae3094c62db455a3)

Why human review is needed:
This item has security-sensitive risk. ClawSweeper is pausing instead of making an autonomous change that could affect trust, credentials, permissions, or exposure.

What the maintainer can do as a next step:
If the maintainer accepts the current risk and wants ClawSweeper to continue merge gates, comment @clawsweeper approve. If the security-sensitive detail still needs changes, describe the safe path or push the fix, then comment @clawsweeper automerge. If the risk should not be automated, keep the PR paused for manual review or comment @clawsweeper stop.

I added clawsweeper:human-review and left the final call with a maintainer.

@hxy91819

Copy link
Copy Markdown
Member Author

@clawsweeper approve

@clawsweeper clawsweeper Bot removed the clawsweeper:human-review Needs maintainer review before ClawSweeper can continue label Jun 13, 2026
@clawsweeper
clawsweeper Bot merged commit eaeedbf into main Jun 13, 2026
214 of 223 checks passed
@clawsweeper
clawsweeper Bot deleted the codex/review-pr-61960 branch June 13, 2026 13:17
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jun 14, 2026
Summary:
- Merged fix(docs): finalize i18n postprocess before skip after ClawSweeper review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head ad79445.
- Required merge gates passed before the squash merge.

Prepared head SHA: ad79445
Review: openclaw#92668 (comment)

Co-authored-by: Mason Huang <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
wangmiao0668000666 pushed a commit to wangmiao0668000666/openclaw that referenced this pull request Jun 17, 2026
Summary:
- Merged fix(docs): finalize i18n postprocess before skip after ClawSweeper review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head ad79445.
- Required merge gates passed before the squash merge.

Prepared head SHA: ad79445
Review: openclaw#92668 (comment)

Co-authored-by: Mason Huang <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
badgerbees pushed a commit to badgerbees/openclaw that referenced this pull request Jul 8, 2026
Summary:
- Merged fix(docs): finalize i18n postprocess before skip after ClawSweeper review.

Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.

Validation:
- ClawSweeper review passed for head ad79445.
- Required merge gates passed before the squash merge.

Prepared head SHA: ad79445
Review: openclaw#92668 (comment)

Co-authored-by: Mason Huang <[email protected]>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge maintainer Maintainer-authored PR P2 Normal backlog priority with limited blast radius. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. scripts Repository scripts size: M status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant