Repository navigation
Send deterministic occurrence IDs for condition waits - #262
Conversation
|
|
Reviewed the recovered source at exact Local Python 3.13 validation:
Normal hosted checks are running on this exact head. Published-runtime deduplication remains unqualified: server#1023 is still unmerged, and no exact published artifact advertising |
|
Security source review: GO for exact head I reviewed the one-commit, six-file delta. The runtime change is 14 additive lines: one per- The command field already has a Server protocol floor of 1.17; this SDK advertises worker protocol 1.20, so the authored field is within the existing wire contract. Server #1023 is still the separate unresolved-open dedupe/capability implementation. Evidence at this exact head: local focused/corpus validation recorded 267 passes plus Ruff and mypy; both new corpus controls fail on the exact prior Keep #259 open after any source merge. Published-runtime acceptance still requires exact Server evidence with merged/released #1023 advertising |
|
Exact-head source qualification is complete for
#259 stays open for published-runtime acceptance. Server#1023 must be merged and published with |
|
General merged Security-cleared |
|
Independent post-merge readback passes for
#259 remains open for an exact published Server artifact advertising #258's separate maintenance-fix adoption remains with the Sample App and docs owners; its current downstream readback retains the pending consumer-image and live-documentation evidence. |



Every newly authored
ctx.wait_conditioncall now sendspython:condition-wait:{ordinal}, allocated once per call in deterministic authoring order. False-wake reopens preserve the first physical open's occurrence ID and remaining timeout. Histories whose first open has no ID retain that absence, including chains with later mixed IDs. Separate calls and grace waits receive new ordinals.Selection members use the same authoring helper, including nested members. Recorded members are consumed from history without resubmitting their opens, so replay tolerates absent or foreign recorded IDs without an additional selection-specific mechanism.
Adds focused tests for authoring order, false wakes, grace timeouts, legacy/mixed histories, duplicate chains, recorded selections, and fresh-process determinism. Adds append-only replay corpus cases for first-open preservation and selection order. Local Python 3.13 validation passes all 267 focused/corpus tests, Ruff and mypy. Both new corpus cases fail specifically for missing occurrence identity when run against the pre-change
workflow.py, and pass with this source. All hosted checks pass, including Python 3.10–3.15, connected integration and target-branch qualification. Security source review GO is recorded at #262 (comment).Refs #259. This is source work for the future minor release. Published-runtime acceptance remains pending an exact Server artifact advertising
condition_wait_idempotent_reopenfrom server#1023. No release is included. The existing fingerprint algorithm and 2.14.1 maintenance release remain separate.