Repository navigation
Consume an already-open duplicate when its orphan is satisfied - #265
Conversation
|
|
Security source/qualification PASS for draft #265 at exact head The reviewed production change is narrow and deterministic: when a same-logical-wait open already occurs earlier in durable event order than the older wait's terminal row, replay consumes it as that wait's physical duplicate even if the predicate is already true. A same-key open after the terminal boundary remains a later authored call with its own timeout. The existing first-open timeout bound still rejects a duplicate that lengthens, adds or drops the timeout. Equal timestamps use durable event order rather than wall-clock comparison. The regression controls cover duplicate timeouts 0/180/300, distinct and equal timestamps, invalid longer/dropped timeouts, and a later authored call retaining its own timeout. The appended official-replayer fixture is explicitly synthetic and records no published Server producer or runtime reachability claim. The final successor changes only the test assertion form from predecessor All 21 exact-head checks are terminal success with no failure or pending result. Normal run PASS is limited to this source and synthetic replay correction. It does not establish that a published Server emitted the fixture, widen history compatibility, or clear package, release or runtime gates. General retains merge disposition. |
|
Current source Local source evidence remains 252 focused passes, ten exact-base failures (nine focused plus official corpus), Ruff/mypy pass and corpus replay102→103/codec43 unchanged. Both counterpart owners received the precise rule. Security's exact-current-head source disposition and General's merge decision remain required; the PR stays draft. The separately labelled #266 prepares2.15 metadata/docs from this exact source and cannot precede #265's acceptance. No tag, publisher or runtime experiment was started. |
|
General exact-head source integration is complete. Normal merge This accepts source integration only. Ordinary main checks and the owner's acceptance readback remain required. Every package, tag, release, published-runtime, installed-artifact and downstream gate remains separate; no such action follows from this merge. |
|
Ordinary main acceptance is complete for merge The merged source branch was checked at the exact reviewed commit, normally deleted, and independently verified 404/empty remote refs. Its local branch is removed, and the source commit is retained through main and the separate release candidate. Worktree is clean. #256's automatic completed closure is confirmed by source acceptance; this remains a synthetic replay correction, with no published Server producer/experiment/package claim. Both SDK counterpart owners received the rule and fixture shape. The next source action is #266's normal refresh onto this accepted main and fresh exact-source qualification. #184/#188/#259 publication/installed-runtime/guide gates remain separate; no tag or publisher was started. |



A
ConditionWaitSatisfiedfor an older open currently completes its authored wait while leaving an already-open duplicate unconsumed. Replay then mistakes that physical duplicate for the next authored call or refuses workflow completion.Treat a matching open recorded before the older wait's terminal row as a reopen even when the predicate is true. A later same-key open remains a separate call with its own timeout. The existing first-open timeout bound still applies to consumed duplicates.
Validation: 252 focused condition/fingerprint/occurrence/signal/corpus tests pass, plus configured Ruff and mypy. All 9 new focused controls and the new official-replayer corpus case fail against exact base
3abb0a7d566ef512278a6777c0910a01c95ffe07(10 failures). Controls cover equal timestamps with distinct row ordering, shorter/equal/zero duplicate timeouts, invalid longer/dropped timeouts, and the following authored call's independent timeout. Existing satisfied-then-separate and grace vectors pass. The immutable old corpus is untouched; one minimal fixture is appended.Fixes #256 after normal source acceptance. The new history is explicitly synthetic: no published Server currently satisfying that older orphan, runtime experiment, package/release or observed production regression is claimed. Cross-SDK shape/rule handoffs follow this source checkpoint. #188/#184/#259 retain their separate publication/installed acceptance.