Write the CI workflows and the root configuration in English - #302
Open
gplanchat wants to merge 7 commits into
Open
Write the CI workflows and the root configuration in English#302gplanchat wants to merge 7 commits into
gplanchat wants to merge 7 commits into
Conversation
`.php-cs-fixer.dist.php`, the two Psalm configs, the two PHPStan configs, and one line of the README. These comments are load-bearing: why the PER revision is pinned rather than aliased, and why `psalm-magento.xml` cannot join `psalm.xml` — with the reason `ignoreFiles` on the bench's own copy of the module is safe *only because both come from the same commit*. `psalm.xml` carried one French comment that the accent grep missed; only a full read found it. One correction rather than a translation: the French said `ignoreFiles` makes a file "n'est pas seulement analysé", which reads as the opposite of what Psalm does. The English says what the sentence evidently meant and what the tool actually does — not merely left unanalysed, skipped at scan time. Two things kept as found: the same comment names `magento/vendor/gplanchat/durable` where the `ignoreFiles` entry beside it says `durable-magento`, and `.git-blame-ignore-revs` now labels in English a commit whose own subject stays French, because a commit subject is history. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Nine comment lines across `.gitignore` and `.git-blame-ignore-revs`. The check that matters here is that no non-comment line moved: a changed pattern silently starts or stops ignoring files, and a changed SHA silently un-skips a commit in `git blame`. Diffed with the comments stripped, both files are byte-identical. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The comments here are the most valuable prose in the CI: why the Symfony matrix is a hand-picked list of edges rather than a cartesian product, why the `#[\Override]` bug was only visible at the *crossing* of an old Symfony line and a recent PHP, why `--prefer-lowest` is filtered, why the 7.0 to 7.3 lines cannot be pinned at all. Every measured fact and every version number survives. Seven job names and thirty step names move with them. **Two do not.** `Analyse statique (PHPStan + Psalm)` and `QA (CS + tests)` are required status checks on `main`: a check's name comes from the job's `name:`, so renaming either makes the required context never report and leaves every pull request unmergeable until branch protection is updated in the same breath. Both keep their names and now carry a comment saying so. Nothing executable changed, and that is checked rather than claimed: the thirteen `run:` blocks are identical, the structure is equal after dropping every `name` key, and a diff of all non-comment, non-`name` lines is empty. The two quoted error strings were verified byte-wise at their wrap seams. Two things inside `run:` blocks did move, both deliberately: a four-line shell comment explaining the `DurableModule` / `DurableProbe` distinction, and one `echo` that said `tentative` where the rest of the log says English. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`docs-ovh.yml` deploys the Hugo site to OVH; `prises.yml` runs the claim-registry check. Their `run:` blocks keep every command byte-identical — a diff of all non-comment, non-`name`, non-`echo` lines is empty. What did move inside them is what a person reads in a run log: the six `::error::` / `::warning::` annotations and one `echo`, plus the two-line shell comment explaining why `sshpass` feeds the password that `-u` ignores. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The weekly build of the sixteen `php-grpc` images and the pruning of their dated tags. Beyond comments and step names, three kinds of text moved, none of them executable: the two `workflow_dispatch` input descriptions, which are the help GitHub shows when a human runs the workflow by hand; the `::warning::` that fires when `GHCR_RETENTION_TOKEN` is absent; and the dry-run notice. The four `run:` blocks are identical, and the shell comment about the two package URL families moved with the prose it belongs to. The header's cross-reference to the `Tests d'intégration Temporal` check follows that job's rename in `ci.yml`, in the commit below. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Dockerfile, the README that documents the sixteen images, and `retention.py`. The Dockerfile's non-comment lines are byte-identical: no instruction, package, version, `ARG` or `ENV` moved. `retention.py` decides which published images may be deleted, so it got the most care. Its module docblock — which is also its `--help` — its two docstrings and its four printed messages are English now, and so are its identifiers: `a_supprimer` is `to_delete`, `DATEE` is `DATED`, `surnuméraires` is `surplus`. They are all module-local; the workflow calls the script, not its functions. Its own `--self-test` passes, and a hand-run over a three-version fixture still returns exactly the one dated version beyond the keep count. One French line stays, inside a README code fence: `real 6m58s image finale : 126 Mo`. It is a recorded measurement, and a fence is a transcript. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gplanchat
force-pushed
the
docs/ci-and-root-config-in-english
branch
from
September 7, 2026 22:07
f3a8715 to
d5cb4ab
Compare
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.
The last French outside
documentation/,.cursor/and the coordination registry. 15 files,~520 lines.
This touches supervised scope. CLAUDE.md lists
.github/workflows/as never edited unattended,because CI reaches outside this repository. This slice was asked for explicitly, and every guard
below exists because of that.
Nothing executable changed, and it is audited rather than claimed
For all six workflows, the
run:blocks were extracted from the parsed YAML of both versionsand compared one by one.
prises.yml,issue-trust-gate.ymlandsplitsh.yml: identical.For the other three, every single difference is one of two things:
DurableModule/DurableProbedistinction, thesshpassnote, thetwo-package-URL-families note;
echo— six::error::/::warning::/::notice::annotations and three plain ones.Those are what a person reads in a run log.
Not one command, path, flag, secret name, matrix entry or
if:expression moved. In particular thegrepassertions that pin the demonstration's output are untouched.The Dockerfile's non-comment lines are byte-identical.
.gitignoreand.git-blame-ignore-revsdiff empty with comments stripped — a changed pattern silently stops ignoring a file, and a changed
SHA silently un-skips a commit in
git blame. The two Psalm XML trees are identical parsed. The two.neonfiles diff empty with comments stripped.retention.pygot the most careIt decides which published container images may be deleted. Its module docstring — which is also its
--help— its two docstrings and its four printed messages are English now, and so are itsidentifiers:
a_supprimer→to_delete,DATEE→DATED,surnuméraires→surplus. All aremodule-local; the workflow calls the script, not its functions. Its own
--self-testpasses, and ahand-run over a three-version fixture still returns exactly the one dated version beyond the keep
count.
One correction, not a translation
psalm-magento.xmlsaid whatignoreFilesdoes with a missing negation — the French read as theopposite of the tool's behaviour. The English says what the sentence evidently meant.
Kept as found
.git-blame-ignore-revsnow labels in English a commit whose own subject stays French. A commitsubject is history.
docker/php-grpc/README.mdcode fence:real 6m58s image finale : 126 Mo.It is a recorded measurement, and a fence is a transcript.
psalm-magento.xmlnamesmagento/vendor/gplanchat/durablewhere theignoreFilesentry beside it says
durable-magento. Possibly wrong in the source; a prose path is still a path.Not in scope
UPGRADE.md(128 French lines — a migration guide, not configuration),bin/splitsh-publish.shandbin/prises-check*.sh(supervised too, and not what was asked for),openspec/(point-in-timerecords),
documentation/(WA006's own exception). Happy to take any of them next.Gate
cs:check,test,phpstanandpsalmeach exit 0, andpsalm-baseline.xmlis untouched. Thereal check for this PR is CI itself: it runs the rewritten workflows.