Skip to content

fix(testing): match replay state to the service - #795

Open
zhongkechen wants to merge 1 commit into
test/otel-conformance-feasibilityfrom
fix/python-testing-replay-state-20261021
Open

zhongkechen wants to merge 1 commit into
test/otel-conformance-feasibilityfrom
fix/python-testing-replay-state-20261021

Conversation

@zhongkechen

@zhongkechen zhongkechen commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The local testing service exposed descendants that the service prunes, and successful input-only resumes could receive the same callback updates again. This change aligns replay-state visibility and input acknowledgment with the service while retaining complete raw operation/history inspection.

Invocation input and GetDurableExecutionState omit descendants of completed CONTEXT ancestors unless those ancestors retain ReplayChildren. The ancestry walk handles ordering, STARTED intermediates, orphans and cycles. Valid handler responses acknowledge only the sequence captured in that invocation's input, including checkpoint-free PENDING; failed delivery and newer updates remain pending. Callback state keeps absent runtime error details distinct from present empty history payloads.

Stack and coverage

main → #758 → #795 → #796

This layer contains the testing fixes and dependent integration/installed-compatibility tests. It installs the built testing wheel alongside Core/OTel and retains the workflow branch filters needed by #795/#796 while stacked. #758 uses the published testing library and main-only workflow filters.

Tests use Core 3 / OTel 2 factories and fresh plugins per invocation. Generic hooks may repeat a natural completion observation within one invocation; observer assertions still reject cross-invocation redelivery and verify each payload. OTel export counts, parent identities, statuses, replay barriers and saved-step counts remain exact.

Validation and limits

The final stacked artifacts pass 906 installed OTel tests, 16 installed lifecycle/callback cases and four released-OTel registration rejection cases. The base #758 artifacts independently pass 875 OTel tests against published testing 1.3.0. An additional 112 workflow/conformance-package checks pass, along with types, lint, formatting, builds and commit-message validation. Installed sources and wheel hashes are verified. GitHub CI runs separately on the new pushed head.

This PR remains one commit on its updated base, preserving the stack’s linear history. Reconstruction preserves this layer's testing implementation and integration assertions while incorporating the replay-segment and failed-export retry fixes from #758.

Shared #131 qualification remains a prerequisite through #758. An updated ID does not recreate pruned metadata, and this does not resolve the separate virtual-FLAT persistence issue.

@github-actions

This comment has been minimized.

@zhongkechen zhongkechen mentioned this pull request Oct 21, 2026
7 of 11 tasks
@zhongkechen
zhongkechen added this pull request to stack #800 October 21, 2026 19:32
@zhongkechen
zhongkechen removed this pull request from stack #800 October 22, 2026 17:25
@zhongkechen
zhongkechen added this pull request to stack #809 October 22, 2026 17:25
zhongkechen added a commit that referenced this pull request Oct 22, 2026
Merge the updated testing layer from PR #795. Register cases 21-26
through the shared factory selector and instrument fresh plugin instances
in conformance tests. Preserve the existing requirement and workflow pins.
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 17:28 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 19:38 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 20:12 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 20:48 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 22:35 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen force-pushed the fix/python-testing-replay-state-20261021 branch from 7992a95 to ed0dd92 Compare October 22, 2026 23:25
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 22, 2026 23:26 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@zhongkechen
zhongkechen force-pushed the fix/python-testing-replay-state-20261021 branch from ed0dd92 to 1f2768b Compare October 23, 2026 00:04
@zhongkechen
zhongkechen deployed to ai-pr-review-runtime October 23, 2026 00:05 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown
Contributor

Codex AI review

No actionable findings in the PR changes. Review was limited to static inspection; tests were not executed, leaving residual runtime, concurrency, and service-parity risk.

Reviewed commit 1f2768be45e6bcba58b35b04db4e38704c0c50df. Workflow run

This branch was successfully deployed

1 active deployment
ai-pr-review-runtime — 1f2768be Deployed Oct 23, 2026 by zhongkechen via ai-pr-review / Codex review / Generate Codex review #2163
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