ace-assign 0.57.1 → 0.60.0
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/.ace-defaults/assign/config.yml +13 -0
- data/CHANGELOG.md +46 -12
- data/docs/exit-codes.md +10 -0
- data/docs/usage.md +49 -0
- data/handbook/workflow-instructions/assign/drive.wf.md +64 -8
- data/lib/ace/assign/atoms/assignment_scope.rb +53 -0
- data/lib/ace/assign/atoms/attempt_state_machine.rb +76 -0
- data/lib/ace/assign/atoms/evidence_digest.rb +78 -0
- data/lib/ace/assign/cli/commands/attempt/base.rb +35 -0
- data/lib/ace/assign/cli/commands/attempt/evidence.rb +28 -0
- data/lib/ace/assign/cli/commands/attempt/finish.rb +35 -0
- data/lib/ace/assign/cli/commands/attempt/reconcile.rb +38 -0
- data/lib/ace/assign/cli/commands/attempt/start.rb +45 -0
- data/lib/ace/assign/cli/commands/attempt/status.rb +54 -0
- data/lib/ace/assign/cli/commands/status.rb +24 -1
- data/lib/ace/assign/cli.rb +34 -2
- data/lib/ace/assign/models/assignment.rb +21 -4
- data/lib/ace/assign/models/attempt.rb +178 -0
- data/lib/ace/assign/models/attempt_binding.rb +116 -0
- data/lib/ace/assign/models/evidence_event.rb +82 -0
- data/lib/ace/assign/models/execution_receipt.rb +139 -0
- data/lib/ace/assign/molecules/assignment_manager.rb +35 -3
- data/lib/ace/assign/molecules/attempt_reconciler.rb +88 -0
- data/lib/ace/assign/molecules/attempt_store.rb +201 -0
- data/lib/ace/assign/molecules/evidence_calculator.rb +144 -91
- data/lib/ace/assign/molecules/evidence_journal.rb +423 -0
- data/lib/ace/assign/molecules/execution_identity_resolver.rb +97 -0
- data/lib/ace/assign/molecules/fork_session_launcher.rb +38 -19
- data/lib/ace/assign/molecules/lifecycle_exclusion.rb +209 -0
- data/lib/ace/assign/molecules/receipt_verifier.rb +272 -0
- data/lib/ace/assign/organisms/assignment_executor.rb +12 -4
- data/lib/ace/assign/organisms/attempt_coordinator.rb +618 -0
- data/lib/ace/assign/organisms/task_assignment_creator.rb +1 -1
- data/lib/ace/assign/version.rb +1 -1
- data/lib/ace/assign.rb +56 -0
- metadata +36 -2
data/lib/ace/assign.rb
CHANGED
|
@@ -60,6 +60,62 @@ module Ace
|
|
|
60
60
|
class InvalidState < Error; end
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
+
# Attempt/evidence-related errors (exit code 5)
|
|
64
|
+
module AttemptErrors
|
|
65
|
+
class InvalidTransition < Error
|
|
66
|
+
def initialize(message = "Illegal attempt state transition")
|
|
67
|
+
super(message, exit_code: 5)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class InvalidScope < Error
|
|
72
|
+
def initialize(message = "Invalid attempt scope")
|
|
73
|
+
super(message, exit_code: 5)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Duplicate start with a conflicting binding for an owned subtree
|
|
78
|
+
class Conflict < Error
|
|
79
|
+
def initialize(message = "Conflicting active attempt for scope")
|
|
80
|
+
super(message, exit_code: 5)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
class NotFound < Error
|
|
85
|
+
def initialize(message = "Attempt not found")
|
|
86
|
+
super(message, exit_code: 5)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Untrusted or unknown execution identity; authority fails closed
|
|
91
|
+
class UnauthorizedIdentity < Error
|
|
92
|
+
def initialize(message = "Unknown or unauthorized execution identity")
|
|
93
|
+
super(message, exit_code: 5)
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Receipt failed verification (binding, head, digest, artifacts, review)
|
|
98
|
+
class ReceiptRejected < Error
|
|
99
|
+
def initialize(message = "Receipt rejected")
|
|
100
|
+
super(message, exit_code: 5)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Attempt state forbids the requested effect (terminal, uncertain, blocked)
|
|
105
|
+
class InvalidState < Error
|
|
106
|
+
def initialize(message = "Attempt state forbids the requested operation")
|
|
107
|
+
super(message, exit_code: 5)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Evidence storage is missing or unwritable; external effects are blocked
|
|
112
|
+
class EvidenceUnavailable < Error
|
|
113
|
+
def initialize(message = "Evidence storage unavailable")
|
|
114
|
+
super(message, exit_code: 5)
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
63
119
|
# Define module namespaces
|
|
64
120
|
module Commands; end
|
|
65
121
|
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ace-assign
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.60.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-10-01 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|
|
@@ -107,6 +107,20 @@ dependencies:
|
|
|
107
107
|
- - "~>"
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '0.39'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: ace-review
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - "~>"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0.57'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - "~>"
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0.57'
|
|
110
124
|
- !ruby/object:Gem::Dependency
|
|
111
125
|
name: ace-task
|
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -277,8 +291,11 @@ files:
|
|
|
277
291
|
- handbook/workflow-instructions/assign/verify-test-suite.wf.md
|
|
278
292
|
- lib/ace/assign.rb
|
|
279
293
|
- lib/ace/assign/atoms/assign_frontmatter_parser.rb
|
|
294
|
+
- lib/ace/assign/atoms/assignment_scope.rb
|
|
295
|
+
- lib/ace/assign/atoms/attempt_state_machine.rb
|
|
280
296
|
- lib/ace/assign/atoms/catalog_loader.rb
|
|
281
297
|
- lib/ace/assign/atoms/composition_rules.rb
|
|
298
|
+
- lib/ace/assign/atoms/evidence_digest.rb
|
|
282
299
|
- lib/ace/assign/atoms/number_generator.rb
|
|
283
300
|
- lib/ace/assign/atoms/preset_expander.rb
|
|
284
301
|
- lib/ace/assign/atoms/preset_loader.rb
|
|
@@ -290,6 +307,12 @@ files:
|
|
|
290
307
|
- lib/ace/assign/cli.rb
|
|
291
308
|
- lib/ace/assign/cli/commands/add.rb
|
|
292
309
|
- lib/ace/assign/cli/commands/assignment_target.rb
|
|
310
|
+
- lib/ace/assign/cli/commands/attempt/base.rb
|
|
311
|
+
- lib/ace/assign/cli/commands/attempt/evidence.rb
|
|
312
|
+
- lib/ace/assign/cli/commands/attempt/finish.rb
|
|
313
|
+
- lib/ace/assign/cli/commands/attempt/reconcile.rb
|
|
314
|
+
- lib/ace/assign/cli/commands/attempt/start.rb
|
|
315
|
+
- lib/ace/assign/cli/commands/attempt/status.rb
|
|
293
316
|
- lib/ace/assign/cli/commands/create.rb
|
|
294
317
|
- lib/ace/assign/cli/commands/fail.rb
|
|
295
318
|
- lib/ace/assign/cli/commands/finish.rb
|
|
@@ -303,19 +326,30 @@ files:
|
|
|
303
326
|
- lib/ace/assign/cli/commands/step.rb
|
|
304
327
|
- lib/ace/assign/models/assignment.rb
|
|
305
328
|
- lib/ace/assign/models/assignment_info.rb
|
|
329
|
+
- lib/ace/assign/models/attempt.rb
|
|
330
|
+
- lib/ace/assign/models/attempt_binding.rb
|
|
331
|
+
- lib/ace/assign/models/evidence_event.rb
|
|
332
|
+
- lib/ace/assign/models/execution_receipt.rb
|
|
306
333
|
- lib/ace/assign/models/queue_state.rb
|
|
307
334
|
- lib/ace/assign/models/step.rb
|
|
308
335
|
- lib/ace/assign/molecules/assignment_discoverer.rb
|
|
309
336
|
- lib/ace/assign/molecules/assignment_manager.rb
|
|
337
|
+
- lib/ace/assign/molecules/attempt_reconciler.rb
|
|
338
|
+
- lib/ace/assign/molecules/attempt_store.rb
|
|
310
339
|
- lib/ace/assign/molecules/evidence_calculator.rb
|
|
340
|
+
- lib/ace/assign/molecules/evidence_journal.rb
|
|
341
|
+
- lib/ace/assign/molecules/execution_identity_resolver.rb
|
|
311
342
|
- lib/ace/assign/molecules/fork_session_launcher.rb
|
|
343
|
+
- lib/ace/assign/molecules/lifecycle_exclusion.rb
|
|
312
344
|
- lib/ace/assign/molecules/preset_inferrer.rb
|
|
313
345
|
- lib/ace/assign/molecules/queue_scanner.rb
|
|
346
|
+
- lib/ace/assign/molecules/receipt_verifier.rb
|
|
314
347
|
- lib/ace/assign/molecules/skill_assign_source_resolver.rb
|
|
315
348
|
- lib/ace/assign/molecules/step_renumberer.rb
|
|
316
349
|
- lib/ace/assign/molecules/step_writer.rb
|
|
317
350
|
- lib/ace/assign/molecules/tmux_control_surface_runner.rb
|
|
318
351
|
- lib/ace/assign/organisms/assignment_executor.rb
|
|
352
|
+
- lib/ace/assign/organisms/attempt_coordinator.rb
|
|
319
353
|
- lib/ace/assign/organisms/task_assignment_creator.rb
|
|
320
354
|
- lib/ace/assign/version.rb
|
|
321
355
|
homepage: https://github.com/cs3b/ace
|