ace-assign 0.37.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 (104) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/assign/catalog/composition-rules.yml +211 -0
  3. data/.ace-defaults/assign/catalog/recipes/batch-tasks.recipe.yml +44 -0
  4. data/.ace-defaults/assign/catalog/recipes/documentation.recipe.yml +35 -0
  5. data/.ace-defaults/assign/catalog/recipes/fix-and-review.recipe.yml +32 -0
  6. data/.ace-defaults/assign/catalog/recipes/implement-simple.recipe.yml +29 -0
  7. data/.ace-defaults/assign/catalog/recipes/implement-with-pr.recipe.yml +48 -0
  8. data/.ace-defaults/assign/catalog/recipes/release-only.recipe.yml +34 -0
  9. data/.ace-defaults/assign/catalog/steps/apply-feedback.step.yml +22 -0
  10. data/.ace-defaults/assign/catalog/steps/commit.step.yml +22 -0
  11. data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +28 -0
  12. data/.ace-defaults/assign/catalog/steps/create-retro.step.yml +22 -0
  13. data/.ace-defaults/assign/catalog/steps/fix-tests.step.yml +22 -0
  14. data/.ace-defaults/assign/catalog/steps/lint.step.yml +22 -0
  15. data/.ace-defaults/assign/catalog/steps/mark-task-done.step.yml +57 -0
  16. data/.ace-defaults/assign/catalog/steps/onboard-base.step.yml +19 -0
  17. data/.ace-defaults/assign/catalog/steps/onboard.step.yml +19 -0
  18. data/.ace-defaults/assign/catalog/steps/plan-task.step.yml +17 -0
  19. data/.ace-defaults/assign/catalog/steps/pre-commit-review.step.yml +34 -0
  20. data/.ace-defaults/assign/catalog/steps/push-to-remote.step.yml +28 -0
  21. data/.ace-defaults/assign/catalog/steps/rebase-with-main.step.yml +28 -0
  22. data/.ace-defaults/assign/catalog/steps/reflect-and-refactor.step.yml +57 -0
  23. data/.ace-defaults/assign/catalog/steps/release-minor.step.yml +23 -0
  24. data/.ace-defaults/assign/catalog/steps/release.step.yml +23 -0
  25. data/.ace-defaults/assign/catalog/steps/reorganize-commits.step.yml +28 -0
  26. data/.ace-defaults/assign/catalog/steps/research.step.yml +19 -0
  27. data/.ace-defaults/assign/catalog/steps/review-pr.step.yml +22 -0
  28. data/.ace-defaults/assign/catalog/steps/security-audit.step.yml +22 -0
  29. data/.ace-defaults/assign/catalog/steps/split-subtree-root.step.yml +25 -0
  30. data/.ace-defaults/assign/catalog/steps/squash-changelog.step.yml +28 -0
  31. data/.ace-defaults/assign/catalog/steps/task-load.step.yml +29 -0
  32. data/.ace-defaults/assign/catalog/steps/update-docs.step.yml +38 -0
  33. data/.ace-defaults/assign/catalog/steps/update-pr-desc.step.yml +28 -0
  34. data/.ace-defaults/assign/catalog/steps/verify-e2e.step.yml +42 -0
  35. data/.ace-defaults/assign/catalog/steps/verify-test-suite.step.yml +48 -0
  36. data/.ace-defaults/assign/catalog/steps/verify-test.step.yml +36 -0
  37. data/.ace-defaults/assign/catalog/steps/work-on-task.step.yml +23 -0
  38. data/.ace-defaults/assign/config.yml +48 -0
  39. data/.ace-defaults/assign/presets/fix-bug.yml +65 -0
  40. data/.ace-defaults/assign/presets/quick-implement.yml +41 -0
  41. data/.ace-defaults/assign/presets/release-only.yml +35 -0
  42. data/.ace-defaults/assign/presets/work-on-docs.yml +41 -0
  43. data/.ace-defaults/assign/presets/work-on-task.yml +179 -0
  44. data/.ace-defaults/nav/protocols/skill-sources/ace-assign.yml +19 -0
  45. data/.ace-defaults/nav/protocols/wfi-sources/ace-assign.yml +19 -0
  46. data/CHANGELOG.md +1415 -0
  47. data/README.md +87 -0
  48. data/Rakefile +16 -0
  49. data/docs/exit-codes.md +61 -0
  50. data/docs/getting-started.md +121 -0
  51. data/docs/handbook.md +40 -0
  52. data/docs/usage.md +224 -0
  53. data/exe/ace-assign +16 -0
  54. data/handbook/guides/fork-context.g.md +231 -0
  55. data/handbook/skills/as-assign-compose/SKILL.md +24 -0
  56. data/handbook/skills/as-assign-create/SKILL.md +23 -0
  57. data/handbook/skills/as-assign-drive/SKILL.md +24 -0
  58. data/handbook/skills/as-assign-prepare/SKILL.md +23 -0
  59. data/handbook/skills/as-assign-recover-fork/SKILL.md +22 -0
  60. data/handbook/skills/as-assign-run-in-batches/SKILL.md +23 -0
  61. data/handbook/skills/as-assign-start/SKILL.md +25 -0
  62. data/handbook/workflow-instructions/assign/compose.wf.md +256 -0
  63. data/handbook/workflow-instructions/assign/create.wf.md +215 -0
  64. data/handbook/workflow-instructions/assign/drive.wf.md +666 -0
  65. data/handbook/workflow-instructions/assign/prepare.wf.md +469 -0
  66. data/handbook/workflow-instructions/assign/recover-fork.wf.md +233 -0
  67. data/handbook/workflow-instructions/assign/run-in-batches.wf.md +212 -0
  68. data/handbook/workflow-instructions/assign/start.wf.md +46 -0
  69. data/lib/ace/assign/atoms/assign_frontmatter_parser.rb +173 -0
  70. data/lib/ace/assign/atoms/catalog_loader.rb +101 -0
  71. data/lib/ace/assign/atoms/composition_rules.rb +219 -0
  72. data/lib/ace/assign/atoms/number_generator.rb +110 -0
  73. data/lib/ace/assign/atoms/preset_expander.rb +277 -0
  74. data/lib/ace/assign/atoms/step_file_parser.rb +207 -0
  75. data/lib/ace/assign/atoms/step_numbering.rb +227 -0
  76. data/lib/ace/assign/atoms/step_sorter.rb +66 -0
  77. data/lib/ace/assign/atoms/tree_formatter.rb +106 -0
  78. data/lib/ace/assign/cli/commands/add.rb +102 -0
  79. data/lib/ace/assign/cli/commands/assignment_target.rb +55 -0
  80. data/lib/ace/assign/cli/commands/create.rb +63 -0
  81. data/lib/ace/assign/cli/commands/fail.rb +43 -0
  82. data/lib/ace/assign/cli/commands/finish.rb +88 -0
  83. data/lib/ace/assign/cli/commands/fork_run.rb +229 -0
  84. data/lib/ace/assign/cli/commands/list.rb +166 -0
  85. data/lib/ace/assign/cli/commands/retry_cmd.rb +42 -0
  86. data/lib/ace/assign/cli/commands/select.rb +45 -0
  87. data/lib/ace/assign/cli/commands/start.rb +40 -0
  88. data/lib/ace/assign/cli/commands/status.rb +407 -0
  89. data/lib/ace/assign/cli.rb +144 -0
  90. data/lib/ace/assign/models/assignment.rb +107 -0
  91. data/lib/ace/assign/models/assignment_info.rb +66 -0
  92. data/lib/ace/assign/models/queue_state.rb +326 -0
  93. data/lib/ace/assign/models/step.rb +197 -0
  94. data/lib/ace/assign/molecules/assignment_discoverer.rb +57 -0
  95. data/lib/ace/assign/molecules/assignment_manager.rb +276 -0
  96. data/lib/ace/assign/molecules/fork_session_launcher.rb +102 -0
  97. data/lib/ace/assign/molecules/queue_scanner.rb +130 -0
  98. data/lib/ace/assign/molecules/skill_assign_source_resolver.rb +376 -0
  99. data/lib/ace/assign/molecules/step_renumberer.rb +227 -0
  100. data/lib/ace/assign/molecules/step_writer.rb +246 -0
  101. data/lib/ace/assign/organisms/assignment_executor.rb +1299 -0
  102. data/lib/ace/assign/version.rb +7 -0
  103. data/lib/ace/assign.rb +141 -0
  104. metadata +289 -0
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ace
4
+ module Assign
5
+ VERSION = "0.37.0"
6
+ end
7
+ end
data/lib/ace/assign.rb ADDED
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "assign/version"
4
+ require "ace/support/config"
5
+ require "ace/support/fs"
6
+ require "ace/support/nav"
7
+ require "ace/support/cli"
8
+ require "pathname"
9
+
10
+ # CLI and commands
11
+ require_relative "assign/cli"
12
+
13
+ module Ace
14
+ module Assign
15
+ # Base error class for all ace-assign exceptions.
16
+ # Inherits from Ace::Support::Cli::Error to support exception-based
17
+ # exit code pattern (per ADR-023).
18
+ #
19
+ # Subclasses should call super with appropriate exit_code.
20
+ class Error < Ace::Support::Cli::Error
21
+ def initialize(message, exit_code: 1)
22
+ super
23
+ end
24
+ end
25
+
26
+ # Assignment-related errors
27
+ module AssignmentErrors
28
+ class NotFound < Error
29
+ def initialize(message = "Assignment not found")
30
+ super(message, exit_code: 2)
31
+ end
32
+ end
33
+
34
+ class NoActive < Error
35
+ def initialize(message = "No active assignment")
36
+ super(message, exit_code: 2)
37
+ end
38
+ end
39
+ end
40
+
41
+ # Config-related errors
42
+ module ConfigErrors
43
+ class NotFound < Error
44
+ def initialize(message = "Configuration not found")
45
+ super(message, exit_code: 3)
46
+ end
47
+ end
48
+ end
49
+
50
+ # Step-related errors
51
+ module StepErrors
52
+ class NotFound < Error
53
+ def initialize(message = "Step not found")
54
+ super(message, exit_code: 4)
55
+ end
56
+ end
57
+
58
+ class InvalidState < Error; end
59
+ end
60
+
61
+ # Define module namespaces
62
+ module Commands; end
63
+
64
+ # Check if debug mode is enabled
65
+ # @return [Boolean] True if debug mode is enabled
66
+ def self.debug?
67
+ ENV["ACE_DEBUG"] == "1" || ENV["DEBUG"] == "1"
68
+ end
69
+
70
+ # Configuration
71
+ # Follows ADR-022: Configuration Default and Override Pattern
72
+ # Uses Ace::Support::Config.create() for configuration cascade resolution
73
+ def self.config
74
+ @config ||= begin
75
+ gem_root = Gem.loaded_specs["ace-assign"]&.gem_dir ||
76
+ File.expand_path("../..", __dir__)
77
+
78
+ resolver = Ace::Support::Config.create(
79
+ config_dir: ".ace",
80
+ defaults_dir: ".ace-defaults",
81
+ gem_path: gem_root
82
+ )
83
+
84
+ # Resolve config for assign namespace
85
+ config = resolver.resolve_namespace("assign")
86
+ config.data
87
+ rescue => e
88
+ warn "ace-assign: Could not load config: #{e.class} - #{e.message}" if debug?
89
+ load_gem_defaults_fallback
90
+ end
91
+ end
92
+
93
+ # Reset config cache (useful for testing)
94
+ def self.reset_config!
95
+ @config = nil
96
+ end
97
+
98
+ # Default cache directory for assignments
99
+ # Returns an absolute path resolved from project root.
100
+ # Respects CACHE_BASE environment variable for sandboxed/isolated testing.
101
+ # Respects PROJECT_ROOT_PATH environment variable for sandboxed/isolated testing.
102
+ # @return [String] Cache directory path (absolute)
103
+ def self.cache_dir
104
+ # Allow explicit CACHE_BASE override for testing/sandboxing
105
+ cache_base = ENV["CACHE_BASE"]
106
+ if cache_base && !cache_base.empty?
107
+ return File.expand_path(cache_base)
108
+ end
109
+
110
+ relative_path = config["cache_dir"] || ".ace-local/assign"
111
+
112
+ # If already absolute, return as-is
113
+ return relative_path if Pathname.new(relative_path).absolute?
114
+
115
+ # Resolve relative to project root (respects PROJECT_ROOT_PATH)
116
+ project_root = Ace::Support::Fs::Molecules::ProjectRootFinder.find_or_current
117
+ File.join(project_root, relative_path)
118
+ end
119
+
120
+ # Load gem defaults from .ace-defaults/assign/config.yml
121
+ # @return [Hash] Gem defaults hash
122
+ def self.load_gem_defaults
123
+ gem_root = Gem.loaded_specs["ace-assign"]&.gem_dir ||
124
+ File.expand_path("../..", __dir__)
125
+ defaults_path = File.join(gem_root, ".ace-defaults", "assign", "config.yml")
126
+
127
+ return {} unless File.exist?(defaults_path)
128
+
129
+ YAML.safe_load_file(defaults_path, permitted_classes: [Date], aliases: true) || {}
130
+ end
131
+
132
+ # Load gem defaults directly as fallback
133
+ # @return [Hash] Defaults hash or empty hash if defaults also fail
134
+ def self.load_gem_defaults_fallback
135
+ load_gem_defaults
136
+ rescue
137
+ {}
138
+ end
139
+ private_class_method :load_gem_defaults_fallback
140
+ end
141
+ end
metadata ADDED
@@ -0,0 +1,289 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ace-assign
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.37.0
5
+ platform: ruby
6
+ authors:
7
+ - Michal Czyz
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ace-support-cli
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.3'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.3'
26
+ - !ruby/object:Gem::Dependency
27
+ name: ace-support-core
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.25'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.25'
40
+ - !ruby/object:Gem::Dependency
41
+ name: ace-support-config
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.8'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.8'
54
+ - !ruby/object:Gem::Dependency
55
+ name: ace-support-nav
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.7'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.7'
68
+ - !ruby/object:Gem::Dependency
69
+ name: ace-b36ts
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.7'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.7'
82
+ - !ruby/object:Gem::Dependency
83
+ name: ace-support-markdown
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.2'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.2'
96
+ - !ruby/object:Gem::Dependency
97
+ name: ace-llm
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.26'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.26'
110
+ - !ruby/object:Gem::Dependency
111
+ name: ace-support-test-helpers
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.12'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.12'
124
+ - !ruby/object:Gem::Dependency
125
+ name: minitest
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '5.0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '5.0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: rake
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '13.0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '13.0'
152
+ description: Turns work into multi-step assignments with nested substeps, fork delegation
153
+ to long-running agent subprocesses, and inspectable session traces. Steps are defined
154
+ from a catalog, assembled via presets, and driven through a restartable queue.
155
+ email:
156
+ - mc@cs3b.com
157
+ executables:
158
+ - ace-assign
159
+ extensions: []
160
+ extra_rdoc_files: []
161
+ files:
162
+ - ".ace-defaults/assign/catalog/composition-rules.yml"
163
+ - ".ace-defaults/assign/catalog/recipes/batch-tasks.recipe.yml"
164
+ - ".ace-defaults/assign/catalog/recipes/documentation.recipe.yml"
165
+ - ".ace-defaults/assign/catalog/recipes/fix-and-review.recipe.yml"
166
+ - ".ace-defaults/assign/catalog/recipes/implement-simple.recipe.yml"
167
+ - ".ace-defaults/assign/catalog/recipes/implement-with-pr.recipe.yml"
168
+ - ".ace-defaults/assign/catalog/recipes/release-only.recipe.yml"
169
+ - ".ace-defaults/assign/catalog/steps/apply-feedback.step.yml"
170
+ - ".ace-defaults/assign/catalog/steps/commit.step.yml"
171
+ - ".ace-defaults/assign/catalog/steps/create-pr.step.yml"
172
+ - ".ace-defaults/assign/catalog/steps/create-retro.step.yml"
173
+ - ".ace-defaults/assign/catalog/steps/fix-tests.step.yml"
174
+ - ".ace-defaults/assign/catalog/steps/lint.step.yml"
175
+ - ".ace-defaults/assign/catalog/steps/mark-task-done.step.yml"
176
+ - ".ace-defaults/assign/catalog/steps/onboard-base.step.yml"
177
+ - ".ace-defaults/assign/catalog/steps/onboard.step.yml"
178
+ - ".ace-defaults/assign/catalog/steps/plan-task.step.yml"
179
+ - ".ace-defaults/assign/catalog/steps/pre-commit-review.step.yml"
180
+ - ".ace-defaults/assign/catalog/steps/push-to-remote.step.yml"
181
+ - ".ace-defaults/assign/catalog/steps/rebase-with-main.step.yml"
182
+ - ".ace-defaults/assign/catalog/steps/reflect-and-refactor.step.yml"
183
+ - ".ace-defaults/assign/catalog/steps/release-minor.step.yml"
184
+ - ".ace-defaults/assign/catalog/steps/release.step.yml"
185
+ - ".ace-defaults/assign/catalog/steps/reorganize-commits.step.yml"
186
+ - ".ace-defaults/assign/catalog/steps/research.step.yml"
187
+ - ".ace-defaults/assign/catalog/steps/review-pr.step.yml"
188
+ - ".ace-defaults/assign/catalog/steps/security-audit.step.yml"
189
+ - ".ace-defaults/assign/catalog/steps/split-subtree-root.step.yml"
190
+ - ".ace-defaults/assign/catalog/steps/squash-changelog.step.yml"
191
+ - ".ace-defaults/assign/catalog/steps/task-load.step.yml"
192
+ - ".ace-defaults/assign/catalog/steps/update-docs.step.yml"
193
+ - ".ace-defaults/assign/catalog/steps/update-pr-desc.step.yml"
194
+ - ".ace-defaults/assign/catalog/steps/verify-e2e.step.yml"
195
+ - ".ace-defaults/assign/catalog/steps/verify-test-suite.step.yml"
196
+ - ".ace-defaults/assign/catalog/steps/verify-test.step.yml"
197
+ - ".ace-defaults/assign/catalog/steps/work-on-task.step.yml"
198
+ - ".ace-defaults/assign/config.yml"
199
+ - ".ace-defaults/assign/presets/fix-bug.yml"
200
+ - ".ace-defaults/assign/presets/quick-implement.yml"
201
+ - ".ace-defaults/assign/presets/release-only.yml"
202
+ - ".ace-defaults/assign/presets/work-on-docs.yml"
203
+ - ".ace-defaults/assign/presets/work-on-task.yml"
204
+ - ".ace-defaults/nav/protocols/skill-sources/ace-assign.yml"
205
+ - ".ace-defaults/nav/protocols/wfi-sources/ace-assign.yml"
206
+ - CHANGELOG.md
207
+ - README.md
208
+ - Rakefile
209
+ - docs/exit-codes.md
210
+ - docs/getting-started.md
211
+ - docs/handbook.md
212
+ - docs/usage.md
213
+ - exe/ace-assign
214
+ - handbook/guides/fork-context.g.md
215
+ - handbook/skills/as-assign-compose/SKILL.md
216
+ - handbook/skills/as-assign-create/SKILL.md
217
+ - handbook/skills/as-assign-drive/SKILL.md
218
+ - handbook/skills/as-assign-prepare/SKILL.md
219
+ - handbook/skills/as-assign-recover-fork/SKILL.md
220
+ - handbook/skills/as-assign-run-in-batches/SKILL.md
221
+ - handbook/skills/as-assign-start/SKILL.md
222
+ - handbook/workflow-instructions/assign/compose.wf.md
223
+ - handbook/workflow-instructions/assign/create.wf.md
224
+ - handbook/workflow-instructions/assign/drive.wf.md
225
+ - handbook/workflow-instructions/assign/prepare.wf.md
226
+ - handbook/workflow-instructions/assign/recover-fork.wf.md
227
+ - handbook/workflow-instructions/assign/run-in-batches.wf.md
228
+ - handbook/workflow-instructions/assign/start.wf.md
229
+ - lib/ace/assign.rb
230
+ - lib/ace/assign/atoms/assign_frontmatter_parser.rb
231
+ - lib/ace/assign/atoms/catalog_loader.rb
232
+ - lib/ace/assign/atoms/composition_rules.rb
233
+ - lib/ace/assign/atoms/number_generator.rb
234
+ - lib/ace/assign/atoms/preset_expander.rb
235
+ - lib/ace/assign/atoms/step_file_parser.rb
236
+ - lib/ace/assign/atoms/step_numbering.rb
237
+ - lib/ace/assign/atoms/step_sorter.rb
238
+ - lib/ace/assign/atoms/tree_formatter.rb
239
+ - lib/ace/assign/cli.rb
240
+ - lib/ace/assign/cli/commands/add.rb
241
+ - lib/ace/assign/cli/commands/assignment_target.rb
242
+ - lib/ace/assign/cli/commands/create.rb
243
+ - lib/ace/assign/cli/commands/fail.rb
244
+ - lib/ace/assign/cli/commands/finish.rb
245
+ - lib/ace/assign/cli/commands/fork_run.rb
246
+ - lib/ace/assign/cli/commands/list.rb
247
+ - lib/ace/assign/cli/commands/retry_cmd.rb
248
+ - lib/ace/assign/cli/commands/select.rb
249
+ - lib/ace/assign/cli/commands/start.rb
250
+ - lib/ace/assign/cli/commands/status.rb
251
+ - lib/ace/assign/models/assignment.rb
252
+ - lib/ace/assign/models/assignment_info.rb
253
+ - lib/ace/assign/models/queue_state.rb
254
+ - lib/ace/assign/models/step.rb
255
+ - lib/ace/assign/molecules/assignment_discoverer.rb
256
+ - lib/ace/assign/molecules/assignment_manager.rb
257
+ - lib/ace/assign/molecules/fork_session_launcher.rb
258
+ - lib/ace/assign/molecules/queue_scanner.rb
259
+ - lib/ace/assign/molecules/skill_assign_source_resolver.rb
260
+ - lib/ace/assign/molecules/step_renumberer.rb
261
+ - lib/ace/assign/molecules/step_writer.rb
262
+ - lib/ace/assign/organisms/assignment_executor.rb
263
+ - lib/ace/assign/version.rb
264
+ homepage: https://github.com/cs3b/ace
265
+ licenses:
266
+ - MIT
267
+ metadata:
268
+ homepage_uri: https://github.com/cs3b/ace
269
+ source_code_uri: https://github.com/cs3b/ace
270
+ changelog_uri: https://github.com/cs3b/ace/blob/main/ace-assign/CHANGELOG.md
271
+ rdoc_options: []
272
+ require_paths:
273
+ - lib
274
+ required_ruby_version: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: 3.2.0
279
+ required_rubygems_version: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ requirements: []
285
+ rubygems_version: 3.6.9
286
+ specification_version: 4
287
+ summary: Multi-step assignment execution with nesting, fork delegation, and inspectable
288
+ traces
289
+ test_files: []