@rse/ase 0.0.60 → 0.0.62
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/dst/ase-diagram.js +34 -41
- package/dst/ase-persona.js +2 -2
- package/dst/ase-statusline.js +2 -2
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/agents/ase-code-lint.md +6 -0
- package/plugin/etc/markdownlint.yaml +2 -0
- package/plugin/meta/ase-skill.md +80 -37
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-arch-analyze/SKILL.md +2 -2
- package/plugin/skills/ase-arch-discover/SKILL.md +4 -4
- package/plugin/skills/ase-code-analyze/SKILL.md +1 -1
- package/plugin/skills/ase-code-craft/SKILL.md +2 -2
- package/plugin/skills/ase-code-explain/SKILL.md +6 -6
- package/plugin/skills/ase-code-insight/SKILL.md +4 -4
- package/plugin/skills/ase-code-lint/SKILL.md +9 -9
- package/plugin/skills/ase-code-refactor/SKILL.md +2 -2
- package/plugin/skills/ase-code-resolve/SKILL.md +4 -4
- package/plugin/skills/ase-docs-proofread/SKILL.md +5 -5
- package/plugin/skills/ase-docs-proofread/help.md +1 -1
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +220 -0
- package/plugin/skills/ase-meta-brainstorm/help.md +51 -0
- package/plugin/skills/{ase-meta-changes → ase-meta-changelog}/SKILL.md +7 -7
- package/plugin/skills/{ase-meta-changes → ase-meta-changelog}/help.md +4 -4
- package/plugin/skills/ase-meta-commit/help.md +1 -1
- package/plugin/skills/ase-meta-diaboli/SKILL.md +3 -3
- package/plugin/skills/ase-meta-diff/SKILL.md +301 -0
- package/plugin/skills/ase-meta-diff/help.md +81 -0
- package/plugin/skills/ase-meta-evaluate/SKILL.md +9 -9
- package/plugin/skills/ase-meta-why/SKILL.md +3 -3
- package/plugin/skills/ase-task-edit/SKILL.md +2 -2
- package/plugin/skills/ase-task-grill/SKILL.md +2 -2
- package/plugin/skills/ase-task-view/SKILL.md +2 -2
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ase-meta-diff
|
|
3
|
+
argument-hint: "[--help|-h] [--risk|-r] [--blast|-b]"
|
|
4
|
+
description: >
|
|
5
|
+
Summarize the currently staged Git changes as a human-readable,
|
|
6
|
+
intent-grouped narrative. Use when the user wants a concise and
|
|
7
|
+
brief report of what changed and why. Optionally can show a risk and
|
|
8
|
+
blast radius report.
|
|
9
|
+
user-invocable: true
|
|
10
|
+
disable-model-invocation: false
|
|
11
|
+
effort: high
|
|
12
|
+
allowed-tools:
|
|
13
|
+
- "Bash(git diff *)"
|
|
14
|
+
- "Bash(git grep:*)"
|
|
15
|
+
- "Bash(git ls-files:*)"
|
|
16
|
+
- "Bash(grep:*)"
|
|
17
|
+
- "Agent"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
21
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
22
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
23
|
+
|
|
24
|
+
<skill name="ase-meta-diff">
|
|
25
|
+
Summarize Diff
|
|
26
|
+
</skill>
|
|
27
|
+
|
|
28
|
+
<expand name="getopt"
|
|
29
|
+
arg1="ase-meta-diff"
|
|
30
|
+
arg2="--risk|-r --blast|-b">
|
|
31
|
+
$ARGUMENTS
|
|
32
|
+
</expand>
|
|
33
|
+
|
|
34
|
+
<objective>
|
|
35
|
+
Summarize the currently staged Git changes into a *concise*,
|
|
36
|
+
*human-readable* narrative of what changed and why, *grouped by
|
|
37
|
+
intent* rather than by file. Optionally *score* the diff against a
|
|
38
|
+
*coupling-criticality-coverage- reversibility* rubric and emit a *graded
|
|
39
|
+
risk report* with *mitigations*. Optionally render a *blast-radius map*.
|
|
40
|
+
</objective>
|
|
41
|
+
|
|
42
|
+
Procedure
|
|
43
|
+
---------
|
|
44
|
+
|
|
45
|
+
You *MUST* follow the following numbered items *strictly* *sequentially*!
|
|
46
|
+
You *MUST* not skip any numbered item during processing!
|
|
47
|
+
|
|
48
|
+
You *MUST* *NOT* output anything in this entire procedure, *except* when
|
|
49
|
+
explicitly requested by this procedure via outputs based on a <template/>!
|
|
50
|
+
|
|
51
|
+
<flow>
|
|
52
|
+
|
|
53
|
+
1. <step id="STEP 1: Determine Change Set">
|
|
54
|
+
|
|
55
|
+
1. Determine the *diff details* by running the corresponding command
|
|
56
|
+
(taken exactly as given) and capturing the full diff output into
|
|
57
|
+
<diff/> for the subsequent analysis:
|
|
58
|
+
|
|
59
|
+
`git diff --cached HEAD`
|
|
60
|
+
|
|
61
|
+
2. Determine the *diff statistics* by running the corresponding command
|
|
62
|
+
(taken exactly as given) and capturing the full stat output into
|
|
63
|
+
<stat/> for the subsequent analysis:
|
|
64
|
+
|
|
65
|
+
`git diff --cached --numstat HEAD`
|
|
66
|
+
|
|
67
|
+
</step>
|
|
68
|
+
|
|
69
|
+
2. <step id="STEP 2: Summarize By Intent">
|
|
70
|
+
|
|
71
|
+
1. <if condition="<diff/> is empty">
|
|
72
|
+
Only output the following <template/> and then *STOP* immediately:
|
|
73
|
+
|
|
74
|
+
<template>
|
|
75
|
+
⧉ **ASE**: ✪ skill: **ase-meta-diff**, ▶ status: **no changes to summarize**
|
|
76
|
+
</template>
|
|
77
|
+
</if>
|
|
78
|
+
|
|
79
|
+
2. Analyze the <diff/> and <stat/> and synthesize a *concise* narrative of
|
|
80
|
+
WHAT changed and WHY, *grouped by intent* rather than by file.
|
|
81
|
+
Honor the following intents:
|
|
82
|
+
|
|
83
|
+
- `FEATURE`: new functionality or configuration
|
|
84
|
+
- `IMPROVEMENT`: improved functionality or configuration
|
|
85
|
+
- `BUGFIX`: corrected functionality or configuration
|
|
86
|
+
- `UPDATE`: updated functionality or configuration
|
|
87
|
+
- `CLEANUP`: cleaned up functionality or configuration
|
|
88
|
+
- `REFACTOR`: refactored functionality or configuration
|
|
89
|
+
|
|
90
|
+
3. <if condition="<diff/> is NOT empty">
|
|
91
|
+
1. First, output the following header <template/>:
|
|
92
|
+
|
|
93
|
+
<template>
|
|
94
|
+
|
|
95
|
+
<ase-tpl-bullet-normal/> **CHANGE INTENT REPORT**:
|
|
96
|
+
|
|
97
|
+
</template>
|
|
98
|
+
|
|
99
|
+
2. Render a *two-column table* with one row per discovered
|
|
100
|
+
*intent group* present in the <diff/>. Output the following
|
|
101
|
+
table header <template/>:
|
|
102
|
+
|
|
103
|
+
<template>
|
|
104
|
+
| Intent | Changes (LoC) | Files & Description |
|
|
105
|
+
| ------ | ------------- | ----------------------- |
|
|
106
|
+
</template>
|
|
107
|
+
|
|
108
|
+
3. For each discovered *intent group*, emit the following row
|
|
109
|
+
<template/>, where <intent/> is the intent label, <changes/>
|
|
110
|
+
is the total number of lines changes per feature in format
|
|
111
|
+
`+N/-M`, <files/> is the list of affected file references,
|
|
112
|
+
and <description/> is a *brief* one-to-two-sentence
|
|
113
|
+
narrative of what changed and why:
|
|
114
|
+
|
|
115
|
+
<template>
|
|
116
|
+
| **<intent/>** | <changes/> | <files/>: <description/> |
|
|
117
|
+
</template>
|
|
118
|
+
|
|
119
|
+
In the <files/> part of the second column, markup all file
|
|
120
|
+
references as code (with backticks), prepend them with `▢ `,
|
|
121
|
+
append ` [+N/-M]` (based on the information in <stat/>) to them,
|
|
122
|
+
and separate them with `, ` (a comma and space). Do *not* repeat
|
|
123
|
+
file references in the <description/>.
|
|
124
|
+
|
|
125
|
+
Keep the overall report *concise* and *brief*. Try to keep the
|
|
126
|
+
number of intent groups (table rows) in the range of 1-10. Do
|
|
127
|
+
*not* output any further explanation.
|
|
128
|
+
</if>
|
|
129
|
+
|
|
130
|
+
</step>
|
|
131
|
+
|
|
132
|
+
3. <step id="STEP 3: Score Against Risk Rubric (optional)">
|
|
133
|
+
|
|
134
|
+
1. <if condition="<getopt-option-risk/> is NOT equal `true`">
|
|
135
|
+
Silently *SKIP* this entire step.
|
|
136
|
+
</if>
|
|
137
|
+
|
|
138
|
+
2. <if condition="<diff/> is empty">
|
|
139
|
+
Silently *SKIP* this entire step (STEP 2 already reported it).
|
|
140
|
+
</if>
|
|
141
|
+
|
|
142
|
+
3. <if condition="<getopt-option-risk/> is equal `true` and <diff/> is NOT empty">
|
|
143
|
+
|
|
144
|
+
Score the *same* captured <diff/> and <stat/> information
|
|
145
|
+
against the four-axis rubric below. Each axis is scored on an
|
|
146
|
+
integer scale of *1* (lowest risk) to *5* (highest risk) against
|
|
147
|
+
the *fixed anchors* given, and *every* score *MUST* be backed
|
|
148
|
+
by a one-line <evidence/> grounded in the *actual* hunks or the
|
|
149
|
+
read-only repository probe.
|
|
150
|
+
|
|
151
|
+
Probe the repository *read-only* and *heuristically* (via `git
|
|
152
|
+
grep` / `grep` / `git ls-files`, restricted to first-party code)
|
|
153
|
+
only as needed to substantiate the *Coupling* and *Coverage*
|
|
154
|
+
axes (e.g. who imports a touched module, whether touched code has
|
|
155
|
+
adjacent tests). Do not output anything during the probe.
|
|
156
|
+
|
|
157
|
+
Score each axis against these anchors:
|
|
158
|
+
|
|
159
|
+
1. **COUPLING** — how widely the touched code is depended upon.
|
|
160
|
+
*1*: self-contained, no first-party importers.
|
|
161
|
+
*3*: a handful of dependent modules.
|
|
162
|
+
*5*: a hub touched by many modules or a public interface.
|
|
163
|
+
|
|
164
|
+
2. **CRITICALITY** — how essential the touched path is.
|
|
165
|
+
*1*: docs, comments, dead/peripheral code.
|
|
166
|
+
*3*: ordinary feature logic.
|
|
167
|
+
*5*: core/security/auth/data-integrity/money path.
|
|
168
|
+
|
|
169
|
+
3. **COVERAGE** — how well the change is exercised by tests.
|
|
170
|
+
*1*: tests touched in this diff or directly covering the
|
|
171
|
+
changed hunks.
|
|
172
|
+
*3*: adjacent tests exist but are not clearly exercising the
|
|
173
|
+
changed hunks.
|
|
174
|
+
*5*: no tests anywhere near the touched code.
|
|
175
|
+
|
|
176
|
+
4. **REVERSIBILITY** — how easily the change can be undone.
|
|
177
|
+
*1*: pure code change, revert restores prior state.
|
|
178
|
+
*3*: needs coordinated revert or a config rollback.
|
|
179
|
+
*5*: irreversible-by-revert (schema/data migration, released
|
|
180
|
+
artifact, external side effect).
|
|
181
|
+
|
|
182
|
+
Compute the *aggregate risk* as the *equal-weighted* mean of
|
|
183
|
+
the four risk contributions (Coupling, Criticality, Coverage,
|
|
184
|
+
Reversibility), rounded to one decimal, and map it to a *graded
|
|
185
|
+
band*: *1.0-1.9* → **LOW**, *2.0-2.9* → **MODERATE**, *3.0-3.9*
|
|
186
|
+
→ **HIGH**, *4.0-5.0* → **CRITICAL**.
|
|
187
|
+
|
|
188
|
+
Then emit the following <template/>, with the overall band and
|
|
189
|
+
aggregate score, followed by a *three-column table* with one row
|
|
190
|
+
per axis: column 1 is the *axis*, column 2 is the *score*, and
|
|
191
|
+
column 3 is the *evidence* (as a `●` bullet point) plus —
|
|
192
|
+
*only* if the axis reached the mitigation threshold of '>= 4' —
|
|
193
|
+
the *mitigation* (as a second `●` bullet point). If an axis did
|
|
194
|
+
not reach that threshold, omit the ` ● **MITIGATION**:
|
|
195
|
+
<mitigation/>` part from its row. Keep the overall <evidence/>
|
|
196
|
+
and <mitigation/> texts *concise* and *ultra brief*. Do *not*
|
|
197
|
+
output any further explanation.
|
|
198
|
+
|
|
199
|
+
In <evidence/> markup all file references as code (with
|
|
200
|
+
backticks), prepend them with `▢ ` and append ` [+N/-M]` (based
|
|
201
|
+
on the information in <stat/>) to them.
|
|
202
|
+
|
|
203
|
+
<template>
|
|
204
|
+
|
|
205
|
+
<ase-tpl-bullet-signal/> **CHANGE RISK REPORT**: Overall: **<band/>** (<aggregate/>/5)
|
|
206
|
+
|
|
207
|
+
| Axis | Score | Findings |
|
|
208
|
+
| ---- | ----- | -------- |
|
|
209
|
+
</template>
|
|
210
|
+
|
|
211
|
+
For each axis, emit the following row <template/>:
|
|
212
|
+
|
|
213
|
+
<template>
|
|
214
|
+
| **<axis/>** | <score/>/5 | ● **EVIDENCE**: <evidence/> ● **MITIGATION**: <mitigation/> |
|
|
215
|
+
</template>
|
|
216
|
+
|
|
217
|
+
Finally, output the following footer <template/>:
|
|
218
|
+
|
|
219
|
+
<template>
|
|
220
|
+
|
|
221
|
+
</template>
|
|
222
|
+
|
|
223
|
+
</if>
|
|
224
|
+
|
|
225
|
+
</step>
|
|
226
|
+
|
|
227
|
+
4. <step id="STEP 4: Render Blast-Radius Map (optional)">
|
|
228
|
+
|
|
229
|
+
1. <if condition="<getopt-option-blast/> is NOT equal `true`">
|
|
230
|
+
Silently *SKIP* this entire step.
|
|
231
|
+
</if>
|
|
232
|
+
|
|
233
|
+
2. <if condition="<diff/> is empty">
|
|
234
|
+
Silently *SKIP* this entire step (STEP 2 already reported it).
|
|
235
|
+
</if>
|
|
236
|
+
|
|
237
|
+
3. <if condition="<getopt-option-blast/> is equal `true` and <diff/> is NOT empty">
|
|
238
|
+
From the *same* captured <diff/> and <stat/>, *extract the
|
|
239
|
+
touched modules* — the distinct changed source files (or their
|
|
240
|
+
enclosing modules/ packages, according to the language idiom).
|
|
241
|
+
|
|
242
|
+
Then, for each touched module, *scan its reverse dependencies*
|
|
243
|
+
— the other first-party files that *import* or *reference* it
|
|
244
|
+
across the current project (e.g. by the module's basename,
|
|
245
|
+
exported symbol, or import path). Keep the scan *read-only*
|
|
246
|
+
and *heuristic*; restrict it to first-party code within the
|
|
247
|
+
repository. Do not output anything during the scan.
|
|
248
|
+
|
|
249
|
+
Then build a *blast-radius graph* and render it as a diagram:
|
|
250
|
+
|
|
251
|
+
1. Build a Mermaid specification <mermaid-spec/> for a `flowchart
|
|
252
|
+
TB` whose *touched* modules are the origin nodes and whose
|
|
253
|
+
*reverse-dependency* edges fan out to the dependent modules
|
|
254
|
+
(origin → dependent).
|
|
255
|
+
|
|
256
|
+
Flag each *touched* node as a problem node per the
|
|
257
|
+
`ase-meta-diagram` anomaly convention — prefix its label
|
|
258
|
+
with `⚑ ` inside quotes, e.g. `T1["⚑ src/core.ts"]`. Keep
|
|
259
|
+
labels ultra short (basenames or module names only).
|
|
260
|
+
|
|
261
|
+
2. Dispatch the rendering to the `ase-meta-diagram` sub-agent by
|
|
262
|
+
calling the tool `Agent(name: "ase:ase-meta-diagram",
|
|
263
|
+
description: "Diagram Rendering", subagent_type:
|
|
264
|
+
"ase:ase-meta-diagram", prompt: "<mermaid-spec/>")` and capture
|
|
265
|
+
its returned `text` field as <diagram/>.
|
|
266
|
+
|
|
267
|
+
Then emit the following <template/>, showing <diagram/> and
|
|
268
|
+
appending a *brief impact summary* of bullets, where each
|
|
269
|
+
<module/> is a *touched* module and <impact/> is a one-sentence
|
|
270
|
+
note on *what depends on it* and *how far the blast reaches*.
|
|
271
|
+
|
|
272
|
+
In <module/> and <impact/>, markup all file references as code
|
|
273
|
+
(with backticks), prepend them with `▢ ` and append ` [+N/-M]`
|
|
274
|
+
(based on the information in <stat/>) to them.
|
|
275
|
+
|
|
276
|
+
<template>
|
|
277
|
+
<ase-tpl-head title="Hello World"/>
|
|
278
|
+
|
|
279
|
+
<ase-tpl-bullet-signal/> **CHANGE BLAST RADIUS MAP**:
|
|
280
|
+
|
|
281
|
+
```text
|
|
282
|
+
<diagram/>
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
<ase-tpl-bullet-signal/> **BLAST**: ⚑ **<module/>**: <impact/>
|
|
286
|
+
|
|
287
|
+
<ase-tpl-bullet-signal/> **BLAST**: ⚑ **<module/>**: <impact/>
|
|
288
|
+
|
|
289
|
+
[...]
|
|
290
|
+
|
|
291
|
+
<ase-tpl-foot/>
|
|
292
|
+
</template>
|
|
293
|
+
|
|
294
|
+
Keep the overall report *concise* and *brief*. Do *not* output
|
|
295
|
+
any further explanation.
|
|
296
|
+
</if>
|
|
297
|
+
|
|
298
|
+
</step>
|
|
299
|
+
|
|
300
|
+
</flow>
|
|
301
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
|
|
2
|
+
## NAME
|
|
3
|
+
|
|
4
|
+
`ase-meta-diff` - Summarize Diff
|
|
5
|
+
|
|
6
|
+
## SYNOPSIS
|
|
7
|
+
|
|
8
|
+
`ase-meta-diff`
|
|
9
|
+
[`--help`|`-h`]
|
|
10
|
+
[`--risk`|`-r`]
|
|
11
|
+
[`--blast`|`-b`]
|
|
12
|
+
|
|
13
|
+
## DESCRIPTION
|
|
14
|
+
|
|
15
|
+
The `ase-meta-diff` skill turns a raw Git diff into a *concise*,
|
|
16
|
+
*human-readable* narrative of what changed and why, *grouped by
|
|
17
|
+
intent* (such as *Feature*, *Improvement*, *Bugfix*, *Update*,
|
|
18
|
+
*Cleanup*, or *Refactor*) rather than by file. It inspects the
|
|
19
|
+
*staged* changes (`git diff --cached HEAD`). The result is a short
|
|
20
|
+
bullet list, one bullet per intent group, each naming the affected
|
|
21
|
+
files with their per-file `[+N/-M]` line counts — giving you the
|
|
22
|
+
essence of the changes at a glance.
|
|
23
|
+
|
|
24
|
+
With `--risk`, the skill additionally *scores* the same diff against a
|
|
25
|
+
four-axis **coupling-criticality-coverage-reversibility** rubric and
|
|
26
|
+
emits a *graded risk report* — one bullet per axis (each scored *1*-*5*
|
|
27
|
+
with a one-line evidence justification drawn from the actual hunks), an
|
|
28
|
+
overall risk band (**LOW**, **MODERATE**, **HIGH**, or **CRITICAL**),
|
|
29
|
+
and one actionable *mitigation* per high-risk axis. The axes combine
|
|
30
|
+
with *equal weights*, and the rubric is deliberately *not tuned* to any
|
|
31
|
+
specific project: every score is backed by cited evidence so it remains
|
|
32
|
+
*overridable*, and the report is *decision support*, not a merge gate.
|
|
33
|
+
|
|
34
|
+
With `--blast`, the skill additionally renders a *blast-radius map* — a
|
|
35
|
+
Mermaid `flowchart` of the *touched modules* and their *reverse
|
|
36
|
+
dependencies*, plus a *brief impact summary*. It *extracts the touched
|
|
37
|
+
modules* from the changed files, *scans the repository* for the
|
|
38
|
+
first-party code that *imports* or *references* those modules, builds a
|
|
39
|
+
blast-radius graph (touched modules as origin nodes, dependents fanning
|
|
40
|
+
out along the edges), dispatches the rendering to the `ase-meta-diagram`
|
|
41
|
+
sub-agent, and appends a short bullet list of the per-module impact —
|
|
42
|
+
giving a visual sense of *what a diff endangers* before a deeper review.
|
|
43
|
+
|
|
44
|
+
## ARGUMENTS
|
|
45
|
+
|
|
46
|
+
`--risk`, `-r`:
|
|
47
|
+
In addition to the intent-grouped summary, score the diff against
|
|
48
|
+
the *coupling-criticality-coverage-reversibility* rubric and emit a
|
|
49
|
+
*graded risk report* with an overall risk band and per-axis
|
|
50
|
+
*mitigations*. Scores are equal-weighted, evidence-backed, and
|
|
51
|
+
deliberately untuned to the project.
|
|
52
|
+
|
|
53
|
+
`--blast`, `-b`:
|
|
54
|
+
In addition to the intent-grouped summary, render a *blast-radius
|
|
55
|
+
map* — a Mermaid `flowchart` of the *touched modules* and their
|
|
56
|
+
*reverse dependencies* — plus a *brief impact summary* of what
|
|
57
|
+
depends on the touched code and how far the blast reaches.
|
|
58
|
+
|
|
59
|
+
## EXAMPLES
|
|
60
|
+
|
|
61
|
+
Summarize the currently staged changes:
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
❯ /ase-meta-diff
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Summarize the staged changes and append a graded risk report:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
❯ /ase-meta-diff --risk
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Summarize the staged changes and append a blast-radius map:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
❯ /ase-meta-diff --blast
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## SEE ALSO
|
|
80
|
+
|
|
81
|
+
`ase-meta-commit`, `ase-meta-changelog`, `ase-arch-analyze`.
|
|
@@ -33,7 +33,7 @@ multi-*criteria* decision matrix.
|
|
|
33
33
|
and do not output anything else:
|
|
34
34
|
|
|
35
35
|
<template>
|
|
36
|
-
|
|
36
|
+
<ase-tpl-bullet-secondary/> **REASON**: *<reason/>*
|
|
37
37
|
</template>
|
|
38
38
|
</step>
|
|
39
39
|
|
|
@@ -47,7 +47,7 @@ multi-*criteria* decision matrix.
|
|
|
47
47
|
executing any further steps:
|
|
48
48
|
|
|
49
49
|
<template>
|
|
50
|
-
|
|
50
|
+
<ase-tpl-bullet-signal/> **ERROR: INSUFFICIENT ALTERNATIVES**: at least two are required for a comparison!
|
|
51
51
|
</template>
|
|
52
52
|
|
|
53
53
|
- For each alternative <alternative-K/> (K=1-N), decide whether
|
|
@@ -82,7 +82,7 @@ multi-*criteria* decision matrix.
|
|
|
82
82
|
executing any further steps:
|
|
83
83
|
|
|
84
84
|
<template>
|
|
85
|
-
|
|
85
|
+
<ase-tpl-bullet-signal/> **ERROR: INCOMPARABLE ALTERNATIVES**: *<class-of-alternatives/>*
|
|
86
86
|
|
|
87
87
|
<for items="<alternative-J/> [...]">
|
|
88
88
|
⚑ **<item/>** (*member of a different class*)
|
|
@@ -94,7 +94,7 @@ multi-*criteria* decision matrix.
|
|
|
94
94
|
anything else:
|
|
95
95
|
|
|
96
96
|
<template>
|
|
97
|
-
|
|
97
|
+
<ase-tpl-bullet-normal/> **ALTERNATIVES**: *<class-of-alternatives/>*
|
|
98
98
|
|
|
99
99
|
| ⚑ *Alternative* | ⚖ *Hint* |
|
|
100
100
|
| :--------------------- | :-------- |
|
|
@@ -161,7 +161,7 @@ multi-*criteria* decision matrix.
|
|
|
161
161
|
alternative* <alternative-K/> (K=1-N).
|
|
162
162
|
|
|
163
163
|
<template>
|
|
164
|
-
|
|
164
|
+
<ase-tpl-bullet-normal/> **EVALUATION**: *Weighted Multi-Criteria Decision Matrix*
|
|
165
165
|
|
|
166
166
|
| ⦿ *Criteria* | ⚖ *Weight* | ⚑ **<alternative-1/>** | [...alternatives 2-(N-1)...] | ⚑ **<alternative-N/>** |
|
|
167
167
|
| :------------ | ----------: | ---------------------: | ---------------------------: | ---------------------: |
|
|
@@ -217,7 +217,7 @@ multi-*criteria* decision matrix.
|
|
|
217
217
|
else:
|
|
218
218
|
|
|
219
219
|
<template>
|
|
220
|
-
|
|
220
|
+
<ase-tpl-bullet-signal/> **ERROR**: ✘ *MULTIPLE BEST ALTERNATIVES FOUND*,
|
|
221
221
|
⚠ *Please give some hints on the criteria to ensure a single best alternative!*
|
|
222
222
|
</template>
|
|
223
223
|
|
|
@@ -226,7 +226,7 @@ multi-*criteria* decision matrix.
|
|
|
226
226
|
else:
|
|
227
227
|
|
|
228
228
|
<template>
|
|
229
|
-
|
|
229
|
+
<ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
|
|
230
230
|
⚠ *ATTENTION: small distance to second best alternative!*
|
|
231
231
|
</template>
|
|
232
232
|
|
|
@@ -236,7 +236,7 @@ multi-*criteria* decision matrix.
|
|
|
236
236
|
output anything else:
|
|
237
237
|
|
|
238
238
|
<template>
|
|
239
|
-
|
|
239
|
+
<ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
|
|
240
240
|
⚠ *ATTENTION: all alternatives rate negatively; this is the least-bad choice, not a strong winner!*
|
|
241
241
|
</template>
|
|
242
242
|
|
|
@@ -244,7 +244,7 @@ multi-*criteria* decision matrix.
|
|
|
244
244
|
just the following <template/> and do not output anything else:
|
|
245
245
|
|
|
246
246
|
<template>
|
|
247
|
-
|
|
247
|
+
<ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
|
|
248
248
|
</template>
|
|
249
249
|
</step>
|
|
250
250
|
</flow>
|
|
@@ -31,7 +31,7 @@ addressing surface-level symptoms.
|
|
|
31
31
|
State the problem statement.
|
|
32
32
|
|
|
33
33
|
<template>
|
|
34
|
-
|
|
34
|
+
<ase-tpl-bullet-signal/> **PROBLEM**: <problem/>
|
|
35
35
|
</template>
|
|
36
36
|
</step>
|
|
37
37
|
|
|
@@ -46,7 +46,7 @@ addressing surface-level symptoms.
|
|
|
46
46
|
Consider technical, domain-specific, process-related, or organizational causes.
|
|
47
47
|
|
|
48
48
|
<template>
|
|
49
|
-
|
|
49
|
+
<ase-tpl-bullet-secondary/> **WHY <item/>**: <answer/>
|
|
50
50
|
</template>
|
|
51
51
|
|
|
52
52
|
Then, for the next iteration set <question/> now to be the last <answer/>.
|
|
@@ -61,7 +61,7 @@ addressing surface-level symptoms.
|
|
|
61
61
|
For the proposed solution, optionally directly propose corresponding source code changes.
|
|
62
62
|
|
|
63
63
|
<template>
|
|
64
|
-
|
|
64
|
+
<ase-tpl-bullet-signal/> **SOLUTION**: <solution/>
|
|
65
65
|
</template>
|
|
66
66
|
</step>
|
|
67
67
|
</flow>
|
|
@@ -326,9 +326,9 @@ Set <content-dirty>true</content-dirty>.
|
|
|
326
326
|
Use the following <template/>:
|
|
327
327
|
|
|
328
328
|
<template>
|
|
329
|
-
|
|
329
|
+
<ase-tpl-head title="TASK-PLAN"/>
|
|
330
330
|
<content/>
|
|
331
|
-
|
|
331
|
+
<ase-tpl-foot title="TASK-PLAN"/>
|
|
332
332
|
</template>
|
|
333
333
|
|
|
334
334
|
4. *Determine next step*:
|
|
@@ -143,7 +143,7 @@ Procedure
|
|
|
143
143
|
1. Output the following <template/>:
|
|
144
144
|
|
|
145
145
|
<template>
|
|
146
|
-
|
|
146
|
+
<ase-tpl-bullet-signal/> ASPECT <N/>/<n/>: **<aspect-N/>**, QUESTION: **<question-N/>**
|
|
147
147
|
</template>
|
|
148
148
|
|
|
149
149
|
2. Determine the answer alternatives:
|
|
@@ -164,7 +164,7 @@ Procedure
|
|
|
164
164
|
4. Output the following <template/>:
|
|
165
165
|
|
|
166
166
|
<template>
|
|
167
|
-
|
|
167
|
+
<ase-tpl-bullet-normal/> ASPECT <N/>/<n/>: **<aspect-N/>**, ANSWER: **<answer-N/>**
|
|
168
168
|
</template>
|
|
169
169
|
|
|
170
170
|
3. Finally, update the in <plan/> based on all answers <answer-N/>.
|
|
@@ -82,9 +82,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
82
82
|
<content/> here.
|
|
83
83
|
|
|
84
84
|
<template>
|
|
85
|
-
|
|
85
|
+
<ase-tpl-head title="TASK-PLAN"/>
|
|
86
86
|
<content/>
|
|
87
|
-
|
|
87
|
+
<ase-tpl-foot title="TASK-PLAN"/>
|
|
88
88
|
</template>
|
|
89
89
|
</if>
|
|
90
90
|
|