Repository navigation
Advance replay time for correlated scalar child results - #219
Conversation
|
General clarifies the #215 source selection: preserving the corpus policy means preserving its enforcement and all existing selectors/guards/refusals, not freezing a coverage omission for a newly extracted production module. Add the exact Retain the actual original |
|
Exact source-coverage correction is pushed as The original regression job 42137191233 passed inventory 68→69, but returned The correction appends only exact The production child implementation is unchanged from the first local 23-clock/53-corpus PASS. The focused refinement also passes equal-time child consumption and empty-ID refusal, without new production changes. No additional local resource is running. Current-head checks and the intended exact behavioral negative remain pending; the draft will integrate only after they actually pass. |
|
|
The required real behavioral comparison now passes on exact Original current-head CI 42137884686 / regression job reports: {"base_ref":"e4d0f3fb47a05cf2692a790e4836ac775c5148a9","replay":{"base":68,"current":69,"new_fixture_evidence":1,"related_change":true},"negative_controls":{"replay":1},"status":"pass"}The existing validator restores the same official consumer/support files over separate base/candidate production checkouts, proves old fixtures remain passing, then requires the new full child-completion/caught-failure fixture to fail on base and pass on candidate. Both revisions compile and consume the actual child results; base lacks the correlated child time, candidate provides it. Codec inventory remains 48→48. The full 83 Python policy tests also pass with the actual hosted toolchain. No old guard/validator/exception was weakened. This corrects the original inventory-only result; it does not relabel that attempt. All-target/all-feature Rust 1.86 and stable source checks pass, including 738 unit tests and 53 corpus tests. Local focused controls include 23 clock tests, eight child methods and the equal-time/empty-ID refinement. Sonar's completed current-head analysis has zero unresolved issues. Stable published-SDK docs compatibility, public boundary, packaging and the other source checks pass. Rust CodeQL remains in progress at this readback, so final integration is still pending its actual terminal result. Earlier local full-policy invocation failed because native Cargo was absent; the hosted full-policy PASS above resolves that qualification gap with an actual available toolchain. All local source resources remain removed and cached public inputs preserved. No release, installed/native/private action or #191/#192 authority change is inferred. |
|
The selected scalar-child source cohort is integrated and terminal. Actual main is Current source qualification passes 738 unit tests on Rust1.86/stable, the 53-test corpus and all 83 Python policy tests. Twenty-three focused clock tests include eight child methods. Both PR and original main's real regression comparison report 68→69 replay fixtures, The sole automatic protected stable-docs run 42138689802 and deployment Stable docs still bind published SDK 4.12.0, source Central replay-clock #215 remains open. This cohort supports only fully correlated persisted scalar child completion/failure categories and their actual query prefixes. Ordinary-entry original-start authority remains Server-owned. Changed-run child lineage, other operation families, exact predicate prefixes, opt-in inline persistence, release/published cross-SDK conformance and guides remain separate. #216 still requires Cloud's actual CORS/live handoff; #191/#192's distinct frozen-custody/policy-access/lifecycle/installed stops are unchanged. No release, wire/capability/producer adoption or Server/private operating result follows from source integration. |



After a persisted scalar child result,
replay_now()previously returned unavailable. It now returns the unique correlated parentChildRunCompleted/ChildRunFailed/ChildRunCancelled/ChildRunTerminatedtime after actual command consumption, preserving precision and equal/backward time.The authority matches Core
4b2cdc55:WorkflowExecutor::resumeChildResolutionand the correspondingQueryStateReplayerbranch both send/throw at the selected parent resolution event's ownrecorded_at. Childclosed_atandreused_recorded_atare not those branches' clock authority. A supported lifecycle has one schedule, an optional start and one terminal, with matching nonempty child-call, instance, run and type identities. Missing/conflicting identity, duplicate/out-of-order lifecycle, changing-run lineage and invalid/missing time leave business time unavailable while preserving legacy child results/failures. Snapshot and reconstructed queries use their actual inspected/consumed prefixes.Exact
944f00694c1de5de38d13b1835abd1eac5d4e93chas 20 terminal checks: 18 successes/two intended manual worker skips, all four CodeQL analyses and zero unresolved Sonar issues. Original CI 42137884686 passes all-target/all-feature Rust 1.86/stable qualification, including 738 unit tests, the 53-test corpus and all 83 Python policy tests. Twenty-three focused clock tests include eight new child methods covering real completion/caught failures, unchanged-prefix/cold replay, equal/backward/precise time, future-row isolation, malformed/missing authority, query prefixes and interleaved/nested/error scopes.The real behavioral comparison passes: 68→69 replay fixtures, one negative control, unchanged 48 codec fixtures. The same official consumer compiles and consumes child results on both e4d0f3f and candidate; the base fails the new clock expectation and candidate passes. The first inventory-only attempt exposed missing module coverage. With General's source decision, this appends only exact
src/replay_clock.rscoverage plus omission/addition proof. Every old selector, guard, validator and exception remains unchanged. Earlier attempts retain their original outcomes. Local bounded source resources were removed; cached public inputs were reused offline.Refs durable-workflow/.github#215 and its selected cohort. Existing APIs, command/history/UUID and cancellation behavior are preserved. Ordinary-entry producer authority, other families, opt-in inline persistence, release/published conformance and guides remain open. #216's live-CORS receipt preempts this source work; #191/#192's specific operating/review boundaries remain unchanged. The existing protected docs follower still builds stable SDK 4.12 API/source separately from current tooling; Original main/artifact/live acceptance and cleanup are complete.