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.
- checksums.yaml +7 -0
- data/.ace-defaults/assign/catalog/composition-rules.yml +211 -0
- data/.ace-defaults/assign/catalog/recipes/batch-tasks.recipe.yml +44 -0
- data/.ace-defaults/assign/catalog/recipes/documentation.recipe.yml +35 -0
- data/.ace-defaults/assign/catalog/recipes/fix-and-review.recipe.yml +32 -0
- data/.ace-defaults/assign/catalog/recipes/implement-simple.recipe.yml +29 -0
- data/.ace-defaults/assign/catalog/recipes/implement-with-pr.recipe.yml +48 -0
- data/.ace-defaults/assign/catalog/recipes/release-only.recipe.yml +34 -0
- data/.ace-defaults/assign/catalog/steps/apply-feedback.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/commit.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/create-retro.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/fix-tests.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/lint.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/mark-task-done.step.yml +57 -0
- data/.ace-defaults/assign/catalog/steps/onboard-base.step.yml +19 -0
- data/.ace-defaults/assign/catalog/steps/onboard.step.yml +19 -0
- data/.ace-defaults/assign/catalog/steps/plan-task.step.yml +17 -0
- data/.ace-defaults/assign/catalog/steps/pre-commit-review.step.yml +34 -0
- data/.ace-defaults/assign/catalog/steps/push-to-remote.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/rebase-with-main.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/reflect-and-refactor.step.yml +57 -0
- data/.ace-defaults/assign/catalog/steps/release-minor.step.yml +23 -0
- data/.ace-defaults/assign/catalog/steps/release.step.yml +23 -0
- data/.ace-defaults/assign/catalog/steps/reorganize-commits.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/research.step.yml +19 -0
- data/.ace-defaults/assign/catalog/steps/review-pr.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/security-audit.step.yml +22 -0
- data/.ace-defaults/assign/catalog/steps/split-subtree-root.step.yml +25 -0
- data/.ace-defaults/assign/catalog/steps/squash-changelog.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/task-load.step.yml +29 -0
- data/.ace-defaults/assign/catalog/steps/update-docs.step.yml +38 -0
- data/.ace-defaults/assign/catalog/steps/update-pr-desc.step.yml +28 -0
- data/.ace-defaults/assign/catalog/steps/verify-e2e.step.yml +42 -0
- data/.ace-defaults/assign/catalog/steps/verify-test-suite.step.yml +48 -0
- data/.ace-defaults/assign/catalog/steps/verify-test.step.yml +36 -0
- data/.ace-defaults/assign/catalog/steps/work-on-task.step.yml +23 -0
- data/.ace-defaults/assign/config.yml +48 -0
- data/.ace-defaults/assign/presets/fix-bug.yml +65 -0
- data/.ace-defaults/assign/presets/quick-implement.yml +41 -0
- data/.ace-defaults/assign/presets/release-only.yml +35 -0
- data/.ace-defaults/assign/presets/work-on-docs.yml +41 -0
- data/.ace-defaults/assign/presets/work-on-task.yml +179 -0
- data/.ace-defaults/nav/protocols/skill-sources/ace-assign.yml +19 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-assign.yml +19 -0
- data/CHANGELOG.md +1415 -0
- data/README.md +87 -0
- data/Rakefile +16 -0
- data/docs/exit-codes.md +61 -0
- data/docs/getting-started.md +121 -0
- data/docs/handbook.md +40 -0
- data/docs/usage.md +224 -0
- data/exe/ace-assign +16 -0
- data/handbook/guides/fork-context.g.md +231 -0
- data/handbook/skills/as-assign-compose/SKILL.md +24 -0
- data/handbook/skills/as-assign-create/SKILL.md +23 -0
- data/handbook/skills/as-assign-drive/SKILL.md +24 -0
- data/handbook/skills/as-assign-prepare/SKILL.md +23 -0
- data/handbook/skills/as-assign-recover-fork/SKILL.md +22 -0
- data/handbook/skills/as-assign-run-in-batches/SKILL.md +23 -0
- data/handbook/skills/as-assign-start/SKILL.md +25 -0
- data/handbook/workflow-instructions/assign/compose.wf.md +256 -0
- data/handbook/workflow-instructions/assign/create.wf.md +215 -0
- data/handbook/workflow-instructions/assign/drive.wf.md +666 -0
- data/handbook/workflow-instructions/assign/prepare.wf.md +469 -0
- data/handbook/workflow-instructions/assign/recover-fork.wf.md +233 -0
- data/handbook/workflow-instructions/assign/run-in-batches.wf.md +212 -0
- data/handbook/workflow-instructions/assign/start.wf.md +46 -0
- data/lib/ace/assign/atoms/assign_frontmatter_parser.rb +173 -0
- data/lib/ace/assign/atoms/catalog_loader.rb +101 -0
- data/lib/ace/assign/atoms/composition_rules.rb +219 -0
- data/lib/ace/assign/atoms/number_generator.rb +110 -0
- data/lib/ace/assign/atoms/preset_expander.rb +277 -0
- data/lib/ace/assign/atoms/step_file_parser.rb +207 -0
- data/lib/ace/assign/atoms/step_numbering.rb +227 -0
- data/lib/ace/assign/atoms/step_sorter.rb +66 -0
- data/lib/ace/assign/atoms/tree_formatter.rb +106 -0
- data/lib/ace/assign/cli/commands/add.rb +102 -0
- data/lib/ace/assign/cli/commands/assignment_target.rb +55 -0
- data/lib/ace/assign/cli/commands/create.rb +63 -0
- data/lib/ace/assign/cli/commands/fail.rb +43 -0
- data/lib/ace/assign/cli/commands/finish.rb +88 -0
- data/lib/ace/assign/cli/commands/fork_run.rb +229 -0
- data/lib/ace/assign/cli/commands/list.rb +166 -0
- data/lib/ace/assign/cli/commands/retry_cmd.rb +42 -0
- data/lib/ace/assign/cli/commands/select.rb +45 -0
- data/lib/ace/assign/cli/commands/start.rb +40 -0
- data/lib/ace/assign/cli/commands/status.rb +407 -0
- data/lib/ace/assign/cli.rb +144 -0
- data/lib/ace/assign/models/assignment.rb +107 -0
- data/lib/ace/assign/models/assignment_info.rb +66 -0
- data/lib/ace/assign/models/queue_state.rb +326 -0
- data/lib/ace/assign/models/step.rb +197 -0
- data/lib/ace/assign/molecules/assignment_discoverer.rb +57 -0
- data/lib/ace/assign/molecules/assignment_manager.rb +276 -0
- data/lib/ace/assign/molecules/fork_session_launcher.rb +102 -0
- data/lib/ace/assign/molecules/queue_scanner.rb +130 -0
- data/lib/ace/assign/molecules/skill_assign_source_resolver.rb +376 -0
- data/lib/ace/assign/molecules/step_renumberer.rb +227 -0
- data/lib/ace/assign/molecules/step_writer.rb +246 -0
- data/lib/ace/assign/organisms/assignment_executor.rb +1299 -0
- data/lib/ace/assign/version.rb +7 -0
- data/lib/ace/assign.rb +141 -0
- metadata +289 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 546f8d510f0767f994deba4c11c10019d4dc320781c5b242e0362431e5e91166
|
|
4
|
+
data.tar.gz: 52cf891a41c8f2f80ba9bfd7fd19db57b5691dda2e67774e16004d3b1358b543
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: e02c6d947497dd2e8fe5c00825a303759994de830394eefe54506b93924b6c5e78ea21a7cc4a839e816aeeb2fd04c14b9c56958b0e6d7145622cb42049c82869
|
|
7
|
+
data.tar.gz: c014fc052851855bfe3f2144c9056a2ef18f1c25884e567f71f8d03cad1eed009981aacc755799b04a344ac323c929fb0f9841ba5e7e6273b7cda6885c1173aa
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Composition rules for ace-assign step ordering and pairing.
|
|
2
|
+
# Used by the compose-assignment workflow to validate and suggest step sequences.
|
|
3
|
+
|
|
4
|
+
ordering:
|
|
5
|
+
- rule: onboard-first
|
|
6
|
+
step: onboard
|
|
7
|
+
position: first
|
|
8
|
+
|
|
9
|
+
- rule: pr-before-review
|
|
10
|
+
before: create-pr
|
|
11
|
+
after: review-pr
|
|
12
|
+
|
|
13
|
+
- rule: review-before-apply
|
|
14
|
+
before: review-pr
|
|
15
|
+
after: apply-feedback
|
|
16
|
+
|
|
17
|
+
- rule: onboard-before-plan
|
|
18
|
+
before: onboard
|
|
19
|
+
after: plan-task
|
|
20
|
+
note: "Planning requires project context from onboarding"
|
|
21
|
+
|
|
22
|
+
- rule: plan-before-implementation
|
|
23
|
+
before: plan-task
|
|
24
|
+
after: work-on-task
|
|
25
|
+
note: "JIT planning should precede implementation"
|
|
26
|
+
|
|
27
|
+
- rule: implementation-before-pr
|
|
28
|
+
before: work-on-task
|
|
29
|
+
after: create-pr
|
|
30
|
+
|
|
31
|
+
- rule: mark-done-after-implementation
|
|
32
|
+
before: work-on-task
|
|
33
|
+
after: mark-task-done
|
|
34
|
+
note: "Mark task done after successful implementation"
|
|
35
|
+
|
|
36
|
+
- rule: release-after-implementation
|
|
37
|
+
before: work-on-task
|
|
38
|
+
after: release
|
|
39
|
+
note: "Release should follow implementation"
|
|
40
|
+
|
|
41
|
+
- rule: reorganize-before-push
|
|
42
|
+
before: reorganize-commits
|
|
43
|
+
after: push-to-remote
|
|
44
|
+
note: "Reorganize rewrites history, so must come before push"
|
|
45
|
+
|
|
46
|
+
- rule: squash-before-rebase
|
|
47
|
+
before: squash-changelog
|
|
48
|
+
after: rebase-with-main
|
|
49
|
+
note: "Consolidate changelog entries before rebasing to reduce conflict churn"
|
|
50
|
+
|
|
51
|
+
- rule: rebase-before-push
|
|
52
|
+
before: rebase-with-main
|
|
53
|
+
after: push-to-remote
|
|
54
|
+
note: "Rebase should happen before publishing commits to remote"
|
|
55
|
+
|
|
56
|
+
- rule: rebase-before-update-pr
|
|
57
|
+
before: rebase-with-main
|
|
58
|
+
after: update-pr-desc
|
|
59
|
+
note: "PR description should reflect post-rebase branch state"
|
|
60
|
+
|
|
61
|
+
- rule: push-before-update-pr
|
|
62
|
+
before: push-to-remote
|
|
63
|
+
after: update-pr-desc
|
|
64
|
+
note: "PR description should reflect pushed state"
|
|
65
|
+
|
|
66
|
+
- rule: release-before-pr
|
|
67
|
+
before: release
|
|
68
|
+
after: create-pr
|
|
69
|
+
note: "Initial release should happen before PR creation"
|
|
70
|
+
|
|
71
|
+
- rule: reflect-after-verify
|
|
72
|
+
before: verify-test-suite
|
|
73
|
+
after: reflect-and-refactor
|
|
74
|
+
note: "Reflection requires passing tests as baseline. The reflect-verify-cycle pair adds a second verify instance after refactoring — these are distinct step instances, not a cycle."
|
|
75
|
+
|
|
76
|
+
- rule: reflect-before-mark-done
|
|
77
|
+
before: reflect-and-refactor
|
|
78
|
+
after: mark-task-done
|
|
79
|
+
note: "Refactoring should complete before marking task done"
|
|
80
|
+
|
|
81
|
+
- rule: reflect-before-release
|
|
82
|
+
before: reflect-and-refactor
|
|
83
|
+
after: release
|
|
84
|
+
note: "Refactoring should complete before version release"
|
|
85
|
+
|
|
86
|
+
- rule: reflect-before-retro
|
|
87
|
+
before: reflect-and-refactor
|
|
88
|
+
after: create-retro
|
|
89
|
+
note: "Findings report feeds into retrospective as structured input"
|
|
90
|
+
|
|
91
|
+
- rule: retro-after-release
|
|
92
|
+
before: release
|
|
93
|
+
after: create-retro
|
|
94
|
+
note: "Retro captures learnings after all implementation and release work is complete"
|
|
95
|
+
|
|
96
|
+
- rule: retro-after-apply-feedback
|
|
97
|
+
before: apply-feedback
|
|
98
|
+
after: create-retro
|
|
99
|
+
note: "Retro should follow all feedback application in review cycles"
|
|
100
|
+
|
|
101
|
+
- rule: e2e-before-release
|
|
102
|
+
before: verify-e2e
|
|
103
|
+
after: release
|
|
104
|
+
note: "E2E must pass before bumping version — catch failures early"
|
|
105
|
+
|
|
106
|
+
- rule: update-docs-after-release
|
|
107
|
+
before: release
|
|
108
|
+
after: update-docs
|
|
109
|
+
note: "Docs should reference the new version number"
|
|
110
|
+
|
|
111
|
+
- rule: update-docs-before-pr
|
|
112
|
+
before: update-docs
|
|
113
|
+
after: create-pr
|
|
114
|
+
note: "Updated docs should be visible to PR reviewers"
|
|
115
|
+
|
|
116
|
+
- rule: e2e-after-verify
|
|
117
|
+
before: verify-test-suite
|
|
118
|
+
after: verify-e2e
|
|
119
|
+
note: "Unit tests should pass before E2E runs"
|
|
120
|
+
|
|
121
|
+
pairs:
|
|
122
|
+
- name: review-apply-cycle
|
|
123
|
+
steps: [review-pr, apply-feedback]
|
|
124
|
+
pattern: sequential
|
|
125
|
+
note: "Reviews should be followed by feedback application"
|
|
126
|
+
|
|
127
|
+
- name: test-fix-cycle
|
|
128
|
+
steps: [verify-test-suite, fix-tests]
|
|
129
|
+
pattern: conditional
|
|
130
|
+
trigger: "test failures detected"
|
|
131
|
+
|
|
132
|
+
- name: reorganize-push-sequence
|
|
133
|
+
steps: [reorganize-commits, push-to-remote]
|
|
134
|
+
pattern: sequential
|
|
135
|
+
note: "Reorganize then push for clean remote history"
|
|
136
|
+
|
|
137
|
+
- name: apply-release-cycle
|
|
138
|
+
steps: [apply-feedback, release]
|
|
139
|
+
pattern: sequential
|
|
140
|
+
note: "Patch release after applying review feedback"
|
|
141
|
+
|
|
142
|
+
- name: reflect-verify-cycle
|
|
143
|
+
steps: [reflect-and-refactor, verify-test-suite]
|
|
144
|
+
pattern: conditional
|
|
145
|
+
trigger: "reflect-and-refactor produced refactoring commits"
|
|
146
|
+
note: "Re-verify after refactoring to catch regressions"
|
|
147
|
+
|
|
148
|
+
- name: reflect-fix-cycle
|
|
149
|
+
steps: [reflect-and-refactor, fix-tests]
|
|
150
|
+
pattern: conditional
|
|
151
|
+
trigger: "re-verification after refactoring finds failures"
|
|
152
|
+
|
|
153
|
+
- name: reflect-replan-cycle
|
|
154
|
+
steps: [reflect-and-refactor, work-on-task]
|
|
155
|
+
pattern: conditional
|
|
156
|
+
trigger: "demo validation failure or fundamental architectural misalignment"
|
|
157
|
+
cap: 1
|
|
158
|
+
note: "Re-plan produces 1-2 sub-tasks, then reflect runs once more (no further re-plan)"
|
|
159
|
+
|
|
160
|
+
- name: e2e-review-run-pair
|
|
161
|
+
steps: [verify-e2e]
|
|
162
|
+
pattern: sequential
|
|
163
|
+
note: "E2E review (coverage matrix) and targeted run are a single step with two steps"
|
|
164
|
+
|
|
165
|
+
- name: docs-update-validate-pair
|
|
166
|
+
steps: [update-docs]
|
|
167
|
+
pattern: sequential
|
|
168
|
+
note: "Doc update followed by validation in same step"
|
|
169
|
+
|
|
170
|
+
conditional:
|
|
171
|
+
- when: "assignment includes work-on-task"
|
|
172
|
+
suggest: [plan-task, mark-task-done, reflect-and-refactor]
|
|
173
|
+
strength: recommended
|
|
174
|
+
overrides:
|
|
175
|
+
reflect-and-refactor: { strength: optional }
|
|
176
|
+
note: "JIT planning before, task completion after, and optional architecture reflection before shipping"
|
|
177
|
+
|
|
178
|
+
- when: "assignment includes work-on-task or fix-bug"
|
|
179
|
+
suggest: [verify-test-suite]
|
|
180
|
+
strength: required
|
|
181
|
+
note: "Test suite verification with profiling catches slow tests and regressions before release. In explicit-step mode this remains advisory unless policy elevates it."
|
|
182
|
+
|
|
183
|
+
- when: "assignment includes work-on-task and touches CLI commands or public API"
|
|
184
|
+
suggest: [verify-e2e, update-docs]
|
|
185
|
+
strength: recommended
|
|
186
|
+
note: "Public contract changes require E2E verification and doc updates"
|
|
187
|
+
|
|
188
|
+
- when: "task involves auth, security, or data handling"
|
|
189
|
+
suggest: [security-audit]
|
|
190
|
+
strength: optional
|
|
191
|
+
|
|
192
|
+
- when: "assignment includes review-pr and apply-feedback"
|
|
193
|
+
suggest: [release]
|
|
194
|
+
strength: recommended
|
|
195
|
+
note: "Patch release after each review cycle captures fixes"
|
|
196
|
+
|
|
197
|
+
fork_context:
|
|
198
|
+
onboard_required: true
|
|
199
|
+
note: "Steps with fork context should include onboard instruction as first step"
|
|
200
|
+
|
|
201
|
+
review_cycles:
|
|
202
|
+
default_count: 3
|
|
203
|
+
max_count: 5
|
|
204
|
+
preset_progression:
|
|
205
|
+
1: code-valid
|
|
206
|
+
2: code-fit
|
|
207
|
+
3: code-shine
|
|
208
|
+
focus_progression:
|
|
209
|
+
1: "Correctness: bugs, logic errors, missing functionality, broken contracts"
|
|
210
|
+
2: "Quality: performance, architecture, standards, test coverage"
|
|
211
|
+
3: "Polish: simplification, naming, documentation (non-blocking suggestions)"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: batch-tasks
|
|
2
|
+
description: Work on multiple tasks with PR, review cycles, and releases
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "work on tasks *"
|
|
6
|
+
- "batch implement *"
|
|
7
|
+
- "multiple tasks"
|
|
8
|
+
|
|
9
|
+
parameters:
|
|
10
|
+
taskrefs: { required: true, type: array }
|
|
11
|
+
review_cycles: { required: false, default: 3 }
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: onboard
|
|
15
|
+
required: true
|
|
16
|
+
- name: batch-parent
|
|
17
|
+
required: true
|
|
18
|
+
expansion:
|
|
19
|
+
foreach: taskrefs
|
|
20
|
+
child_step: work-on-task
|
|
21
|
+
child_context: fork
|
|
22
|
+
note: "Each child marks its task done after implementation"
|
|
23
|
+
- name: release
|
|
24
|
+
required: true
|
|
25
|
+
note: "Initial version bump (usually minor)"
|
|
26
|
+
- name: create-pr
|
|
27
|
+
required: true
|
|
28
|
+
- name: review-cycle
|
|
29
|
+
repeat: "{{review_cycles}}"
|
|
30
|
+
context: fork
|
|
31
|
+
sub_steps: [review-pr, apply-feedback, release, create-retro]
|
|
32
|
+
note: "Each cycle includes patch release after applying feedback"
|
|
33
|
+
- name: reorganize-commits
|
|
34
|
+
required: false
|
|
35
|
+
- name: push-to-remote
|
|
36
|
+
required: true
|
|
37
|
+
- name: update-pr-desc
|
|
38
|
+
required: false
|
|
39
|
+
|
|
40
|
+
customization_hints:
|
|
41
|
+
- "Add create-pr after batch for consolidated review"
|
|
42
|
+
- "Add review cycles if changes need review"
|
|
43
|
+
- "Reduce batch size for complex tasks"
|
|
44
|
+
- "Skip reorganize-commits if history is already clean"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: documentation
|
|
2
|
+
description: Create or update documentation with research and commit
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "document *"
|
|
6
|
+
- "write docs for *"
|
|
7
|
+
- "update documentation"
|
|
8
|
+
- "documentation for *"
|
|
9
|
+
|
|
10
|
+
parameters:
|
|
11
|
+
scope:
|
|
12
|
+
required: true
|
|
13
|
+
description: "Package, directory, or topic to document"
|
|
14
|
+
create_pr:
|
|
15
|
+
required: false
|
|
16
|
+
default: false
|
|
17
|
+
description: "Whether to create a PR for the documentation changes"
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- name: onboard
|
|
21
|
+
required: true
|
|
22
|
+
- name: research
|
|
23
|
+
required: true
|
|
24
|
+
instructions_template: "Research documentation gaps for {{scope}}. Identify outdated, missing, or incorrect documentation."
|
|
25
|
+
- name: work-on-task
|
|
26
|
+
required: true
|
|
27
|
+
instructions_template: "Create or update documentation for {{scope}}. Focus on clarity, accuracy, and completeness."
|
|
28
|
+
- name: commit
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
customization_hints:
|
|
32
|
+
- "Add create-pr step if create_pr=true for documentation PRs"
|
|
33
|
+
- "Add lint step for markdown linting"
|
|
34
|
+
- "Add review-cycle for critical documentation"
|
|
35
|
+
- "Skip onboard if already in context"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: fix-and-review
|
|
2
|
+
description: Fix an issue, verify tests, and create a reviewed PR
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "fix * and review"
|
|
6
|
+
- "bug fix with PR"
|
|
7
|
+
- "fix issue *"
|
|
8
|
+
|
|
9
|
+
parameters:
|
|
10
|
+
taskref: { required: true }
|
|
11
|
+
review_cycles: { required: false, default: 1 }
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: onboard
|
|
15
|
+
required: true
|
|
16
|
+
- name: work-on-task
|
|
17
|
+
required: true
|
|
18
|
+
instructions_template: "Fix the issue described in task {{taskref}}."
|
|
19
|
+
- name: mark-task-done
|
|
20
|
+
required: false
|
|
21
|
+
- name: verify-test-suite
|
|
22
|
+
required: true
|
|
23
|
+
- name: create-pr
|
|
24
|
+
required: true
|
|
25
|
+
- name: review-cycle
|
|
26
|
+
repeat: "{{review_cycles}}"
|
|
27
|
+
sub_steps: [review-pr, apply-feedback]
|
|
28
|
+
|
|
29
|
+
customization_hints:
|
|
30
|
+
- "Add fix-tests after verify-test-suite if failures found"
|
|
31
|
+
- "Add security-audit for security-related fixes"
|
|
32
|
+
- "Increase review cycles for critical fixes"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: implement-simple
|
|
2
|
+
description: Implement a task with commit, no PR or review
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "work on task *"
|
|
6
|
+
- "implement * simple"
|
|
7
|
+
- "quick task"
|
|
8
|
+
|
|
9
|
+
parameters:
|
|
10
|
+
taskref: { required: true }
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: onboard
|
|
14
|
+
required: true
|
|
15
|
+
- name: plan-task
|
|
16
|
+
required: false
|
|
17
|
+
note: "JIT planning — can be skipped for trivial tasks"
|
|
18
|
+
- name: work-on-task
|
|
19
|
+
required: true
|
|
20
|
+
instructions_template: "Work on task {{taskref}}."
|
|
21
|
+
- name: mark-task-done
|
|
22
|
+
required: false
|
|
23
|
+
- name: commit
|
|
24
|
+
required: true
|
|
25
|
+
|
|
26
|
+
customization_hints:
|
|
27
|
+
- "Skip onboard if already onboarded"
|
|
28
|
+
- "Add verify-test-suite before commit for complex changes"
|
|
29
|
+
- "Add lint after work-on-task for style enforcement"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: implement-with-pr
|
|
2
|
+
description: Implement a task, create PR, and iterate through review cycles with releases
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "work on task * and create PR"
|
|
6
|
+
- "implement * with review"
|
|
7
|
+
- "full task workflow"
|
|
8
|
+
|
|
9
|
+
parameters:
|
|
10
|
+
taskref: { required: true }
|
|
11
|
+
review_cycles: { required: false, default: 3 }
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: onboard
|
|
15
|
+
required: true
|
|
16
|
+
- name: plan-task
|
|
17
|
+
required: false
|
|
18
|
+
note: "JIT planning — can be skipped for trivial tasks"
|
|
19
|
+
- name: work-on-task
|
|
20
|
+
required: true
|
|
21
|
+
instructions_template: "Work on task {{taskref}}."
|
|
22
|
+
- name: reflect-and-refactor
|
|
23
|
+
required: false
|
|
24
|
+
note: "Architecture reflection — skip for trivial tasks"
|
|
25
|
+
- name: mark-task-done
|
|
26
|
+
required: false
|
|
27
|
+
- name: release
|
|
28
|
+
required: true
|
|
29
|
+
note: "Initial version bump (usually minor)"
|
|
30
|
+
- name: create-pr
|
|
31
|
+
required: true
|
|
32
|
+
- name: review-cycle
|
|
33
|
+
repeat: "{{review_cycles}}"
|
|
34
|
+
context: fork
|
|
35
|
+
sub_steps: [review-pr, apply-feedback, release, create-retro]
|
|
36
|
+
note: "Each cycle uses preset_progression from composition rules (1: code-valid, 2: code-fit, 3: code-shine)"
|
|
37
|
+
- name: reorganize-commits
|
|
38
|
+
required: false
|
|
39
|
+
- name: push-to-remote
|
|
40
|
+
required: true
|
|
41
|
+
- name: update-pr-desc
|
|
42
|
+
required: false
|
|
43
|
+
|
|
44
|
+
customization_hints:
|
|
45
|
+
- "Skip onboard if already onboarded in a previous assignment"
|
|
46
|
+
- "Add security-audit for security-sensitive changes"
|
|
47
|
+
- "Reduce review cycles to 1 for simple changes"
|
|
48
|
+
- "Skip reorganize-commits if commit history is already clean"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: release-only
|
|
2
|
+
description: Version bump and changelog update without code changes
|
|
3
|
+
|
|
4
|
+
matches:
|
|
5
|
+
- "release *"
|
|
6
|
+
- "bump version"
|
|
7
|
+
- "changelog update"
|
|
8
|
+
- "version bump"
|
|
9
|
+
|
|
10
|
+
parameters:
|
|
11
|
+
version_type:
|
|
12
|
+
required: false
|
|
13
|
+
default: "patch"
|
|
14
|
+
description: "Version bump type (major, minor, or patch)"
|
|
15
|
+
push:
|
|
16
|
+
required: false
|
|
17
|
+
default: false
|
|
18
|
+
description: "Whether to push changes to remote"
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- name: onboard
|
|
22
|
+
required: false
|
|
23
|
+
- name: release
|
|
24
|
+
required: true
|
|
25
|
+
instructions_template: "Bump {{version_type}} version and update CHANGELOGs."
|
|
26
|
+
- name: commit
|
|
27
|
+
required: true
|
|
28
|
+
|
|
29
|
+
customization_hints:
|
|
30
|
+
- "Skip onboard if already in context"
|
|
31
|
+
- "Add push-to-remote for immediate push after commit"
|
|
32
|
+
- "Use minor version for new features"
|
|
33
|
+
- "Use patch version for bug fixes"
|
|
34
|
+
- "Use major version for breaking changes"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: apply-feedback
|
|
2
|
+
skill: as-review-apply-feedback
|
|
3
|
+
description: Apply review feedback and commit improvements
|
|
4
|
+
|
|
5
|
+
prerequisites:
|
|
6
|
+
- name: review-pr
|
|
7
|
+
strength: required
|
|
8
|
+
reason: "Must have review feedback to apply"
|
|
9
|
+
|
|
10
|
+
produces: [code-changes, commits]
|
|
11
|
+
consumes: [review-feedback]
|
|
12
|
+
|
|
13
|
+
context:
|
|
14
|
+
default: null
|
|
15
|
+
reason: "Applying feedback needs access to working tree"
|
|
16
|
+
|
|
17
|
+
when_to_skip:
|
|
18
|
+
- "Review found no actionable issues"
|
|
19
|
+
- "All feedback items are deferred"
|
|
20
|
+
|
|
21
|
+
effort: light
|
|
22
|
+
tags: [implementation, review-response]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: commit
|
|
2
|
+
skill: as-git-commit
|
|
3
|
+
description: Generate and create a commit with a descriptive message
|
|
4
|
+
|
|
5
|
+
prerequisites:
|
|
6
|
+
- name: work-on-task
|
|
7
|
+
strength: recommended
|
|
8
|
+
reason: "Should have code changes to commit"
|
|
9
|
+
|
|
10
|
+
produces: [commits]
|
|
11
|
+
consumes: [code-changes]
|
|
12
|
+
|
|
13
|
+
context:
|
|
14
|
+
default: null
|
|
15
|
+
reason: "Commit needs access to git state in main context"
|
|
16
|
+
|
|
17
|
+
when_to_skip:
|
|
18
|
+
- "No uncommitted changes"
|
|
19
|
+
- "Changes were already committed by a previous step"
|
|
20
|
+
|
|
21
|
+
effort: trivial
|
|
22
|
+
tags: [git, versioning]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: create-pr
|
|
2
|
+
skill: as-github-pr-create
|
|
3
|
+
description: Create a pull request for the implemented changes
|
|
4
|
+
intent:
|
|
5
|
+
phrases:
|
|
6
|
+
- "create pr"
|
|
7
|
+
- "create a pr"
|
|
8
|
+
- "open pr"
|
|
9
|
+
- "open pull request"
|
|
10
|
+
|
|
11
|
+
prerequisites:
|
|
12
|
+
- name: work-on-task
|
|
13
|
+
strength: required
|
|
14
|
+
reason: "Must have code changes to create a PR"
|
|
15
|
+
|
|
16
|
+
produces: [pull-request]
|
|
17
|
+
consumes: [code-changes, commits]
|
|
18
|
+
|
|
19
|
+
context:
|
|
20
|
+
default: null
|
|
21
|
+
reason: "PR creation needs access to git state in main context"
|
|
22
|
+
|
|
23
|
+
when_to_skip:
|
|
24
|
+
- "PR already exists for this branch"
|
|
25
|
+
- "Changes don't warrant a PR (e.g., direct push allowed)"
|
|
26
|
+
|
|
27
|
+
effort: light
|
|
28
|
+
tags: [git, pr, publishing]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: create-retro
|
|
2
|
+
skill: null
|
|
3
|
+
description: Create a retrospective summarizing what was accomplished and lessons learned
|
|
4
|
+
|
|
5
|
+
prerequisites:
|
|
6
|
+
- name: reflect-and-refactor
|
|
7
|
+
strength: recommended
|
|
8
|
+
reason: "Findings report enriches retrospective with architectural observations"
|
|
9
|
+
|
|
10
|
+
produces: [retrospective]
|
|
11
|
+
consumes: [findings-report, review-sessions]
|
|
12
|
+
|
|
13
|
+
context:
|
|
14
|
+
default: null
|
|
15
|
+
reason: "Retro needs access to full assignment history"
|
|
16
|
+
|
|
17
|
+
when_to_skip:
|
|
18
|
+
- "Assignment was trivial"
|
|
19
|
+
- "No significant learnings to capture"
|
|
20
|
+
|
|
21
|
+
effort: trivial
|
|
22
|
+
tags: [documentation, reflection]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: fix-tests
|
|
2
|
+
skill: null
|
|
3
|
+
description: Fix failing tests identified during verification
|
|
4
|
+
|
|
5
|
+
prerequisites:
|
|
6
|
+
- name: verify-test-suite
|
|
7
|
+
strength: recommended
|
|
8
|
+
reason: "Should know which tests are failing"
|
|
9
|
+
|
|
10
|
+
produces: [code-changes, commits]
|
|
11
|
+
consumes: [test-results]
|
|
12
|
+
|
|
13
|
+
context:
|
|
14
|
+
default: null
|
|
15
|
+
reason: "Test fixing needs access to working tree and test runner"
|
|
16
|
+
|
|
17
|
+
when_to_skip:
|
|
18
|
+
- "All tests are passing"
|
|
19
|
+
- "Failures are in unrelated tests"
|
|
20
|
+
|
|
21
|
+
effort: medium
|
|
22
|
+
tags: [testing, bug-fix]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: lint
|
|
2
|
+
skill: null
|
|
3
|
+
description: Run linters and fix style issues in changed files
|
|
4
|
+
|
|
5
|
+
prerequisites:
|
|
6
|
+
- name: work-on-task
|
|
7
|
+
strength: recommended
|
|
8
|
+
reason: "Should have code changes to lint"
|
|
9
|
+
|
|
10
|
+
produces: [code-changes]
|
|
11
|
+
consumes: [code-changes]
|
|
12
|
+
|
|
13
|
+
context:
|
|
14
|
+
default: null
|
|
15
|
+
reason: "Linting needs access to working tree"
|
|
16
|
+
|
|
17
|
+
when_to_skip:
|
|
18
|
+
- "No code changes to lint"
|
|
19
|
+
- "Linting is handled by pre-commit hooks"
|
|
20
|
+
|
|
21
|
+
effort: trivial
|
|
22
|
+
tags: [quality, style]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: mark-task-done
|
|
2
|
+
skill: null
|
|
3
|
+
description: Mark task as done in ace-task after successful implementation
|
|
4
|
+
workflow: wfi://task/update
|
|
5
|
+
|
|
6
|
+
prerequisites:
|
|
7
|
+
- name: work-on-task
|
|
8
|
+
strength: required
|
|
9
|
+
reason: "Task must be implemented before marking done"
|
|
10
|
+
|
|
11
|
+
produces: [task-status-update]
|
|
12
|
+
consumes: [code-changes]
|
|
13
|
+
|
|
14
|
+
context:
|
|
15
|
+
default: null
|
|
16
|
+
reason: "Needs access to ace-task CLI in main context"
|
|
17
|
+
|
|
18
|
+
instructions: |
|
|
19
|
+
After completing implementation work, mark the task as done:
|
|
20
|
+
|
|
21
|
+
1. Run the status update command:
|
|
22
|
+
```bash
|
|
23
|
+
ace-task update {{taskref}} --set status=done --move-to archive
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
2. **VERIFY the status change** (do not skip):
|
|
27
|
+
```bash
|
|
28
|
+
ace-task show {{taskref}}
|
|
29
|
+
```
|
|
30
|
+
Confirm the output shows `status: done`. If it shows `in-progress` or another status, the update did not persist — investigate and retry.
|
|
31
|
+
|
|
32
|
+
**Why verification matters:** Skipping this step causes status drift where the orchestrator progress no longer matches ace-task's record. This creates confusion in future sessions and breaks progress reporting.
|
|
33
|
+
|
|
34
|
+
3. **Close parent tasks when all children are done:**
|
|
35
|
+
If the task has a parent (visible in `ace-task show` output), check whether all sibling subtasks are now done:
|
|
36
|
+
```bash
|
|
37
|
+
ace-task show {{parent_taskref}}
|
|
38
|
+
```
|
|
39
|
+
If all subtasks show `✓` (done), mark the parent done too:
|
|
40
|
+
```bash
|
|
41
|
+
ace-task update {{parent_taskref}} --set status=done --move-to archive
|
|
42
|
+
ace-task show {{parent_taskref}}
|
|
43
|
+
```
|
|
44
|
+
Repeat upward if the parent itself has a parent.
|
|
45
|
+
|
|
46
|
+
4. **Commit the task file moves:**
|
|
47
|
+
```bash
|
|
48
|
+
ace-git-commit .ace-tasks/ -i "archive completed tasks"
|
|
49
|
+
```
|
|
50
|
+
The `--move-to archive` flag relocates task files. This commit captures those moves.
|
|
51
|
+
|
|
52
|
+
when_to_skip:
|
|
53
|
+
- "Task was already marked done (verified via ace-task show)"
|
|
54
|
+
- "Implementation was not completed"
|
|
55
|
+
|
|
56
|
+
effort: trivial
|
|
57
|
+
tags: [task-management, post-implementation]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: onboard-base
|
|
2
|
+
skill: null
|
|
3
|
+
description: "Load base project context: run `ace-bundle project-base`"
|
|
4
|
+
|
|
5
|
+
prerequisites: []
|
|
6
|
+
|
|
7
|
+
produces: [project-base-context]
|
|
8
|
+
consumes: []
|
|
9
|
+
|
|
10
|
+
context:
|
|
11
|
+
default: null
|
|
12
|
+
reason: "Base onboarding needs access to the main conversation context"
|
|
13
|
+
|
|
14
|
+
when_to_skip:
|
|
15
|
+
- "Already onboarded in a previous assignment"
|
|
16
|
+
- "Working in a context where project-base is already loaded"
|
|
17
|
+
|
|
18
|
+
effort: light
|
|
19
|
+
tags: [setup, context-loading]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: onboard
|
|
2
|
+
skill: as-onboard
|
|
3
|
+
description: Load project context and understand the codebase
|
|
4
|
+
|
|
5
|
+
prerequisites: []
|
|
6
|
+
|
|
7
|
+
produces: [project-context]
|
|
8
|
+
consumes: []
|
|
9
|
+
|
|
10
|
+
context:
|
|
11
|
+
default: null
|
|
12
|
+
reason: "Onboarding needs access to the main conversation context"
|
|
13
|
+
|
|
14
|
+
when_to_skip:
|
|
15
|
+
- "Already onboarded in a previous assignment"
|
|
16
|
+
- "Working in a context where project is already loaded"
|
|
17
|
+
|
|
18
|
+
effort: light
|
|
19
|
+
tags: [setup, context-loading]
|