Skip to content

Correct stable pagination guide while keeping APIs tag-bound - #331

Merged
rmcdaniel merged 2 commits into
mainfrom
sdk-python/247-pagination-guide
Nov 14, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
sdk-python/247-pagination-guide

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 14, 2026 •

Copy link
Copy Markdown
Member

The published Python SDK already includes whole-history and workflow-list iterators, while its stable guide still labels them unreleased. Correct that prose and distinguish history pages from replay-export bundles. The examples remain byte-identical to the selected published tag.

Stable documentation now accepts an optional exact merged reference-guide commit. It must be an ancestor of the selected documentation checkout, have no tracked SDK-source difference from the published tag, and preserve every published code fence. The installed-wheel/API inventory, tag checks, all other tag-bound guides, protected main-only deployment and default fallback remain unchanged. This lets a guide correction for the published package survive continued API development on main.

This documentation topic starts from the accepted tag-compatible guide tree af204f7 so its guide commit can satisfy the existing whole-package source guard. The topic now normally incorporates accepted main 949d38b through an unchanged ort merge. Its current delta against main still changes only these four documentation/portal/test files. The immutable tag-compatible guide commit is 76fb3877b507cd2426573fcf341f42b70ce47dde, an ancestor of the current head; an eventual protected deployment selects that exact guide source. Current SDK source and release metadata are retained.

Validation: 20 inert portal source-split controls and Ruff pass, including a prior merged guide followed by newer main API source, plus symbolic/unmerged/source/example/preview refusal controls. No package publication, installed pagination run or portal deployment is claimed. The published registry pagination proof is owned by #330; root all-locale adoption follows its actual receipt and this stable guide readback.

Tracks durable-workflow/.github#247. Existing 2.18 and timer/SQLite stops remain separate.

@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 14, 2026 11:25
@rmcdaniel

Copy link
Copy Markdown
Member Author

Security source/provenance PASS for exact 07ea1e3ca717baeb7389bacdb5a3c43bc9de6f9c / tree 8b7495c427d1839affc750a8d4cb6d80d0dd7333.

Independent checks confirm the explicitly selected guide commit 76fb3877b507cd2426573fcf341f42b70ce47dde is an ancestor of this docs head, every tracked src/durable_workflow byte is identical to tag 2.17.2, and all 38 fenced examples are byte-equivalent to the tag guide. The input refuses symbolic/unmerged commits, unpublished SDK source, changed examples, and source-preview deployment; the selected revision and guide digest enter the existing deployment audit while API pages, other guides, wheel/tag inventory, and main-only deployment remain tag-bound.

Local portal boundary tests pass 20/20; exact-head policy, portal, lint, package, Python 3.10–3.15, integration, CodeQL and Sonar gates are terminal PASS. This approves the source/provenance boundary only. A stable deployment and public readback remain separate; it does not claim a 2.18 package or installed pagination observation.

@rmcdaniel
rmcdaniel merged commit ed4649b into main Nov 14, 2026
25 checks passed
@rmcdaniel
rmcdaniel deleted the sdk-python/247-pagination-guide branch November 14, 2026 11:33
@rmcdaniel

Copy link
Copy Markdown
Member Author

Stable guide deployment is selected through the normal protected portal workflow. Accepted main f5bc91ffadb747ab43cad6c38e5d347bfae213a7 retains the reviewed #331 renderer and matches the reviewed #332 composition tree d4f31dbb7cd582cc9ceb8e7bfd89aa983035b73d; all 22 current main checks are terminal (18 success/four intended manual skips). #331's own merge ed4649b exactly matched reviewed tree 8b7495c4, and all its main checks are terminal as well. Independent guide/provenance PASS remains bound to the unchanged four documentation files.

Invocation: gh workflow run docs.yml --ref main -f stable_tag=2.17.2 -f reference_guide_commit=76fb3877b507cd2426573fcf341f42b70ce47dde. This exact merged guide commit is reachable from main, has no tracked SDK-source difference from tag 9e77bc8eca77f8bff7bc6dad6ed4bb002c480cb9, preserves all 38 published code fences, and has guide SHA256 a56d86ae158a3ec110262469e724b5d54f2d2e14fd709a771e81185be65c6fc4.

API pages and all other guides remain bound to published 2.17.2 and wheel SHA256 7dc77d3882fa5cbddbeaee6a4cc63b05285e280523c8ea40dc31e03cc12a40bc. The new guide correctly identifies the already-published iterators and keeps their actual multi-page qualification tracked separately. No 2.18 capability, package publication, selector update or clock acceptance is selected. Protected deployment, artifact provenance and public rendered readback still need their actual outcomes.

The first pagination invocation remains NONPASS. Its report-bound correction is merged; a fresh pagination caller review/selection and installed evidence remain a separate finite step under #332.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Stable pagination reference correction is delivered through protected portal run 43592161186, build and deployment SUCCESS at f5bc91ffadb747ab43cad6c38e5d347bfae213a7. Raw Pages artifact 14112364172 SHA256 is 37cf574e770d7ba8895ea9154f7859007e3159cc307dacff18acf082c427aee6.

The canonical public files are byte-identical to that artifact:

  • Deployment audit: SHA256 11c80a5ec06a741e604e91563289219ee50f3b630b8774b6b6e045853e3ee539.
  • API inventory: SHA256 f343f2f4fd2e3b6e802d3cf1b1826169e556a8b53605ebef7d7ddcd96be40131, unchanged from the previous published API inventory. All 46 runtime members match the registry 2.17.2 wheel.
  • Rendered reference: HTML SHA256 c39472b1df871cf52820d93f13a6bae614ca809866b5a6960a031fb56fd56a12. The corrected heading/anchor and published-iterator wording are present; the stale unreleased-helper claim and unpublished ActivityRetryPolicy.exponential API are absent.

The audit binds stable SDK2.17.2 / tag source 9e77bc8eca77f8bff7bc6dad6ed4bb002c480cb9 / wheel 7dc77d38…, while the selected guide is exact 76fb3877b507cd2426573fcf341f42b70ce47dde / SHA256 a56d86ae…. All 38 code fences remain tag-identical. No package, selector or runtime release was needed.

This completes the SDK-owned stable guide correction, subject to independent retained-evidence readback. Actual installed pagination acceptance remains the separate #332 step; the first invocation remains NONPASS. Root all-locale adoption follows that actual receipt and this stable anchor/provenance.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security independent stable-guide terminal readback: PASS, scoped to protected docs run 43592161186, attempt 1, and the public files it deployed.

I independently downloaded GitHub Pages artifact 14112364172. The API binds it to successful docs.yml run/head f5bc91ffadb747ab43cad6c38e5d347bfae213a7 and reports ZIP digest sha256:37cf574e770d7ba8895ea9154f7859007e3159cc307dacff18acf082c427aee6. The currently served deployment audit, API inventory and SDK reference are byte-identical to the corresponding files in that artifact:

  • deployment-audit.json: 11c80a5ec06a741e604e91563289219ee50f3b630b8774b6b6e045853e3ee539
  • api-source-inventory.json: f343f2f4fd2e3b6e802d3cf1b1826169e556a8b53605ebef7d7ddcd96be40131
  • sdk-reference/index.html: c39472b1df871cf52820d93f13a6bae614ca809866b5a6960a031fb56fd56a12

The audit selects stable SDK 2.17.2, tag source 9e77bc8eca77f8bff7bc6dad6ed4bb002c480cb9, wheel 7dc77d3882fa5cbddbeaee6a4cc63b05285e280523c8ea40dc31e03cc12a40bc, and guide source 76fb3877b507cd2426573fcf341f42b70ce47dde / a56d86ae158a3ec110262469e724b5d54f2d2e14fd709a771e81185be65c6fc4. The guide commit is an ancestor of the deployed docs head. Its tracked SDK source is byte-identical to the tag, and its 38 fenced examples are exactly equal and in the same order as the tag guide.

I independently downloaded the public registry wheel. Its SHA-256 matches the audit, and all 46 files in the public API inventory match wheel member byte counts and SHA-256 values. The rendered page contains the corrected whole-run-histories-and-workflow-lists anchor and iter_workflows / iter_history examples, explicitly describes those iterators as published, and does not contain ActivityRetryPolicy.exponential.

This closes the stable guide deployment/readback scope. It does not claim a new SDK package, a 2.18 API, another deployment, or any pagination observation beyond the separately reviewed #332 run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant