ace-hitl-hermes 0.2.0 → 0.2.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: cea9b0aa8245c024ee39a1aa4a63f55e7513c2d906f5648b3e19f2d70ac8b7b4
4
- data.tar.gz: aa9c46cdc21476780ce55d9ab63b7b371c2b454a4e1c08ae22a5a0ec93ec11e0
3
+ metadata.gz: 8f649adbf21f1152d0f999da753e27a78e33d2921fa815fc5cf1f5eded9cfd6d
4
+ data.tar.gz: affb9a379dbeaed8870ecf2a9be45764d29f1aec2301f6aa1bfba9edb028040e
5
5
  SHA512:
6
- metadata.gz: 1d33d3b81a50402c434dd91e62739cd48ff35ae2a807ab937120b51a968dd15a6e0a11d59542565a5fa6dd3db57b98ddcc42198772018aea6ce91d4b1a9082d4
7
- data.tar.gz: 32b5352923b92216718c6b5667c3e773a36f108327300427424a5f4f2bf82b5f09fad1849aec1f64c8947594a75e9a3b131cb8b1903664b57a8654a494f10d20
6
+ metadata.gz: 60e474770c3ae4c8ae62bb6f68cbf7ac6675b0a93b800f5cf464e6f083c9c3f5b6bd365abd6e70b186a963dec494e39cecbc0f4feba7d5265b471170188f401f
7
+ data.tar.gz: 8c90e2e211d9d7d28168028210216c2fb50d5fb67af586bf5724259463d578ca30e80f7c68f732f4d48b990c0f4d4555df62e357dbcf44ce6a72361ae91009e9
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.1] - 2026-10-08
11
+
12
+ ### Fixed
13
+
14
+ - Preserve the selected project for proposal operations and transport ingress instead of resolving a different ambient journal.
15
+
10
16
  ## [0.2.0] - 2026-10-05
11
17
 
12
18
  ### Added
@@ -121,16 +121,18 @@ module Ace
121
121
  end
122
122
 
123
123
  def reconcile_proposals
124
- after = nil
125
- loop do
126
- page = @lifecycle.proposal_due(after: after)
127
- page.fetch("items").each do |proposal|
128
- @relay.reconcile(request: proposal.fetch("request_id"), through: proposal.fetch("deadline"))
124
+ @registry.channels.flat_map { |channel| channel.fetch("projects") }.each do |project|
125
+ after = nil
126
+ loop do
127
+ page = @lifecycle.proposal_due(project: project, after: after)
128
+ page.fetch("items").each do |proposal|
129
+ @relay.reconcile(request: proposal.fetch("request_id"), through: proposal.fetch("deadline"))
130
+ end
131
+ cursor = page.fetch("next")
132
+ break unless cursor
133
+ raise ContractError, "proposal deadline cursor did not advance" unless cursor.is_a?(String) && (!after || cursor > after)
134
+ after = cursor
129
135
  end
130
- cursor = page.fetch("next")
131
- break unless cursor
132
- raise ContractError, "proposal deadline cursor did not advance" unless cursor.is_a?(String) && (!after || cursor > after)
133
- after = cursor
134
136
  end
135
137
  rescue Ace::Hitl::Lifecycle::Error, ContractError => e
136
138
  warn "ace-hitl-hermes: proposal reconciliation unavailable (#{e.class}); deadlines deferred"
@@ -190,7 +190,8 @@ module Ace
190
190
  if proposal?(record)
191
191
  # Same ingress lock as receive; no received reply can land
192
192
  # between this checkpoint and the HITL decision transition.
193
- checkpoint["proposal"] = @lifecycle.proposal_reconcile(request, checkpoint: checkpoint)
193
+ checkpoint["proposal"] = @lifecycle.proposal_reconcile(request,
194
+ project: record.fetch("binding").fetch("envelope").fetch("project"), checkpoint: checkpoint)
194
195
  end
195
196
  checkpoint
196
197
  end
@@ -211,7 +212,8 @@ module Ace
211
212
 
212
213
  def acknowledge_proposal(record)
213
214
  return unless proposal?(record)
214
- @lifecycle.proposal_acknowledge(record["request"], submitted_at: record.fetch("submitted_at"))
215
+ @lifecycle.proposal_acknowledge(record["request"],
216
+ project: record.fetch("binding").fetch("envelope").fetch("project"), submitted_at: record.fetch("submitted_at"))
215
217
  end
216
218
 
217
219
  def now
@@ -293,7 +295,7 @@ module Ace
293
295
  end
294
296
  answer = text.sub(/\A\/hitl-reply(?:@\w+)?\s+\S+\s+/i, "")
295
297
  if proposal?(record)
296
- @lifecycle.proposal_reply(record["request"], answer: answer,
298
+ @lifecycle.proposal_reply(record["request"], project: record.fetch("binding").fetch("envelope").fetch("project"), answer: answer,
297
299
  received_at: item["received_at"], sequence: item["sequence"])
298
300
  item["status"] = "delivered"
299
301
  commit.call
@@ -4,7 +4,7 @@ module Ace
4
4
  module Hitl
5
5
  # Folder-as-interface HITL transport plugin (spec 8wm.t.vs1).
6
6
  module Hermes
7
- VERSION = "0.2.0"
7
+ VERSION = "0.2.1"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-hitl-hermes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-05 00:00:00.000000000 Z
10
+ date: 2026-10-08 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-hitl-contract
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.12'
32
+ version: '0.13'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.12'
39
+ version: '0.13'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ace-support-cli
42
42
  requirement: !ruby/object:Gem::Requirement