Tracking issue for the work queued behind today's release. Context: v0.18.0 shipped the forward --github integrity cluster (#108 → #104, #105, the mechanical halves of #106), criterion-score validation (#110 → #102), and node24 + @actions/* CJS majors (#111 → most of #89), all smoke-tested live on QuantEcon/test-translation-sync.fa#78. v0, v0.18, and v0.18.0 all point at the release. The items below are ordered; each is independently completable.
1. Bump the estate to v0.18.0
The reviewer resync fallback and all #108 fixes only reach target repos when their pins move — the estate sits at v0.16.1 (two releases behind; 9 pins across 4 repos, catalogue in QuantEcon/project-translation#7). Repos wired to @v0 picked the release up automatically; explicit ref: pins need PRs. While touching each repo's workflows, apply the current v0.17.0+ review-template guards (labeled trigger, concurrency group, permissions) where missing — the same drift #109 documents for the harness.
2. #107 validation wave (prompt change is live but unmeasured)
Re-run translate forward -f on two or three of the 11 hand-fixed intro.zh-cn lectures — long_run_growth, inequality, heavy_tails are the localisation-richest — and diff the output against the hand-fixed branches (the ground truth), counting CJK-bearing code lines per file as #107's follow-up comments prescribe (per-file counts catch wholesale anglicisation; exact-line diff catches the single load-bearing lines like long_run_growth's CSV mapping). Close #107 if preservation holds; either way the comparison seeds the #82 eval harness with its first real metric.
3. #109 harness alignment + the resync-review-label decision
The config work is listed in #109 (labels, current templates, status --write-state bootstrap, config-preserving resets). It contains one design decision to make deliberately: forward resync PRs carry action-translation-sync + resync but not action-translation, so review never auto-triggers on them anywhere. Recommendation: have createForwardPR also apply action-translation — no target-repo workflow edits needed, and it composes with #103's future verdict routing. Small related fix from the smoke: a missing label makes gh pr create fail after the branch is pushed (branch exists, no PR) — fall back to creating the label or opening the PR unlabeled with a warning.
4. Resume the #94 plan: Phase 2, then the #90 remainder
Unchanged from the plan and now unblocked: fence-aware parseSections (the intro_supply_demand phantom SOURCE_AHEAD on 2026-07-18 is a live false positive from this gap), #65 (label)= anchors, the round-trip invariant test, and a real validateMyST — then canonicalizeHeading() and fail-closed fetching from #90. The detection-beats-repair argument is why this outranks patching #90's defects individually.
Cheap wins, any time
Deferred remainders (tracked in their own issues)
Refs: #94 (the standing work plan this extends), #108 #110 #111 #112 (today's PRs), #109 (harness), v0.18.0 release notes.
🤖 Generated with Claude Code
Tracking issue for the work queued behind today's release. Context: v0.18.0 shipped the forward
--githubintegrity cluster (#108 → #104, #105, the mechanical halves of #106), criterion-score validation (#110 → #102), and node24 +@actions/*CJS majors (#111 → most of #89), all smoke-tested live on QuantEcon/test-translation-sync.fa#78.v0,v0.18, andv0.18.0all point at the release. The items below are ordered; each is independently completable.1. Bump the estate to v0.18.0
The reviewer resync fallback and all #108 fixes only reach target repos when their pins move — the estate sits at v0.16.1 (two releases behind; 9 pins across 4 repos, catalogue in QuantEcon/project-translation#7). Repos wired to
@v0picked the release up automatically; explicitref:pins need PRs. While touching each repo's workflows, apply the current v0.17.0+ review-template guards (labeledtrigger,concurrencygroup,permissions) where missing — the same drift #109 documents for the harness.2. #107 validation wave (prompt change is live but unmeasured)
Re-run
translate forward -fon two or three of the 11 hand-fixed intro.zh-cn lectures —long_run_growth,inequality,heavy_tailsare the localisation-richest — and diff the output against the hand-fixed branches (the ground truth), counting CJK-bearing code lines per file as #107's follow-up comments prescribe (per-file counts catch wholesale anglicisation; exact-line diff catches the single load-bearing lines like long_run_growth's CSV mapping). Close #107 if preservation holds; either way the comparison seeds the #82 eval harness with its first real metric.3. #109 harness alignment + the resync-review-label decision
The config work is listed in #109 (labels, current templates,
status --write-statebootstrap, config-preserving resets). It contains one design decision to make deliberately: forward resync PRs carryaction-translation-sync+resyncbut notaction-translation, so review never auto-triggers on them anywhere. Recommendation: havecreateForwardPRalso applyaction-translation— no target-repo workflow edits needed, and it composes with #103's future verdict routing. Small related fix from the smoke: a missing label makesgh pr createfail after the branch is pushed (branch exists, no PR) — fall back to creating the label or opening the PR unlabeled with a warning.4. Resume the #94 plan: Phase 2, then the #90 remainder
Unchanged from the plan and now unblocked: fence-aware
parseSections(theintro_supply_demandphantom SOURCE_AHEAD on 2026-07-18 is a live false positive from this gap), #65(label)=anchors, the round-trip invariant test, and a realvalidateMyST— thencanonicalizeHeading()and fail-closed fetching from #90. The detection-beats-repair argument is why this outranks patching #90's defects individually.Cheap wins, any time
canonicalizeHeading)Deferred remainders (tracked in their own issues)
@actions/core3.x /@actions/github9.x migration (needs a Jest ESM story) and the optional@anthropic-ai/sdkbump.--from-status/ shared triage cache so forward can consume a check-sync run instead of paying for triage twice.Refs: #94 (the standing work plan this extends), #108 #110 #111 #112 (today's PRs), #109 (harness), v0.18.0 release notes.
🤖 Generated with Claude Code