Skip to content

Register each cold logging worker before polling - #271

Merged
rmcdaniel merged 1 commit into
mainfrom
agent/sdk-rust/227-cold-worker-registration
Nov 13, 2026
Merged

rmcdaniel merged 1 commit into
mainfrom
agent/sdk-rust/227-cold-worker-registration

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Every cold acceptance process has its own worker ID. The parent registers the setup worker, but the fresh child calls run_once without registering its new ID, so published native Server3.10 correctly refuses its first poll with HTTP409 worker_not_registered. Register that child before polling, preserving the same workflow definition, original workflow/run, four process boundaries and one-observation/history/result assertions.

This changes only acceptance-fixture setup. The bounded #270 diagnostic run is the actual predecessor failure; no logger/library/package change or new credential is required. Relates to #269 and durable-workflow/.github#227.

Validation in progress: ordinary pre-client controls/compile against the unchanged exact candidate package, exact-head CI and source review. Then bind the new test/build/parent to the reviewed manual envelope before one bounded installed repeat. All preceding NONPASS records remain unchanged; no tag/upload or logger PASS is claimed.

@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

Exact source7b6a3514dd9f7c6454a1b753a5b5247cab064722 / test SHAe66d177c6a1ffc486623169d1505766447c18c3c4650a2023a60f8bb9f9d11f0. Ordinary pre-client controls PASS3, real SDK flows ignored2, using Cargo1.86/offline build against unchanged candidate4.17 archive6de774 and all118 byte-equal installed members. Source/vendor/manifest stayed RO; the control container is absent. The initial staging command returned before the test-file copy completed; Docker refused the nonexistent bind before creating any container. That setup NONPASS is retained, and the repeat began only after complete source/hash verification.

The actual predecessor is the reviewed e943 diagnostic run: the first fresh child's poll receives HTTP409 worker_not_registered because its phase-specific worker ID was never registered. The one new line registers that same worker before run_once, with the original definition, queue and all scenario assertions unchanged. No product replay/codec fix or corpus change is needed for this acceptance-fixture correction. No new credential or SDK release is selected for the registration operation itself.

New test/build/parent/controller identities are returned separately on #269 before another bounded runtime; this source/compile result does not qualify installed logging or publication.

@rmcdaniel

Copy link
Copy Markdown
Member Author

All19 checks on exact7b6a3514dd9f7c6454a1b753a5b5247cab064722 are terminal (17 successes, two intended Server qualification skips), mergeState=CLEAN. Source remains frozen; the actual predecessor HTTP409 worker_not_registered, offline controls and data packet remain bound here. No runtime has executed the corrected registration fixture yet. Exact source/data counterreview still precedes the one bounded observation; no package/tag/upload claim.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Security exact source/data review of 7b6a3514dd9f7c6454a1b753a5b5247cab064722 / tree 7a7016f7d51a3e9354d40cff685a5bc239f686eb and the bound #269 packet: PASS for one bounded diagnostic observation under the existing #269 safeguards.

  • The source delta from reviewed Retain bounded cold-worker failure diagnostics #270 8b006e1 is only the diagnosed fixture correction: retain the constructed phase worker, register that same instance, then call run_once(). Definition, queue, phase ID, four-process/log/history/result assertions and bounded child-stderr handling are unchanged. This directly addresses the retained real HTTP 409 worker_not_registered; it does not infer an auth or product-logger defect.
  • Exact-head Register each cold logging worker before polling #271 now has 19 terminal checks (17 success, two intended skips).
  • I independently rehashed the retained registration root: test e66d177c... equals the exact Git blob; receipt 4ac6427e..., manifest 8b8fcaa2..., lock f01b9aba..., build messages 28b558a6..., and 22,396,960-byte parent 217aaf91... all equal the public receipt.
  • The public controller rehashes to 2e2c2e486683b94abaf00c6cdb0ce589ca905f71033e0098b2da9bc0b32098b5. Its complete diff from reviewed e9437c72... is exactly the receipt, binary and test pins; all runtime/network/source/limit/evidence/cleanup code is byte-identical.

This permits one new diagnostic observation only. Preserve the five preceding NONPASS outcomes and return the exact result/cleanup evidence for counter-review. No installed logging PASS, SDK/package change, #980 result, tag, upload or publication authority is inferred.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 13, 2026 23:56
@rmcdaniel
rmcdaniel merged commit 8e13af5 into main Nov 13, 2026
19 checks passed
@rmcdaniel
rmcdaniel deleted the agent/sdk-rust/227-cold-worker-registration branch November 13, 2026 23:56
@rmcdaniel

Copy link
Copy Markdown
Member Author

Registration fixture accepted on main 8e13af5, tree 7a7016f7d51a3e9354d40cff685a5bc239f686eb, exactly equal to reviewed7b6a3514. Remote topic branch is deleted and independently absent. All19 PR checks (17success/two intended skips) and all four actual-main workflows pass: CI, Public Boundary, CodeQL, SonarQube.

The exact corrected test then passed the real four-cold-worker candidate-package scenario, with original identities/history and one new-region log per process; full terminal record, independent terminal/source/base PASS. Earlier fixture/launcher outcomes remain NONPASS. This completes the fixture correction, not registry publication or other-SDK/#980 acceptance. The exact4.17 package and publication follow-through stay on #269.

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