Repository navigation
Advance replay time on persisted scalar child outcomes - #290
Conversation
|
|
Current exact source is The first local full run at The two direct Sonar findings were corrected with a shared family constant and one exception-producing invocation in the query-error control. Current Sonar issue inventory is zero. Current source validation:
Exact shared input SHA-256 values: consumer Core source inputs were independently fetched and Git-blob/SHA-256 bound at maintained Fresh original CI 42163246521, docs |
|
Exact source The 5697-test local result, 62 new child controls, unchanged earlier clocks/legacy/cancellation behavior, 104-case same-consumer base/candidate comparison and exact final fixture hash are recorded above. The original invariant failure and superseded CI keep their separate outcomes; no old check is carried to this head. Proceeding through normal protected merge. Actual-main qualification, source-preview/deploy-skip, stable portal preservation and exact branch cleanup remain my next checkpoint. This source change does not select an SDK release, stable portal dispatch, cross-SDK published conformance or #123/#184 operation. |
|
Actual-main acceptance is complete at All 21 PR checks passed. Main has 19 successes plus the declared docs-deploy skip, no pending/failed/cancelled checks, across five successful original workflows:
The source evidence remains exact: 5697 local unit passes / three optional-dependency skips / 130 integration tests deselected, 62 child controls, 51 prior clock controls, 104 official corpus cases and 444 combined clock/corpus/redrive controls. The same official consumer consumes child results on immutable base Main Pages artifact 13477479714 is source preview only. ZIP SHA-256 Five live byte comparisons (deployment audit, landing, SDK reference, Client and Worker API) match the accepted stable artifact. The public portal still binds docs Exact branch This completes the selected persisted scalar child source cohort. Full central #215 remains open for ordinary-entry authority, additional families/callbacks, changing-run lineage, guidance and published cross-SDK qualification. No version, release, manual stable dispatch or #123/#184 operating action is selected by source acceptance. |



After a persisted scalar child resolves,
ctx.replay_now()currently remains unavailable. This change advances it to the selected parentChildRunCompleted/ChildRunFailed/ChildRunCancelled/ChildRunTerminatedevent's own recorded instant after actual send/throw consumption, preserving precision and equal/backward time. Child results, failures, legacyctx.now()and cancellation behavior stay unchanged.A supported lifecycle has one schedule, an optional start and one terminal with matching nonempty call/instance/run/type identities. Missing/conflicting identities, duplicate/contradictory evidence, cross-call reuse, unsupported groups/scopes or changing-run lineage leave business time unavailable.
closed_atandreused_recorded_atare not clock authority for this branch. Queries retain the existing supported final-prefix rule; unsupported/inline transitions cannot borrow the earlier instant.The time/field mapping follows maintained Core
4b2cdc5507120d9c213b0b02a85738bec96c574a:WorkflowExecutor::resumeChildResolutionandQueryStateReplayersend/throw with the selected parent resolution's ownrecorded_at. This is an independent Python implementation with its own consumed history, tests and counts; Rust #219 is comparison data.Validation: 62 new child controls and all 51 existing clock controls pass, plus the 104-case official corpus consumer (217 combined). Ruff/mypy and corpus policy pass. The identical consumer/helper/fixture on immutable base
03d7062consumes the child result then fails exactly the new time assertion; candidate8199fe8passes all 104, with no collection/import errors. The single append-only fixture grows replay inventory 107→108; codec stays 43 and every old selector/guard/checker remains unchanged. The existing source guard already coversreplay_clock.py. Full local units pass: 5697 passed, three existing optional-dependency skips, 130 integration tests deselected. All 21 current-head hosted checks pass, including Python 3.10–3.15, integration/teardown, docs, corpus, CodeQL and Sonar. Direct PR Sonar issue inventory is zero.Refs durable-workflow/.github#215 and the selected scalar-child source cohort. Ordinary-entry authority, additional families/callbacks and published cross-SDK conformance remain open. Main only builds a source preview; the stable portal stays bound to published SDK 2.14.1. No package/version, wire field, release, portal dispatch, #123 driver/SQL/TLS execution or #184 route is selected.