On QuantEcon/lecture-python.zh-cn#202 — the first organic production sync on v0.23.0 — the translation review returned PASS with diff quality 10/10, scopeCorrect ✅, structurePreserved ✅ and headingMapCorrect ✅, on a PR whose _toc.yml names a document that is in neither the PR nor the target repo, and whose build fails.
"diffChecks": { "scopeCorrect": true, "positionCorrect": true, "structurePreserved": true, "headingMapCorrect": true },
"diffCheckSources": { "scopeCorrect": "model", "positionCorrect": "model", "structurePreserved": "deterministic", "headingMapCorrect": "deterministic" },
"engineVersion": "0.23.0"
The underlying defect is #156 (a partial run committed a TOC entry for a file it refused to write). This issue is about the second-order failure: nothing downstream noticed.
Two distinct gaps
1. No deterministic reachability check. structurePreserved and headingMapCorrect are deterministic as of #148, but both are within-file invariants. Nothing checks the cheapest cross-file invariant there is: every _toc.yml entry, and every {doc}/{numref}/{cite} reference introduced by the diff, should resolve against the union of (target repo ∪ this PR). That is a pure filesystem-and-regex check with no model call, and it would have caught six dangling references here.
2. The reviewer never learns the sync run errored. Review runs against the committed diff with no channel carrying "this PR is the output of a run that failed on one of ten files". Even a perfect reviewer of the diff-as-committed cannot see that, because the evidence lives in the source repo's run log and its auto-filed issue, not in the diff.
Why this matters beyond one PR
This is the first organic production data point for #147, and it is a PASS on a PR that cannot build. The gating floors in verdict v2 exist to stop exactly this from reaching auto-merge. Had the routing been auto-merge rather than editor, this would have landed a broken build on main — it routed to editor only because of unrelated terminology findings, which is to say the thing that saved it was a coincidence.
For Stage 4 calibration the consequence is sharper than a single miss: any base rate fitted on diff-check scores currently treats "PR builds" as out of scope, so the floors will be fitted against a quality signal that is uncorrelated with the most consequential failure mode we have actually observed in production.
Suggested fix
Add the reachability check as a deterministic diff-check (a fifth entry alongside structurePreserved, sourced deterministic), and thread the run's error set into the review input so a partial sync cannot be scored as if it were complete. The first is worth doing regardless of the second — it is cheap, it has no model dependency, and it generalises past this incident to any PR that introduces a reference faster than the asset it points at (see #117).
On QuantEcon/lecture-python.zh-cn#202 — the first organic production sync on v0.23.0 — the translation review returned PASS with diff quality 10/10,
scopeCorrect ✅,structurePreserved ✅andheadingMapCorrect ✅, on a PR whose_toc.ymlnames a document that is in neither the PR nor the target repo, and whose build fails.The underlying defect is #156 (a partial run committed a TOC entry for a file it refused to write). This issue is about the second-order failure: nothing downstream noticed.
Two distinct gaps
1. No deterministic reachability check.
structurePreservedandheadingMapCorrectare deterministic as of #148, but both are within-file invariants. Nothing checks the cheapest cross-file invariant there is: every_toc.ymlentry, and every{doc}/{numref}/{cite}reference introduced by the diff, should resolve against the union of (target repo ∪ this PR). That is a pure filesystem-and-regex check with no model call, and it would have caught six dangling references here.2. The reviewer never learns the sync run errored. Review runs against the committed diff with no channel carrying "this PR is the output of a run that failed on one of ten files". Even a perfect reviewer of the diff-as-committed cannot see that, because the evidence lives in the source repo's run log and its auto-filed issue, not in the diff.
Why this matters beyond one PR
This is the first organic production data point for #147, and it is a PASS on a PR that cannot build. The gating floors in verdict v2 exist to stop exactly this from reaching auto-merge. Had the routing been
auto-mergerather thaneditor, this would have landed a broken build onmain— it routed toeditoronly because of unrelated terminology findings, which is to say the thing that saved it was a coincidence.For Stage 4 calibration the consequence is sharper than a single miss: any base rate fitted on diff-check scores currently treats "PR builds" as out of scope, so the floors will be fitted against a quality signal that is uncorrelated with the most consequential failure mode we have actually observed in production.
Suggested fix
Add the reachability check as a deterministic diff-check (a fifth entry alongside
structurePreserved, sourceddeterministic), and thread the run's error set into the review input so a partial sync cannot be scored as if it were complete. The first is worth doing regardless of the second — it is cheap, it has no model dependency, and it generalises past this incident to any PR that introduces a reference faster than the asset it points at (see #117).