Found during the lecture-python.zh-cn post-wave drift mini-wave (QuantEcon/project-translation#14, zh-cn PRs #188–#193).
forward --github hard-codes its PR labels as action-translation-sync + resync (src/cli/forward-pr-creator.ts, buildGhArgs). The review workflow template (docs/user/tutorials/connect-existing.md, deployed verbatim in the edition repos) gates its job on the action-translation label — the label set the action's pr-creator applies. Result: every resync PR created by the CLI fails the filter and Review Translations completes as skipped, silently. All six mini-wave PRs skipped review until the label was added by hand, which fired the labeled event and ran the reviews.
Options: (a) add action-translation to the CLI's label set so both write paths satisfy the template; (b) widen the template filter to match either label — but (a) keeps the template simple and the label contract single-valued.
Also noticed while debugging: docs/user/tutorials/resync-drifted.md tells users SOURCE_ONLY → forward -f <file>, but forward throws Target file not found … (use 'new' translation for missing targets) for missing targets (resyncSingleFile). The tutorial row should say init -f <file>. Happy to split this into its own issue if preferred.
Found during the lecture-python.zh-cn post-wave drift mini-wave (QuantEcon/project-translation#14, zh-cn PRs #188–#193).
forward --githubhard-codes its PR labels asaction-translation-sync+resync(src/cli/forward-pr-creator.ts, buildGhArgs). The review workflow template (docs/user/tutorials/connect-existing.md, deployed verbatim in the edition repos) gates its job on theaction-translationlabel — the label set the action's pr-creator applies. Result: every resync PR created by the CLI fails the filter and Review Translations completes asskipped, silently. All six mini-wave PRs skipped review until the label was added by hand, which fired thelabeledevent and ran the reviews.Options: (a) add
action-translationto the CLI's label set so both write paths satisfy the template; (b) widen the template filter to match either label — but (a) keeps the template simple and the label contract single-valued.Also noticed while debugging: docs/user/tutorials/resync-drifted.md tells users
SOURCE_ONLY → forward -f <file>, but forward throwsTarget file not found … (use 'new' translation for missing targets)for missing targets (resyncSingleFile). The tutorial row should sayinit -f <file>. Happy to split this into its own issue if preferred.