chore: Release 0.3.0 to main #27

Merged
day01 merged %!d() commits from %!s() into %!s() 2026-08-17 21:14:58 +00:00
Owner

Promotes the dispatch-time projection fix (assignment is projected before the token that depends on it is minted) to main.

Promotes the dispatch-time projection fix (assignment is projected before the token that depends on it is minted) to main.
day01 added 3 commits 2026-08-17 20:59:53 +00:00
		A node's actions_runtime_token is only valid once the forge has heard
which node and fence hold the job it names, but that binding only
existed through the periodic projection sweep - up to 250ms behind the
assignment that already carries the token. A job's first real step
(uploading an artifact) can easily run before the sweep catches up,
so the forge rejects it as unauthorized.

Dispatch now pushes that one run's projection synchronously, right
before minting the token, closing the gap for the common case. The
push is best-effort and does not block dispatch if the forge is
unreachable; the periodic sweep still covers everything after.
	
		Keeps session.rs and dispatch.rs under the workspace's 250-line limit
after adding the synchronous projection push, by moving the pure
wire-message construction (assignment_body, wire_conclusion) into its
own module and the NodeSessionServer Clone impl next to its
constructors.
	
		Reviewed-on: ⁨https://syncode.sh/syncode/control/pulls/26⁩
	
day01 merged commit f6daa17977 into %!s() 2026-08-17 21:14:58 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: syncode/control#27