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 +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/ace/hitl/hermes/runtime.rb +11 -9
- data/lib/ace/hitl/hermes/transport/relay.rb +5 -3
- data/lib/ace/hitl/hermes/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8f649adbf21f1152d0f999da753e27a78e33d2921fa815fc5cf1f5eded9cfd6d
|
|
4
|
+
data.tar.gz: affb9a379dbeaed8870ecf2a9be45764d29f1aec2301f6aa1bfba9edb028040e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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,
|
|
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"],
|
|
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
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
39
|
+
version: '0.13'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: ace-support-cli
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|