Reference in New Issue
Block a user
Delete Branch "fix/e2e-chat-readiness-curl-tempfile-2198"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The canvas-readiness loop in
.gitea/workflows/e2e-chat.yml:295(added in PR #2195 to fix the cold-TurbopackCanvas did not start in 30sflake) captured the curl HTTP status with:That shape is exactly the
BAD_STATUS_CAPTUREpattern that.gitea/scripts/lint-curl-status-capture.py:27-43rejects.curl -wcan write a status to stdout before the|| echo 000fallback fires (curl returns non-zero after the status is already printed), producing polluted values such as a concatenated status string rather than a single HTTP code. The lint correctly failed main in run #205391 / job #273512 after PR #2195 merged.Fix
Adopt the lint-approved tempfile pattern already used by
e2e-staging-external.yml:170-185:CODEis now always a clean HTTP code or"000". The downstream[ "$CODE" -ge 200 ] && [ "$CODE" -lt 400 ]check continues to work unchanged.Verification
python3 .gitea/scripts/lint-curl-status-capture.py→OK No curl-status-capture pollution patterns detected/?m=chatroute probe (the determinism gains of #2195 are preserved)Resolves
Notes
gitea/main @ b9d2f023(canonical per CEO Mirror Topology Ruling 2026-06-04; this PR was generated against the Gitea-canonical clone, not the GitHub mirror)..gitea/scripts/lint-curl-status-capture.pyis unchanged —feedback_fix_root_not_symptom: the dead pattern was the problem, the lint that caught it is correct).feedback_no_such_thing_as_flakes: the originalCanvas did not start in 30sred in #2195 was a REAL flake (Turbopack first-compile on a cold runner) — fixed in #2195 with the 120s budget +/?m=chatroute probe; that fix is preserved here.Self-pulled main-red fix per the
main-never-reddirective. The lint script.gitea/scripts/lint-curl-status-capture.py:27-43correctly caught the BAD pattern added in #2195; this PR adopts the lint-approved tempfile pattern (matchinge2e-staging-external.yml:170-185) without weakening the lint itself (perfeedback_fix_root_not_symptom).Local verification:
python3 .gitea/scripts/lint-curl-status-capture.py→ OK; standalone BAD_STATUS_CAPTURE regex → 0 hits.Generated against
gitea/main @ b9d2f023(canonical per CEO Mirror Topology Ruling 2026-06-04; the GitHub mirror has not been touched).Resolves #2198 + #2199. Awaiting human GO for merge per
feedback_prod_apply_needs_hongming_chat_go(the lint workflow is a prod surface — needs operator sign-off before any push to main). I will NOT self-approve per the SOP-checklistcommenter != PR authorrule.Owner force-merged (honest bypass). Clears main-red #2198: my #2195 readiness probe used the curl
-w %{http_code} ... || echo 000pattern the lint forbids (pollutes the captured code on failure). Now tempfile form. Curl lint green; CI/test-only. Token revoked.