@rse/ase 0.0.38 → 0.0.39

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.
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "homepage": "http://github.com/rse/ase",
7
7
  "repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
8
8
  "bugs": { "url": "http://github.com/rse/ase/issues" },
9
- "version": "0.0.38",
9
+ "version": "0.0.39",
10
10
  "license": "GPL-3.0-only",
11
11
  "author": {
12
12
  "name": "Dr. Ralf S. Engelschall",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ase",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "description": "Agentic Software Engineering (ASE)",
5
5
  "keywords": [ "agentic", "software", "engineering" ],
6
6
  "homepage": "https://ase.tools",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ase",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "description": "Agentic Software Engineering (ASE)",
5
5
  "keywords": [ "agentic", "software", "engineering" ],
6
6
  "homepage": "https://ase.tools",
@@ -6,7 +6,7 @@
6
6
  "homepage": "http://github.com/rse/ase",
7
7
  "repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
8
8
  "bugs": { "url": "http://github.com/rse/ase/issues" },
9
- "version": "0.0.38",
9
+ "version": "0.0.39",
10
10
  "license": "GPL-3.0-only",
11
11
  "author": {
12
12
  "name": "Dr. Ralf S. Engelschall",
@@ -74,7 +74,7 @@ permitted way to persist artifacts is via `task_save(...)`.
74
74
  <feature><text/></feature> and <ase-task-id><id/></ase-task-id>
75
75
  and call the `task_id(id: <ase-task-id/>, session:
76
76
  <ase-session-id/>)` tool from the `ase` MCP service to
77
- implicitly switch the task.
77
+ implicitly switch the task. Do not output anything.
78
78
 
79
79
  3. If <feature/> is empty,
80
80
  ask the user interactively, without a special tool, for the
@@ -92,7 +92,7 @@ permitted way to persist artifacts is via `task_save(...)`.
92
92
  which consists of two lower-case words concatenated with a
93
93
  `-` character. Then call the `task_id(id: <ase-task-id/>,
94
94
  session: <ase-session-id/>)` tool from the `ase` MCP service to
95
- implicitly switch the task.
95
+ implicitly switch the task. Do not output anything.
96
96
  </if>
97
97
 
98
98
  5. Report the task and feature with the following <template/>:
@@ -119,40 +119,12 @@ permitted way to persist artifacts is via `task_save(...)`.
119
119
 
120
120
  3. Do not output anything in this step.
121
121
 
122
- 3. **Find Feature Crafting Approaches**:
122
+ 3. **Internalize Crafting Tenets**:
123
123
 
124
- 1. *Propose* corresponding *feature approach*, including optionally,
125
- some *alternative* feature approaches.
126
-
127
- 2. Annotate the approach you recommend with an <annotation/> of
128
- ` ⚝ **RECOMMENDATION** ⚝`.
129
-
130
- 3. Report each approach with the following <template/>:
131
-
132
- <template>
133
- &#x1F535; **APPROACH A<n/>**<annotation/>: *<summary/>*
134
- - [...]
135
- - [...]
136
- - [...]
137
- <optional-diagram/>
138
- </template>
139
-
140
- Hints:
141
-
142
- - Give a short one-sentence <summary/> of the feature approach plus
143
- *precise* and *brief* feature information. Try to keep the
144
- number of bullet points in the range of 1-4.
145
-
146
- - In case of a *complex feature situation* only, visualize it with
147
- an optional diagram <optional-diagram/> by invoking the
148
- `ase-meta-diagram` skill via the `Skill` tool. For *current vs.
149
- proposed* comparisons, render each side as a *separate*
150
- `ase-meta-diagram` invocation and stack the rendered blocks
151
- *vertically* (labels `**Before:**` / `**After:**`); never
152
- side-by-side. Omit <optional-diagram/> entirely for simple or
153
- purely local situation.
124
+ Internalize and honor the following tenets.
125
+ Do not output anything.
154
126
 
155
- *Recommended* Tenets (generic):
127
+ 1. *Recommended* Tenets (generic):
156
128
 
157
129
  - **Surgical Changes**:
158
130
  Keep source code changes always as small as possible.
@@ -170,20 +142,69 @@ permitted way to persist artifacts is via `task_save(...)`.
170
142
  Strictly align with the existing code base by exactly following its
171
143
  coding style, its structure, its naming conventions, etc.
172
144
 
173
- *Essential* Tenets (specific):
145
+ 2. *Essential* Tenets (feature crafting specific):
174
146
 
175
147
  - **High Cohesion, Low Coupling**:
176
148
  Strike for a set of small, focused parts (high cohesion) connected by
177
149
  thin, explicit wires (low coupling).
178
150
 
179
- 4. **Choose Feature Crafting Approach**:
151
+ 4. **Find Feature Crafting Approaches**:
152
+
153
+ You *MUST* perform the following sub-steps *internally* and *without
154
+ any output* until and including the recommendation decision. Only
155
+ sub-step 4 below is allowed to produce output.
156
+
157
+ 1. *Propose* corresponding *feature approach*, including optionally,
158
+ some *alternative* feature approaches. Do *not* output anything
159
+ in this sub-step.
160
+
161
+ 2. *Reflect* on and *critique* the proposed approaches by deriving,
162
+ per approach, a small set of concrete *pros* and *cons*. Do
163
+ *not* output anything in this sub-step.
164
+
165
+ 3. Based on the reflection, *decide* which approach to recommend
166
+ and annotate it with an <annotation/> of
167
+ ` ⚝ **RECOMMENDATION** ⚝`. All other approaches receive an
168
+ empty <annotation/>. Do *not* output anything in this sub-step.
169
+
170
+ 4. *Now* report each approach with the following <template/>,
171
+ inlining its pros/cons derived in sub-step 2:
172
+
173
+ <template>
174
+ &#x1F535; **APPROACH A<n/>**<annotation/>: *<summary/>*
175
+ ● [...]
176
+ ● [...]
177
+ ● [...]
178
+ ⊕ *pro*: [...]
179
+ ⊖ *con*: [...]
180
+ <optional-diagram/>
181
+ </template>
182
+
183
+ Hints:
184
+
185
+ - Give a short one-sentence <summary/> of the feature approach plus
186
+ *precise* and *brief* feature information. Try to keep the
187
+ number of bullet points (●) in the range of 1-4.
188
+
189
+ - In case of a *complex feature situation* only, visualize it with
190
+ an optional diagram <optional-diagram/> by invoking the
191
+ `ase-meta-diagram` skill via the `Skill` tool. For *current vs.
192
+ proposed* comparisons, render each side as a *separate*
193
+ `ase-meta-diagram` invocation and stack the rendered blocks
194
+ *vertically* (labels `**Before:**` / `**After:**`); never
195
+ side-by-side. Omit <optional-diagram/> entirely for simple or
196
+ purely local situation.
197
+
198
+ 5. **Choose Feature Crafting Approach**:
180
199
 
181
200
  1. If <getopt-option-auto/> is equal `false`:
182
201
  Let the *user interactively choose* the preferred feature
183
202
  approach A<n/> with the help of the <user-dialog-tool/> tool.
184
- Use the header `Select Approach` and *single-selection* only
185
- and provide small *code change previews*. Mark your recommended
186
- feature approach with ` **RECOMMENDATION** ⚝` here again.
203
+ Use the header `Select Approach`, use `A<n/>: <short-summary/>`
204
+ for the option (where <short-summary/> is an ultra brief summary
205
+ of the approach A<n/>), and *single-selection* only and provide
206
+ small *code change previews*. Mark your recommended feature
207
+ approach with ` ⚝ **RECOMMENDATION** ⚝` here again.
187
208
 
188
209
  2. If <getopt-option-auto/> is equal `true`:
189
210
  Set <n/> to the number of the feature approach A<n/> you recommend.
@@ -193,7 +214,7 @@ permitted way to persist artifacts is via `task_save(...)`.
193
214
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
194
215
  </template>
195
216
 
196
- 5. **Compose Feature Crafting Plan**:
217
+ 6. **Compose Feature Crafting Plan**:
197
218
 
198
219
  1. *Compose a feature plan* for the chosen feature A<n/> by
199
220
  closely aligning to the existing architecture and the existing
@@ -220,59 +241,9 @@ permitted way to persist artifacts is via `task_save(...)`.
220
241
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan created**
221
242
  </template>
222
243
 
223
- 5. *Determine next step*:
224
-
225
- - If <getopt-option-next/> matches the regex `^(DONE|EDIT|PREFLIGHT|IMPLEMENT)$`:
226
- Honor the pre-selection what to do as the next step.
227
- Set <result><getopt-option-next/></result>.
228
-
229
- - If <getopt-option-next/> is equal to `none`:
230
- Let the *user interactively choose* what to do as the next step.
231
-
232
- <expand name="user-dialog">
233
- Next Step: How would you like to proceed with the plan?
234
- DONE: Stop processing.
235
- EDIT: Hand processing off to editing.
236
- PREFLIGHT: Hand processing off to preflighting.
237
- IMPLEMENT: Hand processing off to implementation.
238
- </expand>
239
-
240
- 6. Check the tool <result/> and dispatch accordingly:
241
-
242
- - If <result/> is `DONE` or `CANCEL`:
243
- Only output the following <template/> and then *STOP*.
244
-
245
- <template>
246
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **done**
247
- </template>
248
-
249
- - If <result/> is `EDIT`:
250
- Only output the following <template/> and then use the
251
- `Skill` tool to invoke the `ase:ase-task-edit` skill in
252
- order to edit the plan. Immediately stop processing the
253
- current skill once the `Skill` tool was used.
254
-
255
- <template>
256
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to edit**
257
- </template>
258
-
259
- - If <result/> is `PREFLIGHT`:
260
- Only output the following <template/> and then use the
261
- `Skill` tool to invoke the `ase:ase-task-preflight` skill in
262
- order to preflight the plan. Immediately stop processing the
263
- current skill once the `Skill` tool was used.
264
-
265
- <template>
266
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to preflight**
267
- </template>
268
-
269
- - If <result/> is `IMPLEMENT`:
270
- Only output the following <template/> and then use the
271
- `Skill` tool to invoke the `ase:ase-task-implement` skill in
272
- order to implement the plan. Immediately stop processing the
273
- current skill once the `Skill` tool was used.
274
-
275
- <template>
276
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to implement**
277
- </template>
244
+ 5. Directly pass-through control to the `ase:ase-task-edit` skill.
245
+ Set <args></args> (set args to empty). If <getopt-option-next/>
246
+ is not equal `none`, set <args><args/> --next
247
+ <getopt-option-next/></args> (append to args). Then call the
248
+ tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`.
278
249
 
@@ -74,7 +74,7 @@ permitted way to persist artifacts is via `task_save(...)`.
74
74
  <request><text/></request> and <ase-task-id><id/></ase-task-id>
75
75
  and call the `task_id(id: <ase-task-id/>, session:
76
76
  <ase-session-id/>)` tool from the `ase` MCP service to
77
- implicitly switch the task.
77
+ implicitly switch the task. Do not output anything.
78
78
 
79
79
  3. If <request/> is empty,
80
80
  ask the user interactively, without a special tool, for the
@@ -92,7 +92,7 @@ permitted way to persist artifacts is via `task_save(...)`.
92
92
  which consists of two lower-case words concatenated with a
93
93
  `-` character. Then call the `task_id(id: <ase-task-id/>,
94
94
  session: <ase-session-id/>)` tool from the `ase` MCP service to
95
- implicitly switch the task.
95
+ implicitly switch the task. Do not output anything.
96
96
  </if>
97
97
 
98
98
  5. Report the task and request with the following <template/>:
@@ -119,41 +119,12 @@ permitted way to persist artifacts is via `task_save(...)`.
119
119
 
120
120
  3. Do not output anything in this step.
121
121
 
122
- 3. **Find Refactoring Approaches**:
122
+ 3. **Internalize Refactoring Tenets**:
123
123
 
124
- 1. *Propose* corresponding *refactoring approach*, including
125
- optionally, some *alternative* refactoring approaches.
126
-
127
- 2. Annotate the approach you recommend with an <annotation/> of
128
- ` ⚝ **RECOMMENDATION** ⚝`.
124
+ Internalize and honor the following tenets.
125
+ Do not output anything.
129
126
 
130
- 3. Report each approach with the following <template/>
131
- and do not output anything else in this step:
132
-
133
- <template>
134
- &#x1F535; **APPROACH A<n/>**<annotation/>: *<summary/>*
135
- - [...]
136
- - [...]
137
- - [...]
138
- <optional-diagram/>
139
- </template>
140
-
141
- Hints:
142
-
143
- - Give a short one-sentence <summary/> of the refactoring approach plus
144
- *precise* and *brief* refactoring information. Try to keep the
145
- number of bullet points in the range of 1-4.
146
-
147
- - In case of a *complex refactoring situation* only, visualize it with
148
- an optional diagram <optional-diagram/> by invoking the
149
- `ase-meta-diagram` skill via the `Skill` tool. For *current vs.
150
- proposed* comparisons, render each side as a *separate*
151
- `ase-meta-diagram` invocation and stack the rendered blocks
152
- *vertically* (labels `**Before:**` / `**After:**`); never
153
- side-by-side. Omit <optional-diagram/> entirely for simple or
154
- purely local situation.
155
-
156
- *Recommended* Tenets (generic):
127
+ 1. *Recommended* Tenets (generic):
157
128
 
158
129
  - **Surgical Changes**:
159
130
  Keep source code changes always as small as possible.
@@ -171,7 +142,7 @@ permitted way to persist artifacts is via `task_save(...)`.
171
142
  Strictly align with the existing code base by exactly following its
172
143
  coding style, its structure, its naming conventions, etc.
173
144
 
174
- *Essential* Tenets (specific):
145
+ 2. *Essential* Tenets (refactoring specific):
175
146
 
176
147
  - **Boy Scout Rule**:
177
148
  After the refactoring, leave the code base cleaner than you found it.
@@ -180,16 +151,65 @@ permitted way to persist artifacts is via `task_save(...)`.
180
151
  Strike for a set of small, focused parts (high cohesion) connected by
181
152
  thin, explicit wires (low coupling).
182
153
 
183
- 4. **Choose Refactoring Approach**:
154
+ 4. **Find Refactoring Approaches**:
155
+
156
+ You *MUST* perform the following sub-steps *internally* and *without
157
+ any output* until and including the recommendation decision. Only
158
+ sub-step 4 below is allowed to produce output.
159
+
160
+ 1. *Propose* corresponding *refactoring approach*, including
161
+ optionally, some *alternative* refactoring approaches. Do *not*
162
+ output anything in this sub-step.
163
+
164
+ 2. *Reflect* on and *critique* the proposed approaches by deriving,
165
+ per approach, a small set of concrete *pros* and *cons*. Do
166
+ *not* output anything in this sub-step.
167
+
168
+ 3. Based on the reflection, *decide* which approach to recommend
169
+ and annotate it with an <annotation/> of
170
+ ` ⚝ **RECOMMENDATION** ⚝`. All other approaches receive an
171
+ empty <annotation/>. Do *not* output anything in this sub-step.
172
+
173
+ 4. *Now* report each approach with the following <template/>,
174
+ inlining its pros/cons derived in sub-step 2, and do not output
175
+ anything else in this step:
176
+
177
+ <template>
178
+ &#x1F535; **APPROACH A<n/>**<annotation/>: *<summary/>*
179
+ ● [...]
180
+ ● [...]
181
+ ● [...]
182
+ ⊕ *pro*: [...]
183
+ ⊖ *con*: [...]
184
+ <optional-diagram/>
185
+ </template>
186
+
187
+ Hints:
188
+
189
+ - Give a short one-sentence <summary/> of the refactoring approach plus
190
+ *precise* and *brief* refactoring information. Try to keep the
191
+ number of bullet points (●) in the range of 1-4.
192
+
193
+ - In case of a *complex refactoring situation* only, visualize it with
194
+ an optional diagram <optional-diagram/> by invoking the
195
+ `ase-meta-diagram` skill via the `Skill` tool. For *current vs.
196
+ proposed* comparisons, render each side as a *separate*
197
+ `ase-meta-diagram` invocation and stack the rendered blocks
198
+ *vertically* (labels `**Before:**` / `**After:**`); never
199
+ side-by-side. Omit <optional-diagram/> entirely for simple or
200
+ purely local situation.
201
+
202
+ 5. **Choose Refactoring Approach**:
184
203
 
185
204
  1. If <getopt-option-auto/> is equal `false`:
186
205
  Let the *user interactively choose* the preferred refactoring
187
206
  approach A<n/> with the help of the <user-dialog-tool/> tool.
188
- Use the header `Select Approach` and *single-selection* only
189
- and provide small *code change previews*. Mark your recommended
190
- refactoring approach with ` **RECOMMENDATION** ⚝` here again.
191
- Except for the interactive selection, do not output anything in
192
- this step.
207
+ Use the header `Select Approach`, use `A<n/>: <short-summary/>`
208
+ for the option (where <short-summary/> is an ultra brief summary
209
+ of the approach A<n/>), and *single-selection* only and provide
210
+ small *code change previews*. Mark your recommended refactoring
211
+ approach with ` ⚝ **RECOMMENDATION** ⚝` here again. Except for
212
+ the interactive selection, do not output anything in this step.
193
213
 
194
214
  2. If <getopt-option-auto/> is equal `true`:
195
215
  Set <n/> to the number of the refactoring approach A<n/> you recommend.
@@ -199,7 +219,7 @@ permitted way to persist artifacts is via `task_save(...)`.
199
219
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
200
220
  </template>
201
221
 
202
- 5. **Compose Refactoring Plan**:
222
+ 6. **Compose Refactoring Plan**:
203
223
 
204
224
  1. *Compose a refactoring plan* for the chosen refactoring A<n/> by
205
225
  closely aligning to the existing architecture and the existing
@@ -226,58 +246,9 @@ permitted way to persist artifacts is via `task_save(...)`.
226
246
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan created**
227
247
  </template>
228
248
 
229
- 5. *Determine next step*:
230
-
231
- - If <getopt-option-next/> matches the regex `^(DONE|EDIT|PREFLIGHT|IMPLEMENT)$`:
232
- Honor the pre-selection what to do as the next step.
233
- Set <result><getopt-option-next/></result>.
234
-
235
- - If <getopt-option-next/> is equal to `none`:
236
- Let the *user interactively choose* what to do as the next step.
237
-
238
- <expand name="user-dialog">
239
- Next Step: How would you like to proceed with the plan?
240
- DONE: Stop processing.
241
- EDIT: Hand processing off to editing.
242
- PREFLIGHT: Hand processing off to preflighting.
243
- IMPLEMENT: Hand processing off to implementation.
244
- </expand>
245
-
246
- 6. Check the tool <result/> and dispatch accordingly:
247
-
248
- - If <result/> is `DONE` or `CANCEL`:
249
- Only output the following <template/> and then *STOP*.
250
-
251
- <template>
252
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **done**
253
- </template>
254
-
255
- - If <result/> is `EDIT`:
256
- Only output the following <template/> and then use the
257
- `Skill` tool to invoke the `ase:ase-task-edit` skill in
258
- order to edit the plan. Immediately stop processing the
259
- current skill once the `Skill` tool was used.
260
-
261
- <template>
262
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to edit**
263
- </template>
264
-
265
- - If <result/> is `PREFLIGHT`:
266
- Only output the following <template/> and then use the
267
- `Skill` tool to invoke the `ase:ase-task-preflight` skill in
268
- order to preflight the plan. Immediately stop processing the
269
- current skill once the `Skill` tool was used.
270
-
271
- <template>
272
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to preflight**
273
- </template>
274
-
275
- - If <result/> is `IMPLEMENT`:
276
- Only output the following <template/> and then use the
277
- `Skill` tool to invoke the `ase:ase-task-implement` skill in
278
- order to implement the plan. Immediately stop processing the
279
- current skill once the `Skill` tool was used.
280
-
281
- <template>
282
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to implement**
283
- </template>
249
+ 5. Directly pass-through control to the `ase:ase-task-edit` skill.
250
+ Set <args></args> (set args to empty). If <getopt-option-next/>
251
+ is not equal `none`, set <args><args/> --next
252
+ <getopt-option-next/></args> (append to args). Then call the
253
+ tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`.
254
+
@@ -86,7 +86,7 @@ permitted way to persist artifacts is via `task_save(...)`.
86
86
  <problem><text/></problem> and <ase-task-id><id/></ase-task-id>
87
87
  and call the `task_id(id: <ase-task-id/>, session:
88
88
  <ase-session-id/>)` tool from the `ase` MCP service to
89
- implicitly switch the task.
89
+ implicitly switch the task. Do not output anything.
90
90
 
91
91
  4. If <problem/> is empty,
92
92
  ask the user interactively, without a special tool, for the
@@ -104,7 +104,7 @@ permitted way to persist artifacts is via `task_save(...)`.
104
104
  which consists of two lower-case words concatenated with a
105
105
  `-` character. Then call the `task_id(id: <ase-task-id/>,
106
106
  session: <ase-session-id/>)` tool from the `ase` MCP service to
107
- implicitly switch the task.
107
+ implicitly switch the task. Do not output anything.
108
108
  </if>
109
109
 
110
110
  6. Report the task and problem with the following <template/>:
@@ -130,9 +130,9 @@ permitted way to persist artifacts is via `task_save(...)`.
130
130
  <optional-diagram/>
131
131
 
132
132
  &#x1F7E0; **PROBLEM DETAILS**: *<summary/>*
133
- - [...]
134
- - [...]
135
- - [...]
133
+ [...]
134
+ [...]
135
+ [...]
136
136
  </template>
137
137
 
138
138
  Hints:
@@ -142,7 +142,7 @@ permitted way to persist artifacts is via `task_save(...)`.
142
142
 
143
143
  - Give a short one-sentence <summary/> of the <problem/> plus *precise*
144
144
  but *brief* code processing information to understand the problem.
145
- Try to keep the number of bullet points in the range of 1-4.
145
+ Try to keep the number of bullet points (●) in the range of 1-4.
146
146
 
147
147
  - In case of a *complex context situation* with complex *structure*
148
148
  (layout, components, dependencies, etc), complex *control flow*
@@ -163,22 +163,66 @@ permitted way to persist artifacts is via `task_save(...)`.
163
163
 
164
164
  3. Do not output anything in this step.
165
165
 
166
- 3. **Find Problem Resolution Approaches**:
166
+ 3. **Internalize Problem Resolution Tenets**:
167
+
168
+ Internalize and honor the following tenets.
169
+ Do not output anything.
170
+
171
+ 1. *Recommended* Tenets (generic):
172
+
173
+ - **Surgical Changes**:
174
+ Keep source code changes always as small as possible.
175
+
176
+ - **Separation of Concerns**:
177
+ Clearly separate all individual concerns as good as possible.
178
+
179
+ - **Single Responsibility Principle**:
180
+ Every module, class, or function should have only one reason to change.
181
+
182
+ - **Behavior Preservation**:
183
+ Refactoring changes only re-structure, never change any observable behavior.
184
+
185
+ - **Align with Code Base**:
186
+ Strictly align with the existing code base by exactly following its
187
+ coding style, its structure, its naming conventions, etc.
188
+
189
+ 2. *Essential* Tenets (problem resolving specific):
190
+
191
+ - **No Cleanups**:
192
+ Strictly focus on resolving the problem and do not mix this task
193
+ with any other necessary code cleanups, except they are really
194
+ necessary for resolving the task.
195
+
196
+ 4. **Find Problem Resolution Approaches**:
197
+
198
+ You *MUST* perform the following sub-steps *internally* and *without
199
+ any output* until and including the recommendation decision. Only
200
+ sub-step 4 below is allowed to produce output.
167
201
 
168
202
  1. *Propose* corresponding *resolution approach*, including optionally,
169
- some *alternative* resolution approaches.
203
+ some *alternative* resolution approaches. Do *not* output anything
204
+ in this sub-step.
170
205
 
171
- 2. Annotate the approach you recommend with an <annotation/> of
172
- ` **RECOMMENDATION** ⚝`.
206
+ 2. *Reflect* on and *critique* the proposed approaches by deriving,
207
+ per approach, a small set of concrete *pros* and *cons*. Do
208
+ *not* output anything in this sub-step.
173
209
 
174
- 3. Report each approach with the following <template/>
175
- and do not output anything else in this step:
210
+ 3. Based on the reflection, *decide* which approach to recommend
211
+ and annotate it with an <annotation/> of
212
+ ` ⚝ **RECOMMENDATION** ⚝`. All other approaches receive an
213
+ empty <annotation/>. Do *not* output anything in this sub-step.
214
+
215
+ 4. *Now* report each approach with the following <template/>,
216
+ inlining its pros/cons derived in sub-step 2, and do not output
217
+ anything else in this step:
176
218
 
177
219
  <template>
178
220
  &#x1F535; **APPROACH A<n/>**<annotation/>: *<summary/>*
179
- - [...]
180
- - [...]
181
- - [...]
221
+ [...]
222
+ [...]
223
+ [...]
224
+ ⊕ *pro*: [...]
225
+ ⊖ *con*: [...]
182
226
  <optional-diagram/>
183
227
  </template>
184
228
 
@@ -186,7 +230,7 @@ permitted way to persist artifacts is via `task_save(...)`.
186
230
 
187
231
  - Give a short one-sentence <summary/> of the resolution approach plus
188
232
  *precise* and *brief* resolution information. Try to keep the
189
- number of bullet points in the range of 1-4.
233
+ number of bullet points (●) in the range of 1-4.
190
234
 
191
235
  - Focus on resolution approaches for *practically relevant* cases and do *not*
192
236
  investigate on theoretical or fictive cases. This is especially the case
@@ -208,39 +252,16 @@ permitted way to persist artifacts is via `task_save(...)`.
208
252
  side-by-side. Omit <optional-diagram/> entirely for simple or
209
253
  purely local situation.
210
254
 
211
- *Recommended* Tenets (generic):
212
-
213
- - **Surgical Changes**:
214
- Keep source code changes always as small as possible.
215
-
216
- - **Separation of Concerns**:
217
- Clearly separate all individual concerns as good as possible.
218
-
219
- - **Single Responsibility Principle**:
220
- Every module, class, or function should have only one reason to change.
221
-
222
- - **Behavior Preservation**:
223
- Refactoring changes only re-structure, never change any observable behavior.
224
-
225
- - **Align with Code Base**:
226
- Strictly align with the existing code base by exactly following its
227
- coding style, its structure, its naming conventions, etc.
228
-
229
- *Essential* Tenets (specific):
230
-
231
- - **No Cleanups**:
232
- Strictly focus on resolving the problem and do not mix this task
233
- with any other necessary code cleanups, except they are really
234
- necessary for resolving the task.
235
-
236
- 4. **Choose Problem Resolution Approach**:
255
+ 5. **Choose Problem Resolution Approach**:
237
256
 
238
257
  1. If <getopt-option-auto/> is equal `false`:
239
258
  Let the *user interactively choose* the preferred resolution
240
259
  approach A<n/> with the help of the <user-dialog-tool/> tool.
241
- Use the header `Select Approach` and *single-selection* only
242
- and provide small *code change previews*. Mark your recommended
243
- resolution approach with ` **RECOMMENDATION** ⚝` here again.
260
+ Use the header `Select Approach`, use `A<n/>: <short-summary/>`
261
+ for the option (where <short-summary/> is an ultra brief summary
262
+ of the approach A<n/>), and *single-selection* only and provide
263
+ small *code change previews*. Mark your recommended resolution
264
+ approach with ` ⚝ **RECOMMENDATION** ⚝` here again.
244
265
 
245
266
  2. If <getopt-option-auto/> is equal `true`:
246
267
  Set <n/> to the number of the resolution approach A<n/> you recommend.
@@ -250,7 +271,7 @@ permitted way to persist artifacts is via `task_save(...)`.
250
271
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
251
272
  </template>
252
273
 
253
- 5. **Compose Problem Resolution Plan**:
274
+ 6. **Compose Problem Resolution Plan**:
254
275
 
255
276
  1. *Compose a plan* with code references, a precise description of the
256
277
  problem, the chosen resolution approach, a preview of the *unified
@@ -284,58 +305,9 @@ permitted way to persist artifacts is via `task_save(...)`.
284
305
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan created**
285
306
  </template>
286
307
 
287
- 6. *Determine next step*:
288
-
289
- - If <getopt-option-next/> matches the regex `^(DONE|EDIT|PREFLIGHT|IMPLEMENT)$`:
290
- Honor the pre-selection what to do as the next step.
291
- Set <result><getopt-option-next/></result>.
292
-
293
- - If <getopt-option-next/> is equal to `none`:
294
- Let the *user interactively choose* what to do as the next step.
295
-
296
- <expand name="user-dialog">
297
- Next Step: How would you like to proceed with the plan?
298
- DONE: Stop processing.
299
- EDIT: Hand processing off to editing.
300
- PREFLIGHT: Hand processing off to preflighting.
301
- IMPLEMENT: Hand processing off to implementation.
302
- </expand>
303
-
304
- 7. Check the tool <result/> and dispatch accordingly:
305
-
306
- - If <result/> is `DONE` or `CANCEL`:
307
- Only output the following <template/> and then *STOP*.
308
-
309
- <template>
310
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **done**
311
- </template>
312
-
313
- - If <result/> is `EDIT`:
314
- Only output the following <template/> and then use the
315
- `Skill` tool to invoke the `ase:ase-task-edit` skill in
316
- order to edit the plan. Immediately stop processing the
317
- current skill once the `Skill` tool was used.
318
-
319
- <template>
320
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to edit**
321
- </template>
322
-
323
- - If <result/> is `PREFLIGHT`:
324
- Only output the following <template/> and then use the
325
- `Skill` tool to invoke the `ase:ase-task-preflight` skill in
326
- order to preflight the plan. Immediately stop processing the
327
- current skill once the `Skill` tool was used.
328
-
329
- <template>
330
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to preflight**
331
- </template>
332
-
333
- - If <result/> is `IMPLEMENT`:
334
- Only output the following <template/> and then use the
335
- `Skill` tool to invoke the `ase:ase-task-implement` skill in
336
- order to implement the plan. Immediately stop processing the
337
- current skill once the `Skill` tool was used.
338
-
339
- <template>
340
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to implement**
341
- </template>
308
+ 6. Directly pass-through control to the `ase:ase-task-edit` skill.
309
+ Set <args></args> (set args to empty). If <getopt-option-next/>
310
+ is not equal `none`, set <args><args/> --next
311
+ <getopt-option-next/></args> (append to args). Then call the
312
+ tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`.
313
+