Follow-up recorded by the PM seat from #4381 / PR #4382's exceptions list, filed so the pair isn't lost. Filed unassigned.
Fact
PR #4382's closing sweep graded and deliberately left two near-verbatim twin comments, the last unqualified present-tense paths-ignore texts in the repo:
Both assert that ci.yml paths-ignores a pattern list and conclude their PR class always starts the workflow. Per #4382's grading: the conclusion is true today (more strongly so — nothing filters pull requests by path at all), and the premise is accurate about the surviving push list, so neither is in the "decide by it, decide wrong" class that drove #3857/#4369/#4381. This is a qualification pass (mark the premise as push-scoped / historical, per the corrected dialect of PRs #4371/#4380/#4382), not a falsehood fix — which is why it's a finding and not pm:queue.
Constraint
The two must move together in one PR — fixing either alone recreates the two-shapes split the family existed to end. Comment-only, assertions untouched, the #4382 mechanical proof pattern applies.
Dispatch gate
Wait until no in-flight task holds the i18n gate test surface (at filing time, the #4375+#4376 pair is in flight on packages/i18n — its scope shouldn't touch these two files, but verify at claim time).
Related: #3857 / PR #4371, #4369 / PR #4380, #4381 / PR #4382 (whose exceptions list is the source of this card).
Follow-up recorded by the PM seat from #4381 / PR #4382's exceptions list, filed so the pair isn't lost. Filed unassigned.
Fact
PR #4382's closing sweep graded and deliberately left two near-verbatim twin comments, the last unqualified present-tense
paths-ignoretexts in the repo:scripts/__tests__/check-i18n-en-drift.test.ts:739— was a held surface at sweep time ([finding] en 包 32 个值用 ASCII "..." 结尾、113 个用 U+2026 "…" —— 同一屏上省略号两种字形,且九包各自跟着抄 #3878 trio, PR fix(i18n): one ellipsis glyph across the ten packs, es usted single-form, pt de-contraction (#3878 #3875 #3877) #4378 — now landed, hold lifted)scripts/__tests__/check-action-forward-parity.test.ts:712— free at sweep time, left so the pair would not be split into disagreeing shapesBoth assert that
ci.ymlpaths-ignores a pattern list and conclude their PR class always starts the workflow. Per #4382's grading: the conclusion is true today (more strongly so — nothing filters pull requests by path at all), and the premise is accurate about the survivingpushlist, so neither is in the "decide by it, decide wrong" class that drove #3857/#4369/#4381. This is a qualification pass (mark the premise aspush-scoped / historical, per the corrected dialect of PRs #4371/#4380/#4382), not a falsehood fix — which is why it's afindingand notpm:queue.Constraint
The two must move together in one PR — fixing either alone recreates the two-shapes split the family existed to end. Comment-only, assertions untouched, the #4382 mechanical proof pattern applies.
Dispatch gate
Wait until no in-flight task holds the i18n gate test surface (at filing time, the #4375+#4376 pair is in flight on packages/i18n — its scope shouldn't touch these two files, but verify at claim time).
Related: #3857 / PR #4371, #4369 / PR #4380, #4381 / PR #4382 (whose exceptions list is the source of this card).