Skip to content

[build-tools] Only stop a session host that never became ready - #4430

Open
vonovak wants to merge 1 commit into
codex/android-recording-hardeningfrom
codex/session-host-finish-policy
Open

vonovak wants to merge 1 commit into
codex/android-recording-hardeningfrom
codex/session-host-finish-policy

Conversation

@vonovak

@vonovak vonovak commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Why

A host that never answered /readyz was finished through the full pipeline, logging a failed stop request and a missing recordings.json on every readiness timeout. Finalization and upload failures were visible only in job logs.

How

  • finishAsync() only stops a host that never became ready.
  • Finalization and upload failures are reported to Sentry.
  • finishAsync() is documented as never rejecting.

Stack 3/6, based on #4420, followed by #4431#4435#4441.

Test plan

The rollback test asserts no stop request, upload or finalize warning after a readiness timeout. The finalization-failure test asserts the Sentry capture.

🤖 Generated with Claude Code

https://claude.ai/code/session_01D29AEWN9ajZXbzobHUH4fF

@codecov

codecov Bot commented Sep 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (codex/android-recording-hardening@f0b8bd8). Learn more about missing BASE report.

Additional details and impacted files
@@                         Coverage Diff                          @@
##             codex/android-recording-hardening    #4430   +/-   ##
====================================================================
  Coverage                                     ?   72.42%           
====================================================================
  Files                                        ?      973           
  Lines                                        ?    46363           
  Branches                                     ?     9956           
====================================================================
  Hits                                         ?    33574           
  Misses                                       ?    11794           
  Partials                                     ?      995           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vonovak
vonovak removed this pull request from stack #4421 September 17, 2026 16:06
@vonovak
vonovak added this pull request to stack #4432 September 17, 2026 16:06
@vonovak
vonovak force-pushed the codex/session-host-finish-policy branch 2 times, most recently from ef33dbe to 30cdb41 Compare September 18, 2026 08:09
@vonovak vonovak added the no changelog PR that doesn't require a changelog entry label Sep 18, 2026
@vonovak
vonovak force-pushed the codex/session-host-finish-policy branch from 30cdb41 to fae1412 Compare September 18, 2026 10:03
A readiness timeout ran the full finish pipeline: a stop request to a server
that never came up and a read of a recordings.json that did not exist, each
logging a warning unrelated to the real cause. finishAsync now skips
finalization and upload for a host that never answered /readyz. Finalization
and upload failures are reported to Sentry like the per-recording upload
failures one layer down, and the finishAsync contract states that it never
rejects.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D29AEWN9ajZXbzobHUH4fF
@vonovak
vonovak force-pushed the codex/session-host-finish-policy branch from fae1412 to 30d558b Compare September 18, 2026 10:19
@github-actions

Copy link
Copy Markdown

⏩ The changelog entry check has been skipped since the "no changelog" label is present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant