mirror of
https://github.com/stablyai/orca.git
synced 2026-09-28 08:02:43 +00:00
#19542 deleted the orchestration legacy-Run write fallbacks and broke `orca orchestration send` between two plain terminals. The e2e test that already caught it went red on main, and #19684 then renamed that test and asserted the new error as a test-only PR, hours before users reported the break. No gate had an opinion, because "the test now expects the opposite" is not a lint finding, a type error, or a red suite. The gate reads the PR's own diff for three shapes inside tests/e2e/** and src/main/runtime/rpc/methods/orchestration/**: a renamed test title, a success path replaced by an error expectation, and a populated expectation replaced by an empty one. Any of them means the PR is changing what the product is expected to do, so the body has to carry a "## User-visible change" section with Before:/After: lines. Reverse flips (an error expectation replaced by a value one) are not flagged, so a fix restoring behaviour pays nothing. It runs as a step in static_analysis rather than a job of its own: that job is already in verify.needs, already runs on every non-docs PR, and already fetches the full history the merge-base diff needs. The body arrives via the PR_BODY env var, never interpolated into the shell. Base resolution moves out of check-changed-code-quality.mjs into the shared git-pull-request-diff-base.mjs so both changed-code gates resolve the base the same way instead of keeping two copies.