Skip to content

Prepare 4.17.0 replay-aware logging release - #268

Merged
rmcdaniel merged 2 commits into
mainfrom
agent/sdk-rust/417-logging-release
Nov 13, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
agent/sdk-rust/417-logging-release

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Release the replay-aware workflow logger and live replay-state API from #266, with the cold-worker acceptance test from #267. This additive API selects minor version 4.17.0 and keeps all third-party dependency versions fixed. Relates to durable-workflow/.github#227.

Validation: release-note parser and offline Cargo package-identity update pass; the lockfile changes only the SDK version. Normal source CI and exact-main checks apply. Before any tag or publication, the exact accepted commit must pass the existing packaged lifecycle/deadline qualifier and the four-process logging scenario against a qualified immutable Server. The reviewed approval record and protected Release workflow, registry-byte readback, published logging repeat and downstream docs handoff remain required. This PR does not itself publish a package.

@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

The exact pre-publication package candidate is clean source 5220813. Crates.io currently has 4.16.0 as its newest version and no 4.17.0 entry. No tag exists or is requested yet.

Selected baseline tuple: published native Server 3.10.0, source b6e04ce7e679464e91f6ceae83310d3bb3204092, index sha256:ca92c866fc0f3819068c5088fbd0a79115bb5588c06a4f5324b9280356c08bad, linux/amd64 child sha256:9d64e9aeee84b46d21715826a3e7e5a96eb8d4ce7fccb126b88b15596ab14973. Its final publication receipt supplies the producer authority; this selects no #980 corrected-clock cohort.

Use the unchanged scripts/acceptance/installed-native/run.py from this clean candidate with --package-from / --package-commit, exact version 4.17.0, both lifecycle/deadline cells, the exact Server tuple, --jobs 2 and immutable Rust/Cargo 1.86 image rust@sha256:300ec56abce8cc9448ddea2172747d048ed902a3090e6b57babb2bf19f754081. Independent history checks use immutable Python image python@sha256:4209fae09a3e20afd863e528bfddc235da5fd5977983e1996cd54cc9a72e6267.

The existing qualifier bounds sequential package/resolve/build containers at 2 CPUs/3 GiB/1024 PIDs and each finite runtime/consumer/proxy role at 1 CPU/1 GiB/256 PIDs, on an owned internal network. Public registry fetches occur only during package/dependency preparation; final build is offline. No image build, vault or production credentials. Synthetic per-cell credentials and owned state are removed by the existing supervisor/label-checked cleanup. Temporary diagnostics retain seven days. A failed setup, product cell or cleanup remains NONPASS and cannot produce release authority.

After the baseline, the separate reviewed #267 logging test must compile against the same checksummed package with its exact source/lock/executable provenance, run four real cold processes against this immutable tuple, and finish owned cleanup. Candidate approval, protected publication and registry-installed logging repeat remain required; neither source merge nor baseline-only success completes shared #227.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security exact-source review of 52208134296009bbae1af316c8efac89d3465990 / tree bcb6c4d87e11381e43735524e41c350f0ad5f815: PASS for this release-source delta.

I independently compared it with accepted main 3c60433738691cd902d90956e3d0e12973f8c695. That main tree is exactly the reviewed #267 tree dbf8208839d0b406db981aae1a56dbc735cadcff. The successor is two ordinary commits directly on that base, with only:

  • Cargo.toml: package version and product-train, both 4.16.0 → 4.17.0;
  • Cargo.lock: only the root durable-workflow package version changes; all 196 package records and every dependency/source/checksum field are otherwise equal;
  • CHANGELOG.md: only the accepted logger entry's heading changes from Unreleased to 4.17.0.

git diff --check is clean. Locked offline Cargo metadata resolves package/product-train 4.17.0 with the same 30 declared dependencies. The maintained release parser accepts one five-line 4.17.0 entry (entry_sha256=f2cd57d6f9e8ec187a70846e8646b43dc35c710e4e6001856c542304c2b33c5f). The 4.17.0 Git tag and GitHub Release are absent, and the registry still reports 4.16.0 as newest/max stable.

No source finding. Fresh exact-head CI remains the merge gate. This verdict does not authorize a tag or publication and does not replace the recorded exact-package lifecycle/deadline, four-process installed logging, immutable Server/platform, approval, protected publication, registry-byte readback, published logging repeat, or downstream documentation gates. It also does not resume #264/#265.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security gate closure: exact reviewed head 52208134296009bbae1af316c8efac89d3465990 remains current. All PR checks are now terminal with no failures or pending jobs, and GitHub reports mergeStateStatus=CLEAN. The source PASS above is unchanged.

Normal merge and accepted-main tree verification remain with the owner. This does not authorize or replace any tag, package approval, protected publication, registry readback, installed logging, Server/platform, or downstream documentation gate.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 13, 2026 22:22
@rmcdaniel
rmcdaniel merged commit 0ac841a into main Nov 13, 2026
19 checks passed
@rmcdaniel
rmcdaniel deleted the agent/sdk-rust/417-logging-release branch November 13, 2026 22:22
@rmcdaniel

Copy link
Copy Markdown
Member Author

Security accepted-main verification: #268 merged normally at 0ac841a2f0e3f1b717cc76f7e2cb725ee62f144e. Its tree is exactly bcb6c4d87e11381e43735524e41c350f0ad5f815, byte-identical to reviewed head 52208134296009bbae1af316c8efac89d3465990; the complete tree diff is empty. The merge parents are accepted main 3c60433738691cd902d90956e3d0e12973f8c695 and that reviewed head. The topic branch is absent remotely.

Exact-main CI/API docs/CodeQL/Sonar are running normally; Public Boundary is already successful. This closes source-merge identity only. It does not authorize or replace package approval, tag, protected publication, registry readback, installed logging, immutable Server/platform, or downstream documentation gates.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Release source is accepted main 0ac841a, tree bcb6c4d87e11381e43735524e41c350f0ad5f815, exactly equal to reviewed/package commit 5220813. Topic branch is deleted and absent. All 19 PR checks and all five actual-main workflows are terminal successful (two intended Server PR skips): CI, Public Boundary, CodeQL, SonarQube, stable API docs. The docs workflow retains its existing stable selector; this does not publish the new API.

The exact candidate .crate is SHA256 6de774879fe8411776b60736391b2c6b426bb1bc125268718004656efd52f5c3, Cargo1.86, 118 canonical members, VCS commit52208134. Pre-publication lifecycle and deadline cells passed on the selected immutable native3.10.0 tuple, both driver/history exit0, same-worker checks true, binary/archive unchanged, no cleanup errors or leftover owned container/network. Finished 2026-11-13T22:21:48.013725+00:00.

Unmodified approval/summary bytes are public in draft #269 and pass the maintained release-package validator. Its independent record review and specific same-package four-process logging invocation review remain in progress; no logging runtime, tag or upload has occurred. The first optional consumer compile's unused tracing-attributes offline refusal is retained NONPASS before runtime; the std-only corrected compile passes using the existing vendor set, with all118 SDK members unchanged. Protected publication, registry byte readback, actual registry logging repeat and downstream docs remain required.

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