Skip to content

ci: backport real-TLS status tolerance and conventional-commit rerun fix to 8.x - #1580

Merged
bokelley merged 1 commit into
release/8.xfrom
claude/issue-1576-8x-ci-stability
Oct 24, 2026
Merged

bokelley merged 1 commit into
release/8.xfrom
claude/issue-1576-8x-ci-stability

Conversation

@bokelley

@bokelley bokelley commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Backport of #1576 and the conventional-commit rerun fix from #1550 to release/8.x. Both make 8.x CI more stable before 8.2.0 is cut.

  • test(signing): accept any HTTP status in the real TLS handshake check #1576. test_real_tls_handshake_still_validates_hostname now accepts any HTTP status (100 <= status < 600). Getting a response at all shows the handshake and hostname check passed, because a certificate mismatch raises before any response exists. The test isn't checking the origin's own status, and example.com sometimes answers 503.
  • fix(release): tighten V9 reporting and CI readiness checks #1550, rerun part only. A rerun of the conventional-commit job reuses the original webhook payload, so on 8.x it validated a PR body that had since been edited. scripts/check_main_policies.py now fetches the current title and body from the API. If the PR head has moved, it refuses with PR head changed; run current CI, so a rerun can't validate commits it didn't check out. The job in ci.yml gets GH_TOKEN and pull-requests: read.

Not taken from #1550

The row-storage readiness change, its Postgres conformance test, the export-resolution tweak and the public API snapshot additions. 8.x has no reporting/ledger/row_storage.py.

Tests

  • Four tests from fix(release): tighten V9 reporting and CI readiness checks #1550 in tests/test_main_release_policies.py: a rerun reads the corrected body; a rerun rejects a body that has become invalid; a moved head is refused; the workflow job has the permission and token.
  • tests/test_main_release_policies.py and tests/conformance/signing/test_ip_pinned_transport.py: 82 passed.
  • make lint and make typecheck-all pass. Full suite: 12992 passed, 2434 skipped, 1 xfailed.
  • This PR's own "Validate conventional commit format" job runs the new code path against the live API.

🤖 Generated with Claude Code


Open workspace in Conductor

…fix to 8.x

Backport of #1576 and the conventional-commit rerun part of #1550.

- test_real_tls_handshake_still_validates_hostname accepts any HTTP
  status: a response proves the handshake and hostname check passed, and
  example.com intermittently answers 503.
- The conventional-commit policy re-fetches the PR title and body instead
  of trusting the rerun's stale webhook payload, and refuses to validate if
  the PR head moved. The job gets GH_TOKEN and pull-requests: read.

The row-storage and export-snapshot parts of #1550 are not taken; 8.x has
no reporting/ledger/row_storage.py.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ladon verdict: Approve

Approve — clean backport to release/8.x with no blocking or medium findings.

Checked:

  • Backport of #1576 (TLS test status tolerance) and the conventional-commit rerun fix from #1550.
  • conventional() re-fetches PR title/body via the API under the existing 30s urlopen timeout; the require(current["head"]["sha"] == pr["head"]["sha"], ...) guard is fail-closed (a rerun on a moved head refuses rather than validating stale commits).
  • Dispatch wiring (GH_TOKEN, pull-requests: read) present in ci.yml and asserted by the new tests; all four tests use existing helpers.
  • No public adcp.* surface, generated code, credentials, forward-compat, or import-layering concerns. CI gates remain armed.

No author team gate, no gated paths, high_risk false. Rows 1–8 do not fire; falls through to row 9.

@bokelley
bokelley merged commit 3c46980 into release/8.x Oct 24, 2026
46 of 50 checks passed
@bokelley
bokelley deleted the claude/issue-1576-8x-ci-stability branch October 24, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant