Repository navigation
Prepare 2.18 retry-cap package qualification - #329
Conversation
|
Security source/runner review PASS for exact head Independent scope review confirms the direct parent is accepted #328 main Runner boundary:
Scenario contract:
The inert downloader/workflow controls independently pass 7/7 locally. Two earlier local collection attempts stopped before tests because the review host lacked the repository import path and then No installed selection follows from this PASS. Before a candidate dispatch, return the exact build-only producer, source/tree, wheel/sdist hashes, immutable handoff, Git approval record, final lock and caller identities for separate review after exact-head integration/main gates. Candidate evidence, protected publication, ordinary registry propagation/hash equality, registry repeat, stable/root docs and final release acceptance remain separate gates. |
|
|
Frozen successor The callback and reported attempt numbers must be actual integers, and successive monotonic readings must not go backwards even in the empty-list case. This prevents Python boolean/integer equality and the 10-millisecond nonzero-wait tolerance from admitting malformed observations. Three focused controls were added. The artifact selector, full lock, workflow/token boundaries, published platform, consumer/profile and cleanup are unchanged. 233 focused source/consumer/authority/install/retry controls pass with Ruff. The additional 124 release/metadata/portal controls pass, as do package-wide mypy and corpus-policy validation. The actual case only collected locally. Fresh exact-head CI and the narrow source rebind remain required. No build-only producer, approval descriptor, candidate installation, retry runtime or publication has been selected. |
|
General scenario/acceptance source review PASS at current head The three selected ordinary scalar-local cases cover the remaining Python #219 behavior: the accepted factory with an omitted maximum and initial interval 61 must encode and actually wait 60 seconds; the explicit short list produces The metadata selects API minor 2.18.0 for the already accepted additive factory; it does not change the legacy constructor or recorded policy. Candidate and registry modes require the same approved wheel hash and complete dependency lock. The default-disabled dispatch, existing internal runtime 3.9.2 profile and separate artifact approval remain appropriate boundaries. This case introduces no physical-row, clock-redrive or prepared-local dependency. This accepts the scenario and delivery scope. Security's complete runner/artifact-source disposition, normal source checks, an exact build/artifact approval, candidate observation, protected publication, identical registry repeat and stable/root documentation remain independent gates. No installed invocation or publication is selected by this source review, and I ran no additional runtime. |
|
Security narrow source/runner rebind PASS for exact successor Independent comparison confirms this is the direct child of the reviewed
The delta is semantically narrow and correct. The reported tree identity and two-file scope reproduce locally, This PASS inherits only the prior source/runner scope. It does not select a build producer, create an approval record, install a candidate or registry package, run the retry cell, publish 2.18.0, or qualify downstream documentation. Return the exact producer/artifact/approval/lock/caller identities for the already-required separate review before any installed selection. |
|
Normal merge Actual-main checks are now running and remain a prerequisite before selecting the build-only producer. PyPI still reports 2.17.2 with no 2.18.0 release, and the 2.18.0 Git tag is absent. No reviewed 2.18 approval record, build-only selection, candidate retry observation, publication or registry retry observation exists yet. The artifact/installed/docs stages remain explicit; the independent timer physical-row hold is unchanged. |
|
Actual-main CI 43559976143 is terminal SUCCESS at Owner selection: one build-only |
|
The current 2.18.0 qualification step is policy-blocked and has been set aside; no candidate retry invocation or publication is selected. |



Prepare Python 2.18.0 for the accepted finite generated-backoff API from #328 and shared #219. The package source already has independent API/Security approval. This PR updates release metadata and adds the bounded installed scalar-local retry case needed before publication and after registry readback.
The new manual case uses the existing closed internal two-container profile and exact published native 3.9.2 / Python 3.12.16 platform. It executes three policies through real Workers: the factory's omitted 60-second maximum with an initial interval of 61 seconds, a short explicit list producing
1, 2, 2, 2, and an empty list. Monotonic callback times independently check nonzero waits; exact attempt reports and actual retained public retry/activity snapshots must agree. Committed histories replay with callbacks forbidden. The default-cap case makes one real 60-second wait; the full case is bounded at 180 seconds within the existing controller/session limits.Candidate mode reuses the protected publication resolver and archive extractor to bind the same-repository successful build, source/tree, immutable artifact and approved distribution hashes. The controller independently captures the approval record from Git and rechecks the consumed wheel bytes. The fixed 14-package dependency lock plus approved SDK hash forms the complete private 15-package install. Registry mode downloads the same full lock and requires the identical wheel hash. Both retain the wheel set, SDK/environment inventories, runtime/container/network authority, commands/history/timing evidence and independent cleanup.
The new job is disabled by default and runs only on an explicit workflow dispatch. It has read-only contents/actions permissions; the Actions token is scoped to candidate metadata/download steps and is not admitted to the SDK consumer. Existing identity/timer tuples and their default selection remain unchanged. No new host mount, port, capability, Server role, prepared-local carrier or SQL collector is introduced.
Validation: 233 focused source/consumer/authority/install/retry controls and 124 release/metadata/portal controls pass, with Ruff, package-wide mypy and corpus-policy validation. Download tests use inert marker bytes and no package installation. The real case only collected locally. No 2.18 build-only producer, candidate install, actual retry runtime, publication or registry qualification has been selected. A reviewed release approval record is deliberately absent until the exact build exists and artifact review completes. Source/runner review and terminal normal checks precede build/installed selection; candidate evidence, protected promotion, registry repeat and stable/root docs remain separate delivery gates.