E2E reset lays down .translate/config.yml with the production editors block - #275
Merged
Conversation
… block Since the #202 overhaul deleted .translate/ on reset without re-creating it, harness targets have run with no config at all — diverging from production, where every edition now carries an editors: block (project-translation#24, merged fleet-wide 2026-08-18). The reset now writes the config per target: block-style YAML, primary first, mmcky as the handle so future verdict-driven routing (#103) can never assign or ping a real editor from a test repo. tool-version stays absent until a CLI write stamps it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the E2E harness target-repo reset to recreate .translate/config.yml so test repositories mirror production’s translate configuration (including the editors: routing block) after the reset step wipes .translate/.
Changes:
- Create
.translate/config.ymlduring each target repo reset withsource-language,target-language,docs-folder, and aneditors:block. - Ensure
.translate/exists before writing config so subsequent harness steps operate with a production-like layout.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…readConfig's The engine's readConfig (js-yaml) is style- and order-agnostic; the block-style / primary-first requirement comes from the status-translations collector's line-based parser. Addresses Copilot's review comment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the last item on QuantEcon/project-translation#24: the harness should mirror production's
.translate/config.yml, which since 2026-08-18 carries aneditors:block in all six live editions.What was actually diverging: the #202 E2E overhaul deletes
.translate/on every target reset and nothing re-creates it, so the harness targets have been running with no translate config at all — not just a missingeditors:block. This change makes the reset lay the config down per target (source-language/target-language/docs-folder: .per the harness's root-level layout, plus the block).Three deliberate choices, each commented in the script:
primary:first — the only form the parser reads, and the shapewriteConfig's unknown-key merge (writeConfig: merge over the existing config.yml instead of rebuilding it #246) must preserve. With this in the base state, any future CLI bootstrap driven against the harness exercises key survival as a standing regression check.primary: mmcky, not the edition's real editor — verdict-driven routing (Design: route sync PRs by review verdict (auto-merge vs editor label) and make human review measurable #103) will read this block, and a harness run must never assign or ping a real editor from a test repo (nor could it; they are not collaborators there).tool-version—readConfigdoes not require it, a hardcoded pin would go stale, and its absence until a CLI write stamps it is the true state.The three test targets have also been given the same config by direct commit (authorised maintenance), so the live harness mirrors production immediately; the next E2E run would previously have wiped that, and with this change re-creates it instead.
🤖 Generated with Claude Code