ace-assign 0.63.1 → 0.66.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.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.ace-defaults/assign/catalog/steps/auto-merge.step.yml +11 -0
  3. data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +2 -2
  4. data/.ace-defaults/assign/catalog/steps/mark-pr-ready.step.yml +1 -1
  5. data/.ace-defaults/assign/catalog/steps/release-minor.step.yml +4 -2
  6. data/.ace-defaults/assign/catalog/steps/release.step.yml +4 -2
  7. data/.ace-defaults/assign/catalog/steps/update-pr-desc.step.yml +1 -1
  8. data/.ace-defaults/assign/presets/fix-bug.yml +15 -3
  9. data/.ace-defaults/assign/presets/work-on-task-ace-development.yml +16 -4
  10. data/.ace-defaults/assign/presets/work-on-task-auto-merge.yml +15 -3
  11. data/.ace-defaults/assign/presets/work-on-task.yml +16 -4
  12. data/CHANGELOG.md +62 -0
  13. data/docs/demo/canonical-skill-source.tape.yml +4 -4
  14. data/docs/protected-authority.md +282 -0
  15. data/docs/usage.md +205 -3
  16. data/exe/ace-scope-ready +55 -0
  17. data/handbook/workflow-instructions/assign/drive.wf.md +28 -3
  18. data/handbook/workflow-instructions/assign/prepare.wf.md +2 -2
  19. data/lib/ace/assign/atoms/attempt_state_machine.rb +8 -0
  20. data/lib/ace/assign/atoms/delivery_parameters.rb +19 -0
  21. data/lib/ace/assign/authority/assignment_inventory.rb +290 -0
  22. data/lib/ace/assign/authority/campaign_consumer_policy.rb +100 -0
  23. data/lib/ace/assign/authority/campaign_execution.rb +119 -0
  24. data/lib/ace/assign/authority/campaign_round_transfer.rb +82 -0
  25. data/lib/ace/assign/authority/candidate_transfer.rb +327 -0
  26. data/lib/ace/assign/authority/cleanup_result_protection.rb +53 -0
  27. data/lib/ace/assign/authority/client.rb +257 -0
  28. data/lib/ace/assign/authority/deployment.rb +627 -0
  29. data/lib/ace/assign/authority/deployment_history.rb +146 -0
  30. data/lib/ace/assign/authority/endcap.rb +455 -0
  31. data/lib/ace/assign/authority/endcap_attempts.rb +274 -0
  32. data/lib/ace/assign/authority/endcap_campaign_results.rb +232 -0
  33. data/lib/ace/assign/authority/endcap_campaign_rounds.rb +266 -0
  34. data/lib/ace/assign/authority/endcap_contexts.rb +23 -0
  35. data/lib/ace/assign/authority/endcap_inboxes.rb +37 -0
  36. data/lib/ace/assign/authority/endcap_prepared_work.rb +80 -0
  37. data/lib/ace/assign/authority/endcap_publication.rb +207 -0
  38. data/lib/ace/assign/authority/endcap_results.rb +398 -0
  39. data/lib/ace/assign/authority/endcap_review_requests.rb +183 -0
  40. data/lib/ace/assign/authority/endcap_reviews.rb +130 -0
  41. data/lib/ace/assign/authority/endcap_service_settlement.rb +152 -0
  42. data/lib/ace/assign/authority/endcap_services.rb +598 -0
  43. data/lib/ace/assign/authority/evidence_transfer.rb +67 -0
  44. data/lib/ace/assign/authority/execution_scope_observation.rb +903 -0
  45. data/lib/ace/assign/authority/inbox_context_original.rb +113 -0
  46. data/lib/ace/assign/authority/launch_attempt_consumers.rb +51 -0
  47. data/lib/ace/assign/authority/launch_campaign_registration.rb +214 -0
  48. data/lib/ace/assign/authority/launch_control_channel.rb +313 -0
  49. data/lib/ace/assign/authority/launch_control_exclusions.rb +141 -0
  50. data/lib/ace/assign/authority/launch_driver.rb +393 -0
  51. data/lib/ace/assign/authority/launch_input_inhibition.rb +132 -0
  52. data/lib/ace/assign/authority/launch_lifecycle.rb +997 -0
  53. data/lib/ace/assign/authority/launch_prepared_work.rb +122 -0
  54. data/lib/ace/assign/authority/launch_review.rb +91 -0
  55. data/lib/ace/assign/authority/launch_scope_abort.rb +81 -0
  56. data/lib/ace/assign/authority/launch_scope_admission.rb +215 -0
  57. data/lib/ace/assign/authority/launch_scope_close.rb +146 -0
  58. data/lib/ace/assign/authority/launch_scope_parent.rb +44 -0
  59. data/lib/ace/assign/authority/launch_scope_release.rb +859 -0
  60. data/lib/ace/assign/authority/launch_steering.rb +353 -0
  61. data/lib/ace/assign/authority/launch_stop.rb +254 -0
  62. data/lib/ace/assign/authority/maintenance_workspace_retirement.rb +229 -0
  63. data/lib/ace/assign/authority/original_inbox_selection.rb +41 -0
  64. data/lib/ace/assign/authority/posix_acl.rb +59 -0
  65. data/lib/ace/assign/authority/prepared_input.rb +130 -0
  66. data/lib/ace/assign/authority/prepared_queue.rb +185 -0
  67. data/lib/ace/assign/authority/prepared_task_context.rb +116 -0
  68. data/lib/ace/assign/authority/prepared_work.rb +304 -0
  69. data/lib/ace/assign/authority/prepared_worker.rb +69 -0
  70. data/lib/ace/assign/authority/private_directory.rb +33 -0
  71. data/lib/ace/assign/authority/protected_assignment_context.rb +226 -0
  72. data/lib/ace/assign/authority/readiness_hook.rb +120 -0
  73. data/lib/ace/assign/authority/receipt_transfer.rb +48 -0
  74. data/lib/ace/assign/authority/router.rb +76 -0
  75. data/lib/ace/assign/authority/server.rb +300 -0
  76. data/lib/ace/assign/authority/service_cleanup_dispatch.rb +88 -0
  77. data/lib/ace/assign/authority/service_cleanup_evidence.rb +180 -0
  78. data/lib/ace/assign/authority/service_delivery_evidence.rb +101 -0
  79. data/lib/ace/assign/authority/service_evidence.rb +286 -0
  80. data/lib/ace/assign/authority/service_publication_evidence.rb +110 -0
  81. data/lib/ace/assign/authority/task_context_entry.rb +32 -0
  82. data/lib/ace/assign/authority/transfer_codec.rb +187 -0
  83. data/lib/ace/assign/cli/commands/assignment_target.rb +15 -2
  84. data/lib/ace/assign/cli/commands/attempt/base.rb +49 -0
  85. data/lib/ace/assign/cli/commands/attempt/finish.rb +20 -4
  86. data/lib/ace/assign/cli/commands/attempt/reconcile.rb +11 -0
  87. data/lib/ace/assign/cli/commands/authority/inbox_context_principal.rb +25 -0
  88. data/lib/ace/assign/cli/commands/authority/inbox_context_selection.rb +28 -0
  89. data/lib/ace/assign/cli/commands/authority/launch.rb +97 -0
  90. data/lib/ace/assign/cli/commands/authority/serve.rb +31 -0
  91. data/lib/ace/assign/cli/commands/authority/status.rb +26 -0
  92. data/lib/ace/assign/cli/commands/authority/task_context.rb +31 -0
  93. data/lib/ace/assign/cli/commands/authority/task_context_principal.rb +25 -0
  94. data/lib/ace/assign/cli/commands/authority/task_context_selection.rb +30 -0
  95. data/lib/ace/assign/cli/commands/authority/terminate.rb +29 -0
  96. data/lib/ace/assign/cli/commands/authority/worker.rb +23 -0
  97. data/lib/ace/assign/cli/commands/campaign_export_result.rb +55 -0
  98. data/lib/ace/assign/cli/commands/campaign_record_round.rb +57 -0
  99. data/lib/ace/assign/cli/commands/create.rb +11 -1
  100. data/lib/ace/assign/cli/commands/delivery.rb +107 -0
  101. data/lib/ace/assign/cli/commands/fail.rb +6 -0
  102. data/lib/ace/assign/cli/commands/finish.rb +23 -2
  103. data/lib/ace/assign/cli/commands/fork_session.rb +6 -2
  104. data/lib/ace/assign/cli/commands/inbox_bind.rb +34 -0
  105. data/lib/ace/assign/cli/commands/protected_submission.rb +61 -0
  106. data/lib/ace/assign/cli/commands/resume.rb +38 -0
  107. data/lib/ace/assign/cli/commands/select.rb +2 -0
  108. data/lib/ace/assign/cli/commands/start.rb +2 -0
  109. data/lib/ace/assign/cli/commands/status.rb +4 -2
  110. data/lib/ace/assign/cli/commands/step.rb +3 -1
  111. data/lib/ace/assign/cli/commands/submit_candidate.rb +34 -0
  112. data/lib/ace/assign/cli/commands/submit_result.rb +61 -0
  113. data/lib/ace/assign/cli.rb +56 -4
  114. data/lib/ace/assign/errors.rb +139 -0
  115. data/lib/ace/assign/models/assignment.rb +26 -4
  116. data/lib/ace/assign/models/evidence_event.rb +4 -2
  117. data/lib/ace/assign/molecules/assignment_manager.rb +12 -2
  118. data/lib/ace/assign/molecules/attempt_reconciler.rb +51 -12
  119. data/lib/ace/assign/molecules/canonical_attempt_state.rb +151 -0
  120. data/lib/ace/assign/molecules/canonical_evidence.rb +153 -0
  121. data/lib/ace/assign/molecules/canonical_read_snapshot.rb +374 -0
  122. data/lib/ace/assign/molecules/evidence_journal.rb +922 -91
  123. data/lib/ace/assign/molecules/execution_identity_resolver.rb +49 -9
  124. data/lib/ace/assign/molecules/execution_scope_lineage.rb +345 -0
  125. data/lib/ace/assign/molecules/fork_session_launcher.rb +16 -6
  126. data/lib/ace/assign/molecules/journal_input_inhibition.rb +78 -0
  127. data/lib/ace/assign/molecules/journal_mutation.rb +271 -0
  128. data/lib/ace/assign/molecules/journal_prompt_mutation.rb +241 -0
  129. data/lib/ace/assign/molecules/lifecycle_exclusion.rb +182 -26
  130. data/lib/ace/assign/molecules/original_launch_binding.rb +37 -0
  131. data/lib/ace/assign/molecules/proposal_journal.rb +151 -0
  132. data/lib/ace/assign/molecules/protected_control_exclusion.rb +303 -0
  133. data/lib/ace/assign/molecules/protected_workspace_exclusion.rb +330 -0
  134. data/lib/ace/assign/molecules/protected_workspace_provisioner.rb +164 -0
  135. data/lib/ace/assign/molecules/queue_scanner.rb +26 -11
  136. data/lib/ace/assign/molecules/receipt_verifier.rb +68 -32
  137. data/lib/ace/assign/molecules/step_writer.rb +27 -5
  138. data/lib/ace/assign/molecules/terminal_scope_receipt.rb +88 -0
  139. data/lib/ace/assign/organisms/assignment_executor.rb +10 -4
  140. data/lib/ace/assign/organisms/attempt_coordinator.rb +302 -13
  141. data/lib/ace/assign/organisms/delivery_coordinator.rb +342 -0
  142. data/lib/ace/assign/organisms/prepared_work_builder.rb +194 -0
  143. data/lib/ace/assign/organisms/protected_delivery_coordinator.rb +100 -0
  144. data/lib/ace/assign/organisms/task_assignment_creator.rb +11 -4
  145. data/lib/ace/assign/version.rb +1 -1
  146. data/lib/ace/assign.rb +4 -102
  147. metadata +186 -8
@@ -21,7 +21,7 @@ module Ace
21
21
  @executor = executor || AssignmentExecutor.new
22
22
  end
23
23
 
24
- def call(task_refs:, preset_name: DEFAULT_PRESET, primary_task_ref: nil)
24
+ def call(task_refs:, preset_name: DEFAULT_PRESET, primary_task_ref: nil, delivery_parameters: nil, project_id: nil)
25
25
  requested_refs = normalize_requested_refs(task_refs)
26
26
  raise Ace::Support::Cli::Error, "--task requires at least one task reference" if requested_refs.empty?
27
27
 
@@ -48,13 +48,19 @@ module Ace
48
48
  validate_parameters!(preset, params)
49
49
 
50
50
  steps = Atoms::PresetExpander.expand(preset, params)
51
+ delivery = delivery_parameters && Atoms::DeliveryParameters.validate(delivery_parameters)
52
+ if delivery && !steps.any? { |step| %w[create-pr update-pr-desc mark-pr-ready].include?(step["name"]) }
53
+ raise ArgumentError, "Explicit delivery inputs require a remote-capable preset"
54
+ end
51
55
  job_path = write_job_file(
52
56
  session_name: "#{preset_name}-#{primary_ref}",
53
57
  description: preset["description"],
54
- steps: steps
58
+ steps: steps, delivery: delivery
55
59
  )
56
60
 
57
- result = @executor.start(job_path, task_id: primary_ref)
61
+ start_options = {task_id: primary_ref}
62
+ start_options[:project_id] = project_id unless project_id.nil?
63
+ result = @executor.start(job_path, **start_options)
58
64
  result.merge(
59
65
  skipped_terminal: skipped_terminal,
60
66
  primary_ref: primary_ref,
@@ -147,7 +153,7 @@ module Ace
147
153
  raise Ace::Support::Cli::Error, errors.join(", ")
148
154
  end
149
155
 
150
- def write_job_file(session_name:, description:, steps:)
156
+ def write_job_file(session_name:, description:, steps:, delivery: nil)
151
157
  job = {
152
158
  "session" => {
153
159
  "name" => session_name,
@@ -156,6 +162,7 @@ module Ace
156
162
  "steps" => steps
157
163
  }
158
164
 
165
+ job["delivery"] = delivery if delivery
159
166
  dir = File.join(Ace::Assign.cache_dir, "jobs")
160
167
  FileUtils.mkdir_p(dir)
161
168
  path = File.join(dir, "#{session_name}-#{SecureRandom.hex(4)}-job.yml")
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Assign
5
- VERSION = "0.63.1"
5
+ VERSION = "0.66.0"
6
6
  end
7
7
  end
data/lib/ace/assign.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "assign/version"
4
+ require_relative "assign/errors"
4
5
  require "ace/support/config"
5
6
  require "ace/support/fs"
6
7
  require "ace/support/nav"
@@ -14,108 +15,6 @@ require_relative "assign/organisms/task_assignment_creator"
14
15
 
15
16
  module Ace
16
17
  module Assign
17
- # Base error class for all ace-assign exceptions.
18
- # Inherits from Ace::Support::Cli::Error to support exception-based
19
- # exit code pattern (per ADR-023).
20
- #
21
- # Subclasses should call super with appropriate exit_code.
22
- class Error < Ace::Support::Cli::Error
23
- def initialize(message, exit_code: 1)
24
- super
25
- end
26
- end
27
-
28
- # Assignment-related errors
29
- module AssignmentErrors
30
- class NotFound < Error
31
- def initialize(message = "Assignment not found")
32
- super(message, exit_code: 2)
33
- end
34
- end
35
-
36
- class NoActive < Error
37
- def initialize(message = "No active assignment")
38
- super(message, exit_code: 2)
39
- end
40
- end
41
- end
42
-
43
- # Config-related errors
44
- module ConfigErrors
45
- class NotFound < Error
46
- def initialize(message = "Configuration not found")
47
- super(message, exit_code: 3)
48
- end
49
- end
50
- end
51
-
52
- # Step-related errors
53
- module StepErrors
54
- class NotFound < Error
55
- def initialize(message = "Step not found")
56
- super(message, exit_code: 4)
57
- end
58
- end
59
-
60
- class InvalidState < Error; end
61
- end
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
-
119
18
  # Define module namespaces
120
19
  module Commands; end
121
20
 
@@ -197,3 +96,6 @@ module Ace
197
96
  private_class_method :load_gem_defaults_fallback
198
97
  end
199
98
  end
99
+
100
+ require_relative "assign/atoms/delivery_parameters"
101
+ require_relative "assign/organisms/delivery_coordinator"
metadata CHANGED
@@ -1,14 +1,76 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-assign
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.63.1
4
+ version: 0.66.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-04 00:00:00.000000000 Z
10
+ date: 2026-10-08 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ace-llm-providers-cli
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 0.36.1
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.36.1
26
+ - !ruby/object:Gem::Dependency
27
+ name: ace-support-fs
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.3'
40
+ - !ruby/object:Gem::Dependency
41
+ name: ace-git
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.30'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.30'
54
+ - !ruby/object:Gem::Dependency
55
+ name: json
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '2.20'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '3'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '2.20'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '3'
12
74
  - !ruby/object:Gem::Dependency
13
75
  name: ace-support-cli
14
76
  requirement: !ruby/object:Gem::Requirement
@@ -113,14 +175,14 @@ dependencies:
113
175
  requirements:
114
176
  - - "~>"
115
177
  - !ruby/object:Gem::Version
116
- version: '0.57'
178
+ version: '0.60'
117
179
  type: :runtime
118
180
  prerelease: false
119
181
  version_requirements: !ruby/object:Gem::Requirement
120
182
  requirements:
121
183
  - - "~>"
122
184
  - !ruby/object:Gem::Version
123
- version: '0.57'
185
+ version: '0.60'
124
186
  - !ruby/object:Gem::Dependency
125
187
  name: ace-task
126
188
  requirement: !ruby/object:Gem::Requirement
@@ -135,20 +197,34 @@ dependencies:
135
197
  - - "~>"
136
198
  - !ruby/object:Gem::Version
137
199
  version: '0.37'
200
+ - !ruby/object:Gem::Dependency
201
+ name: ace-bundle
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '0.44'
207
+ type: :runtime
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '0.44'
138
214
  - !ruby/object:Gem::Dependency
139
215
  name: ace-runtime
140
216
  requirement: !ruby/object:Gem::Requirement
141
217
  requirements:
142
218
  - - "~>"
143
219
  - !ruby/object:Gem::Version
144
- version: '0.1'
220
+ version: '0.2'
145
221
  type: :runtime
146
222
  prerelease: false
147
223
  version_requirements: !ruby/object:Gem::Requirement
148
224
  requirements:
149
225
  - - "~>"
150
226
  - !ruby/object:Gem::Version
151
- version: '0.1'
227
+ version: '0.2'
152
228
  - !ruby/object:Gem::Dependency
153
229
  name: ace-tmux
154
230
  requirement: !ruby/object:Gem::Requirement
@@ -169,14 +245,14 @@ dependencies:
169
245
  requirements:
170
246
  - - "~>"
171
247
  - !ruby/object:Gem::Version
172
- version: 0.3.2
248
+ version: '0.5'
173
249
  type: :runtime
174
250
  prerelease: false
175
251
  version_requirements: !ruby/object:Gem::Requirement
176
252
  requirements:
177
253
  - - "~>"
178
254
  - !ruby/object:Gem::Version
179
- version: 0.3.2
255
+ version: '0.5'
180
256
  - !ruby/object:Gem::Dependency
181
257
  name: ace-support-test-helpers
182
258
  requirement: !ruby/object:Gem::Requirement
@@ -226,6 +302,7 @@ email:
226
302
  - mc@cs3b.com
227
303
  executables:
228
304
  - ace-assign
305
+ - ace-scope-ready
229
306
  extensions: []
230
307
  extra_rdoc_files: []
231
308
  files:
@@ -237,6 +314,7 @@ files:
237
314
  - ".ace-defaults/assign/catalog/recipes/implement-with-pr.recipe.yml"
238
315
  - ".ace-defaults/assign/catalog/recipes/release-only.recipe.yml"
239
316
  - ".ace-defaults/assign/catalog/steps/apply-feedback.step.yml"
317
+ - ".ace-defaults/assign/catalog/steps/auto-merge.step.yml"
240
318
  - ".ace-defaults/assign/catalog/steps/commit.step.yml"
241
319
  - ".ace-defaults/assign/catalog/steps/create-pr.step.yml"
242
320
  - ".ace-defaults/assign/catalog/steps/create-retro.step.yml"
@@ -289,8 +367,10 @@ files:
289
367
  - docs/exit-codes.md
290
368
  - docs/getting-started.md
291
369
  - docs/handbook.md
370
+ - docs/protected-authority.md
292
371
  - docs/usage.md
293
372
  - exe/ace-assign
373
+ - exe/ace-scope-ready
294
374
  - handbook/guides/fork-context.g.md
295
375
  - handbook/skills/as-assign-add-task/SKILL.md
296
376
  - handbook/skills/as-assign-compose/SKILL.md
@@ -323,6 +403,7 @@ files:
323
403
  - lib/ace/assign/atoms/attempt_state_machine.rb
324
404
  - lib/ace/assign/atoms/catalog_loader.rb
325
405
  - lib/ace/assign/atoms/composition_rules.rb
406
+ - lib/ace/assign/atoms/delivery_parameters.rb
326
407
  - lib/ace/assign/atoms/evidence_digest.rb
327
408
  - lib/ace/assign/atoms/number_generator.rb
328
409
  - lib/ace/assign/atoms/preset_expander.rb
@@ -332,6 +413,68 @@ files:
332
413
  - lib/ace/assign/atoms/step_numbering.rb
333
414
  - lib/ace/assign/atoms/step_sorter.rb
334
415
  - lib/ace/assign/atoms/tree_formatter.rb
416
+ - lib/ace/assign/authority/assignment_inventory.rb
417
+ - lib/ace/assign/authority/campaign_consumer_policy.rb
418
+ - lib/ace/assign/authority/campaign_execution.rb
419
+ - lib/ace/assign/authority/campaign_round_transfer.rb
420
+ - lib/ace/assign/authority/candidate_transfer.rb
421
+ - lib/ace/assign/authority/cleanup_result_protection.rb
422
+ - lib/ace/assign/authority/client.rb
423
+ - lib/ace/assign/authority/deployment.rb
424
+ - lib/ace/assign/authority/deployment_history.rb
425
+ - lib/ace/assign/authority/endcap.rb
426
+ - lib/ace/assign/authority/endcap_attempts.rb
427
+ - lib/ace/assign/authority/endcap_campaign_results.rb
428
+ - lib/ace/assign/authority/endcap_campaign_rounds.rb
429
+ - lib/ace/assign/authority/endcap_contexts.rb
430
+ - lib/ace/assign/authority/endcap_inboxes.rb
431
+ - lib/ace/assign/authority/endcap_prepared_work.rb
432
+ - lib/ace/assign/authority/endcap_publication.rb
433
+ - lib/ace/assign/authority/endcap_results.rb
434
+ - lib/ace/assign/authority/endcap_review_requests.rb
435
+ - lib/ace/assign/authority/endcap_reviews.rb
436
+ - lib/ace/assign/authority/endcap_service_settlement.rb
437
+ - lib/ace/assign/authority/endcap_services.rb
438
+ - lib/ace/assign/authority/evidence_transfer.rb
439
+ - lib/ace/assign/authority/execution_scope_observation.rb
440
+ - lib/ace/assign/authority/inbox_context_original.rb
441
+ - lib/ace/assign/authority/launch_attempt_consumers.rb
442
+ - lib/ace/assign/authority/launch_campaign_registration.rb
443
+ - lib/ace/assign/authority/launch_control_channel.rb
444
+ - lib/ace/assign/authority/launch_control_exclusions.rb
445
+ - lib/ace/assign/authority/launch_driver.rb
446
+ - lib/ace/assign/authority/launch_input_inhibition.rb
447
+ - lib/ace/assign/authority/launch_lifecycle.rb
448
+ - lib/ace/assign/authority/launch_prepared_work.rb
449
+ - lib/ace/assign/authority/launch_review.rb
450
+ - lib/ace/assign/authority/launch_scope_abort.rb
451
+ - lib/ace/assign/authority/launch_scope_admission.rb
452
+ - lib/ace/assign/authority/launch_scope_close.rb
453
+ - lib/ace/assign/authority/launch_scope_parent.rb
454
+ - lib/ace/assign/authority/launch_scope_release.rb
455
+ - lib/ace/assign/authority/launch_steering.rb
456
+ - lib/ace/assign/authority/launch_stop.rb
457
+ - lib/ace/assign/authority/maintenance_workspace_retirement.rb
458
+ - lib/ace/assign/authority/original_inbox_selection.rb
459
+ - lib/ace/assign/authority/posix_acl.rb
460
+ - lib/ace/assign/authority/prepared_input.rb
461
+ - lib/ace/assign/authority/prepared_queue.rb
462
+ - lib/ace/assign/authority/prepared_task_context.rb
463
+ - lib/ace/assign/authority/prepared_work.rb
464
+ - lib/ace/assign/authority/prepared_worker.rb
465
+ - lib/ace/assign/authority/private_directory.rb
466
+ - lib/ace/assign/authority/protected_assignment_context.rb
467
+ - lib/ace/assign/authority/readiness_hook.rb
468
+ - lib/ace/assign/authority/receipt_transfer.rb
469
+ - lib/ace/assign/authority/router.rb
470
+ - lib/ace/assign/authority/server.rb
471
+ - lib/ace/assign/authority/service_cleanup_dispatch.rb
472
+ - lib/ace/assign/authority/service_cleanup_evidence.rb
473
+ - lib/ace/assign/authority/service_delivery_evidence.rb
474
+ - lib/ace/assign/authority/service_evidence.rb
475
+ - lib/ace/assign/authority/service_publication_evidence.rb
476
+ - lib/ace/assign/authority/task_context_entry.rb
477
+ - lib/ace/assign/authority/transfer_codec.rb
335
478
  - lib/ace/assign/cli.rb
336
479
  - lib/ace/assign/cli/commands/add.rb
337
480
  - lib/ace/assign/cli/commands/assignment_target.rb
@@ -341,17 +484,36 @@ files:
341
484
  - lib/ace/assign/cli/commands/attempt/reconcile.rb
342
485
  - lib/ace/assign/cli/commands/attempt/start.rb
343
486
  - lib/ace/assign/cli/commands/attempt/status.rb
487
+ - lib/ace/assign/cli/commands/authority/inbox_context_principal.rb
488
+ - lib/ace/assign/cli/commands/authority/inbox_context_selection.rb
489
+ - lib/ace/assign/cli/commands/authority/launch.rb
490
+ - lib/ace/assign/cli/commands/authority/serve.rb
491
+ - lib/ace/assign/cli/commands/authority/status.rb
492
+ - lib/ace/assign/cli/commands/authority/task_context.rb
493
+ - lib/ace/assign/cli/commands/authority/task_context_principal.rb
494
+ - lib/ace/assign/cli/commands/authority/task_context_selection.rb
495
+ - lib/ace/assign/cli/commands/authority/terminate.rb
496
+ - lib/ace/assign/cli/commands/authority/worker.rb
497
+ - lib/ace/assign/cli/commands/campaign_export_result.rb
498
+ - lib/ace/assign/cli/commands/campaign_record_round.rb
344
499
  - lib/ace/assign/cli/commands/create.rb
500
+ - lib/ace/assign/cli/commands/delivery.rb
345
501
  - lib/ace/assign/cli/commands/fail.rb
346
502
  - lib/ace/assign/cli/commands/finish.rb
347
503
  - lib/ace/assign/cli/commands/fork_run.rb
348
504
  - lib/ace/assign/cli/commands/fork_session.rb
505
+ - lib/ace/assign/cli/commands/inbox_bind.rb
349
506
  - lib/ace/assign/cli/commands/list.rb
507
+ - lib/ace/assign/cli/commands/protected_submission.rb
508
+ - lib/ace/assign/cli/commands/resume.rb
350
509
  - lib/ace/assign/cli/commands/retry_cmd.rb
351
510
  - lib/ace/assign/cli/commands/select.rb
352
511
  - lib/ace/assign/cli/commands/start.rb
353
512
  - lib/ace/assign/cli/commands/status.rb
354
513
  - lib/ace/assign/cli/commands/step.rb
514
+ - lib/ace/assign/cli/commands/submit_candidate.rb
515
+ - lib/ace/assign/cli/commands/submit_result.rb
516
+ - lib/ace/assign/errors.rb
355
517
  - lib/ace/assign/models/assignment.rb
356
518
  - lib/ace/assign/models/assignment_info.rb
357
519
  - lib/ace/assign/models/attempt.rb
@@ -364,20 +526,36 @@ files:
364
526
  - lib/ace/assign/molecules/assignment_manager.rb
365
527
  - lib/ace/assign/molecules/attempt_reconciler.rb
366
528
  - lib/ace/assign/molecules/attempt_store.rb
529
+ - lib/ace/assign/molecules/canonical_attempt_state.rb
530
+ - lib/ace/assign/molecules/canonical_evidence.rb
531
+ - lib/ace/assign/molecules/canonical_read_snapshot.rb
367
532
  - lib/ace/assign/molecules/evidence_calculator.rb
368
533
  - lib/ace/assign/molecules/evidence_journal.rb
369
534
  - lib/ace/assign/molecules/execution_identity_resolver.rb
535
+ - lib/ace/assign/molecules/execution_scope_lineage.rb
370
536
  - lib/ace/assign/molecules/fork_session_launcher.rb
537
+ - lib/ace/assign/molecules/journal_input_inhibition.rb
538
+ - lib/ace/assign/molecules/journal_mutation.rb
539
+ - lib/ace/assign/molecules/journal_prompt_mutation.rb
371
540
  - lib/ace/assign/molecules/lifecycle_exclusion.rb
541
+ - lib/ace/assign/molecules/original_launch_binding.rb
372
542
  - lib/ace/assign/molecules/preset_inferrer.rb
543
+ - lib/ace/assign/molecules/proposal_journal.rb
544
+ - lib/ace/assign/molecules/protected_control_exclusion.rb
545
+ - lib/ace/assign/molecules/protected_workspace_exclusion.rb
546
+ - lib/ace/assign/molecules/protected_workspace_provisioner.rb
373
547
  - lib/ace/assign/molecules/queue_scanner.rb
374
548
  - lib/ace/assign/molecules/receipt_verifier.rb
375
549
  - lib/ace/assign/molecules/runtime_control_surface_runner.rb
376
550
  - lib/ace/assign/molecules/skill_assign_source_resolver.rb
377
551
  - lib/ace/assign/molecules/step_renumberer.rb
378
552
  - lib/ace/assign/molecules/step_writer.rb
553
+ - lib/ace/assign/molecules/terminal_scope_receipt.rb
379
554
  - lib/ace/assign/organisms/assignment_executor.rb
380
555
  - lib/ace/assign/organisms/attempt_coordinator.rb
556
+ - lib/ace/assign/organisms/delivery_coordinator.rb
557
+ - lib/ace/assign/organisms/prepared_work_builder.rb
558
+ - lib/ace/assign/organisms/protected_delivery_coordinator.rb
381
559
  - lib/ace/assign/organisms/task_assignment_creator.rb
382
560
  - lib/ace/assign/version.rb
383
561
  homepage: https://github.com/cs3b/ace