smith-agents 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 986d706ecdf0a51035e20dde373106a6c6df18bc2150cae87e117993bd3fcd1e
4
- data.tar.gz: e67ca0f8e6b4d6d35c5e1683876a9e191d0da92e29bee4c4379ca8b60b77c50e
3
+ metadata.gz: 988c5dc6e794da7b78889dc17db5801c9ad8ebf99a008a0b043bdc56e7115126
4
+ data.tar.gz: ad4ecd254dd213b16e2b5e27730fed50fdd6491b86d45d5d76f40ba620a0bc33
5
5
  SHA512:
6
- metadata.gz: fa10aed2a7fc3874e8629af28beb07c230d5632b5a653630e70374931c8067775b8f17bee8c70a5c7e96c723e70dbad10c693491c37f8f4bb4a3c7f29b5aed1e
7
- data.tar.gz: 13560c156073e79e1950d46e460a7f8a1a964a3af6d9b63b68394a0835b6b117f1fb60636c8cecb62d4fb6380e9064a535607cd2e57155e92f64915d2ab76228
6
+ metadata.gz: e439e1c6cc4cae2feffdb3a258e9abe94dd6f90a7641e76e36784921f09864d53d4d96616823ef2bfb43c56aa5cc9082eb689fffd4fc1464fa51e752f724139f
7
+ data.tar.gz: 6d7bbf59a8b7c5297078af12b08a2b092287c5def28df0dac69cc10553e308abb238512e275166e372b08dcd155b6583e898d91b25b89ef4303ea5da09476eb4
data/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Version
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ### Fixed
10
+
11
+ - Persist a composite transition's execution namespace with its prepared
12
+ split-step snapshot so prepared- and dispatch-state recovery reproduce the
13
+ exact same plan.
14
+ - Pin composite namespace preparation to Smith-owned implementations so
15
+ subclass method collisions cannot bypass durable plan identity, and release
16
+ the preparation claim cleanly when namespace generation fails.
17
+
9
18
  ## [0.6.0] - 2026-07-20
10
19
 
11
20
  ### Added
data/lib/smith/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Smith
4
- VERSION = "0.6.0"
4
+ VERSION = "0.6.1"
5
5
  EXECUTION_SEMANTICS_VERSION = "2"
6
6
  end
@@ -33,6 +33,8 @@ module Smith
33
33
  def finalize_split_step_preparation!(transition, transition_name, key, adapter, persistence_ttl)
34
34
  transaction_identity = TransactionIdentity.capture(adapter)
35
35
  transition_signature = TransitionContract.capture(transition)
36
+ namespace_preparer = PreparationClaim.instance_method(:prepare_composite_execution_namespace!)
37
+ namespace_preparer.bind_call(self, transition)
36
38
  @split_step_mutex.synchronize do
37
39
  unless active_split_step_preparation_claim?
38
40
  raise WorkflowError, "the split-step preparation claim is no longer active"
@@ -65,6 +67,12 @@ module Smith
65
67
  @split_step_preparation_thread.equal?(Thread.current)
66
68
  end
67
69
 
70
+ def prepare_composite_execution_namespace!(transition)
71
+ return unless transition&.parallel? || transition&.fanout?
72
+
73
+ ArtifactIntegration.instance_method(:execution_namespace).bind_call(self)
74
+ end
75
+
68
76
  def mark_split_step_prepared!(_adapter)
69
77
  @split_step_mutex.synchronize do
70
78
  phase = @split_step_transaction_identity ? :prepared_uncommitted : :prepared
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smith-agents
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Ralak