@rse/ase 2.0.2 → 2.0.4
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-agent-definition-core.js +111 -87
- package/dst/ase-agent-fleet.js +1 -1
- package/dst/ase-agent-runtime-claim.js +5 -3
- package/dst/ase-agent-runtime-engine.js +1 -1
- package/dst/ase-agent-runtime-phase.js +1 -1
- package/dst/ase-agent-runtime-request.js +1 -1
- package/dst/ase-agent-runtime.js +3 -5
- package/dst/ase-artifact.js +3 -3
- package/dst/ase-config-core.js +2 -16
- package/dst/ase-config-schema.js +1 -3
- package/dst/ase-config.js +2 -0
- package/dst/ase-hook.js +13 -13
- package/dst/ase-lib-daemon-cli.js +117 -4
- package/dst/ase-lib-server-cli.js +4 -5
- package/dst/ase-lib-version.js +14 -5
- package/dst/ase-man-catalog.js +229 -0
- package/dst/ase-man-render.js +278 -0
- package/dst/ase-man-tui.js +636 -0
- package/dst/ase-man.js +33 -27
- package/dst/ase-mcp.js +4 -4
- package/dst/ase-service-getopt.js +2 -2
- package/dst/ase-service-otel.js +4 -4
- package/dst/ase-service-skills.js +5 -15
- package/dst/ase-service.js +87 -210
- package/dst/ase-setup-common.js +1 -2
- package/dst/ase-setup-settings.js +6 -9
- package/dst/ase-setup.js +4 -5
- package/dst/ase-spec.js +103 -20
- package/dst/ase-statusline.js +170 -170
- package/dst/ase-task-board-filter.js +5 -4
- package/dst/ase-task-board-flow.js +7 -6
- package/dst/ase-task-board-graph.js +5 -4
- package/dst/ase-task-board-tui-control.js +41 -35
- package/dst/ase-task-board-tui-model.js +185 -167
- package/dst/ase-task-board-tui-popup.js +2 -3
- package/dst/ase-task-board-tui-view.js +74 -70
- package/dst/ase-task-board-web-client.js +27 -27
- package/dst/ase-task-board-web-server.js +2 -2
- package/dst/ase-task-board.js +1 -1
- package/dst/ase-task-format.js +1 -1
- package/dst/ase-task-store-client.js +17 -5
- package/dst/ase-task-store-core.js +5 -7
- package/dst/ase-task-store-issues.js +16 -1
- package/dst/ase-task-store-plugin-ase.js +7 -3
- package/dst/ase-task-store-plugin-gitea.js +9 -32
- package/dst/ase-task-store-plugin-github.js +3 -12
- package/dst/ase-task-store-plugin-gitlab.js +2 -18
- package/dst/ase-task.js +51 -23
- package/dst/ase-util-compat.js +1 -1
- package/dst/ase-util-diagram.js +13 -37
- package/dst/ase.js +5 -5
- package/dst/man/ase-agent-adhoc.md +1165 -0
- package/dst/man/ase-agent-condenser.md +383 -0
- package/dst/man/ase-agent-editor.md +441 -0
- package/dst/man/ase-agent-estimator.md +477 -0
- package/dst/man/ase-agent-fleet.md +358 -0
- package/dst/man/ase-agent-implementer.md +521 -0
- package/dst/man/ase-agent-integrator.md +449 -0
- package/dst/man/ase-agent-qualifier.md +426 -0
- package/dst/man/ase-agent-rebooter.md +384 -0
- package/dst/man/ase-agent-relay.md +262 -0
- package/dst/man/ase-agent-researcher.md +478 -0
- package/dst/man/ase-agent.md +628 -0
- package/dst/man/ase-artifact-list.md +57 -0
- package/dst/man/ase-artifact-name.md +56 -0
- package/dst/man/ase-artifact.md +92 -0
- package/dst/man/ase-config-delete.md +74 -0
- package/dst/man/ase-config-edit.md +83 -0
- package/dst/man/ase-config-get.md +70 -0
- package/dst/man/ase-config-init.md +110 -0
- package/dst/man/ase-config-list.md +68 -0
- package/dst/man/ase-config-set.md +92 -0
- package/dst/man/ase-config.md +426 -0
- package/dst/man/ase-hook-permission-request.md +61 -0
- package/dst/man/ase-hook-pre-tool-use.md +96 -0
- package/dst/man/ase-hook-session-end.md +71 -0
- package/dst/man/ase-hook-session-persona.md +65 -0
- package/dst/man/ase-hook-session-start.md +184 -0
- package/dst/man/ase-hook-stop.md +52 -0
- package/dst/man/ase-hook-user-prompt-submit.md +54 -0
- package/dst/man/ase-hook.md +93 -0
- package/dst/man/ase-man.md +195 -0
- package/dst/man/ase-mcp.md +102 -0
- package/dst/man/ase-service-log.md +59 -0
- package/dst/man/ase-service-send.md +60 -0
- package/dst/man/ase-service-start.md +93 -0
- package/dst/man/ase-service-status.md +58 -0
- package/dst/man/ase-service-stop.md +52 -0
- package/dst/man/ase-service.md +124 -0
- package/dst/man/ase-setup-disable.md +67 -0
- package/dst/man/ase-setup-enable.md +66 -0
- package/dst/man/ase-setup-install.md +116 -0
- package/dst/man/ase-setup-mcp.md +213 -0
- package/dst/man/ase-setup-status.md +101 -0
- package/dst/man/ase-setup-statusline.md +162 -0
- package/dst/man/ase-setup-telemetry.md +166 -0
- package/dst/man/ase-setup-uninstall.md +85 -0
- package/dst/man/ase-setup-update.md +117 -0
- package/dst/man/ase-setup.md +156 -0
- package/dst/man/ase-spec-export.md +99 -0
- package/dst/man/ase-spec-init.md +57 -0
- package/dst/man/ase-spec-lint.md +74 -0
- package/dst/man/ase-spec-preview.md +57 -0
- package/dst/man/ase-spec.md +85 -0
- package/dst/man/ase-statusline.md +330 -0
- package/dst/man/ase-task-assign.md +138 -0
- package/dst/man/ase-task-board.md +651 -0
- package/dst/man/ase-task-delete.md +46 -0
- package/dst/man/ase-task-edit.md +73 -0
- package/dst/man/ase-task-idscheme.md +92 -0
- package/dst/man/ase-task-lifecycle.md +92 -0
- package/dst/man/ase-task-list.md +86 -0
- package/dst/man/ase-task-load.md +48 -0
- package/dst/man/ase-task-newid.md +100 -0
- package/dst/man/ase-task-purge.md +49 -0
- package/dst/man/ase-task-rename.md +69 -0
- package/dst/man/ase-task-request.md +108 -0
- package/dst/man/ase-task-save.md +78 -0
- package/dst/man/ase-task-status.md +79 -0
- package/dst/man/ase-task-store.md +377 -0
- package/dst/man/ase-task-view.md +50 -0
- package/dst/man/ase-task.md +335 -0
- package/dst/man/ase-util-compat.md +38 -0
- package/dst/man/ase-util-diagram.md +140 -0
- package/dst/man/ase-util-meta.md +68 -0
- package/dst/man/ase-util-metric.md +74 -0
- package/dst/man/ase-util-mint.md +85 -0
- package/dst/man/ase-util-worktree.md +109 -0
- package/dst/man/ase-util.md +81 -0
- package/dst/man/ase.md +228 -0
- package/package.json +12 -17
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/agents/ase-code-lint.md +3 -3
- package/plugin/agents/ase-docs-proofread.md +3 -3
- package/plugin/agents/ase-docs-refine.md +3 -3
- package/plugin/agents/ase-spec-lint.md +338 -0
- package/plugin/meta/ase-skill.md +7 -0
- package/plugin/mods/ase-mods.ts +10 -7
- package/plugin/mods/claude-code.d.ts +26 -3
- package/plugin/skills/ase-code-analyze/SKILL.md +18 -10
- package/plugin/skills/ase-code-analyze/help.md +11 -6
- package/plugin/skills/ase-code-lint/SKILL.md +37 -23
- package/plugin/skills/ase-code-lint/help.md +10 -5
- package/plugin/skills/ase-help-intent/data.md +204 -13
- package/plugin/skills/ase-help-skill/catalog.md +1 -0
- package/plugin/skills/ase-meta-workflow/workflow.txt +2 -0
- package/plugin/skills/ase-repo-commit/SKILL.md +1 -0
- package/plugin/skills/ase-repo-merge/SKILL.md +1 -0
- package/plugin/skills/ase-repo-review/SKILL.md +5 -3
- package/plugin/skills/ase-repo-review/help.md +3 -1
- package/plugin/skills/ase-spec-edit/SKILL.md +3 -3
- package/plugin/skills/ase-spec-edit/help.md +1 -1
- package/plugin/skills/ase-spec-lint/SKILL.md +695 -0
- package/plugin/skills/ase-spec-lint/help.md +171 -0
- package/plugin/skills/ase-task-implement/SKILL.md +24 -6
- package/plugin/skills/ase-task-implement/help.md +11 -1
- package/dst/man/ase-agent-adhoc.1 +0 -515
- package/dst/man/ase-agent-condenser.1 +0 -193
- package/dst/man/ase-agent-editor.1 +0 -212
- package/dst/man/ase-agent-estimator.1 +0 -214
- package/dst/man/ase-agent-fleet.1 +0 -185
- package/dst/man/ase-agent-implementer.1 +0 -233
- package/dst/man/ase-agent-integrator.1 +0 -213
- package/dst/man/ase-agent-qualifier.1 +0 -214
- package/dst/man/ase-agent-rebooter.1 +0 -193
- package/dst/man/ase-agent-relay.1 +0 -128
- package/dst/man/ase-agent-researcher.1 +0 -217
- package/dst/man/ase-agent.1 +0 -264
- package/dst/man/ase-artifact-list.1 +0 -38
- package/dst/man/ase-artifact-name.1 +0 -39
- package/dst/man/ase-artifact.1 +0 -56
- package/dst/man/ase-config-delete.1 +0 -45
- package/dst/man/ase-config-edit.1 +0 -48
- package/dst/man/ase-config-get.1 +0 -46
- package/dst/man/ase-config-init.1 +0 -60
- package/dst/man/ase-config-list.1 +0 -42
- package/dst/man/ase-config-set.1 +0 -52
- package/dst/man/ase-config.1 +0 -231
- package/dst/man/ase-hook-permission-request.1 +0 -36
- package/dst/man/ase-hook-pre-tool-use.1 +0 -59
- package/dst/man/ase-hook-session-end.1 +0 -47
- package/dst/man/ase-hook-session-persona.1 +0 -37
- package/dst/man/ase-hook-session-start.1 +0 -81
- package/dst/man/ase-hook-stop.1 +0 -34
- package/dst/man/ase-hook-user-prompt-submit.1 +0 -34
- package/dst/man/ase-hook.1 +0 -51
- package/dst/man/ase-man.1 +0 -67
- package/dst/man/ase-mcp.1 +0 -61
- package/dst/man/ase-service-log.1 +0 -43
- package/dst/man/ase-service-send.1 +0 -47
- package/dst/man/ase-service-start.1 +0 -54
- package/dst/man/ase-service-status.1 +0 -46
- package/dst/man/ase-service-stop.1 +0 -37
- package/dst/man/ase-service.1 +0 -85
- package/dst/man/ase-setup-disable.1 +0 -44
- package/dst/man/ase-setup-enable.1 +0 -45
- package/dst/man/ase-setup-install.1 +0 -73
- package/dst/man/ase-setup-mcp.1 +0 -124
- package/dst/man/ase-setup-status.1 +0 -60
- package/dst/man/ase-setup-statusline.1 +0 -92
- package/dst/man/ase-setup-telemetry.1 +0 -92
- package/dst/man/ase-setup-uninstall.1 +0 -59
- package/dst/man/ase-setup-update.1 +0 -64
- package/dst/man/ase-setup.1 +0 -93
- package/dst/man/ase-spec-export.1 +0 -62
- package/dst/man/ase-spec-lint.1 +0 -40
- package/dst/man/ase-spec-preview.1 +0 -40
- package/dst/man/ase-spec.1 +0 -46
- package/dst/man/ase-statusline.1 +0 -189
- package/dst/man/ase-task-assign.1 +0 -71
- package/dst/man/ase-task-board.1 +0 -384
- package/dst/man/ase-task-delete.1 +0 -35
- package/dst/man/ase-task-edit.1 +0 -46
- package/dst/man/ase-task-idscheme.1 +0 -65
- package/dst/man/ase-task-lifecycle.1 +0 -57
- package/dst/man/ase-task-list.1 +0 -47
- package/dst/man/ase-task-load.1 +0 -36
- package/dst/man/ase-task-newid.1 +0 -61
- package/dst/man/ase-task-purge.1 +0 -37
- package/dst/man/ase-task-rename.1 +0 -44
- package/dst/man/ase-task-request.1 +0 -61
- package/dst/man/ase-task-save.1 +0 -48
- package/dst/man/ase-task-status.1 +0 -55
- package/dst/man/ase-task-store.1 +0 -194
- package/dst/man/ase-task-view.1 +0 -40
- package/dst/man/ase-task.1 +0 -160
- package/dst/man/ase-util-compat.1 +0 -25
- package/dst/man/ase-util-diagram.1 +0 -76
- package/dst/man/ase-util-meta.1 +0 -45
- package/dst/man/ase-util-metric.1 +0 -54
- package/dst/man/ase-util-mint.1 +0 -59
- package/dst/man/ase-util-worktree.1 +0 -72
- package/dst/man/ase-util.1 +0 -50
- package/dst/man/ase.1 +0 -124
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-code-lint
|
|
3
|
-
argument-hint: "[--help|-h] [--auto|-a] [--severity|-S=(LOW|MEDIUM|HIGH)] [--include|-i=<aspect>[,...]] [--exclude|-e=<aspect>[,...]] [--staged] [--unstaged] [<source-reference>]"
|
|
3
|
+
argument-hint: "[--help|-h] [--auto|-a] [--severity|-S=(AUTO|LOW|MEDIUM|HIGH)] [--include|-i=<aspect>[,...]] [--exclude|-e=<aspect>[,...]] [--staged] [--unstaged] [<source-reference>]"
|
|
4
4
|
description: >
|
|
5
5
|
Lint source code for potential code quality problems.
|
|
6
6
|
Use when the user wants to "lint" or "check" source code.
|
|
@@ -23,7 +23,7 @@ Lint Source Code
|
|
|
23
23
|
|
|
24
24
|
<expand name="getopt"
|
|
25
25
|
arg1="ase-code-lint"
|
|
26
|
-
arg2="--auto|-a --severity|-S=(LOW|MEDIUM|HIGH) --include|-i=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --exclude|-e=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --staged --unstaged">
|
|
26
|
+
arg2="--auto|-a --severity|-S=(AUTO|LOW|MEDIUM|HIGH) --include|-i=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --exclude|-e=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --staged --unstaged">
|
|
27
27
|
$ARGUMENTS
|
|
28
28
|
</expand>
|
|
29
29
|
|
|
@@ -36,10 +36,11 @@ related to a set of code quality aspects.
|
|
|
36
36
|
|
|
37
37
|
1. <step id="STEP 1: Investigation">
|
|
38
38
|
|
|
39
|
-
<if condition="<ase-project-boxing/> is equal `black`">
|
|
39
|
+
<if condition="<ase-project-boxing/> is equal `black` and <getopt-option-severity/> is equal `AUTO`">
|
|
40
40
|
|
|
41
41
|
The project source artifacts are classified as a *black box*, so
|
|
42
|
-
the user does *not* want them inspected or their problems surfaced
|
|
42
|
+
the user does *not* want them inspected or their problems surfaced
|
|
43
|
+
(an *explicitly* given severity floor lifts this skip).
|
|
43
44
|
*Skip* the entire investigation and reporting: do *not* invoke any
|
|
44
45
|
`Bash`, `Glob`, or `Agent` tool and do *not* read any source, only
|
|
45
46
|
output the following <template/> and then *SKIP* the remaining steps
|
|
@@ -51,6 +52,11 @@ related to a set of code quality aspects.
|
|
|
51
52
|
|
|
52
53
|
</if>
|
|
53
54
|
|
|
55
|
+
Set <condensed>true</condensed> if <ase-project-boxing/> is equal
|
|
56
|
+
`grey` or `black` (the latter reached only under an explicitly given
|
|
57
|
+
severity floor), and <condensed>false</condensed> otherwise: a
|
|
58
|
+
*condensed* report suppresses the full unified diffs of STEP 3.
|
|
59
|
+
|
|
54
60
|
First, determine the *effective aspect set* <aspects/>, i.e., the
|
|
55
61
|
code quality aspects which are checked at all. For this, parse
|
|
56
62
|
<getopt-option-include/> and <getopt-option-exclude/> as
|
|
@@ -179,16 +185,23 @@ related to a set of code quality aspects.
|
|
|
179
185
|
`line`, and set <problems/> to that list.
|
|
180
186
|
|
|
181
187
|
Then determine the *effective severity floor* <floor/>: define the
|
|
182
|
-
ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3
|
|
183
|
-
|
|
184
|
-
<
|
|
185
|
-
|
|
186
|
-
surfaces only *material* findings of severity `MEDIUM`
|
|
188
|
+
ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3.
|
|
189
|
+
|
|
190
|
+
<if condition="<getopt-option-severity/> is equal `AUTO`">
|
|
191
|
+
Set <floor>MEDIUM</floor> if <ase-project-boxing/> is equal `grey`
|
|
192
|
+
(grey boxing surfaces only *material* findings of severity `MEDIUM`
|
|
193
|
+
and above), and <floor>LOW</floor> otherwise.
|
|
194
|
+
</if>
|
|
195
|
+
<else>
|
|
196
|
+
Set <floor><getopt-option-severity/></floor>: an *explicitly* given
|
|
197
|
+
severity floor always *wins* over the boxing, both over the `grey`
|
|
198
|
+
floor and over the `black` skip.
|
|
199
|
+
</else>
|
|
187
200
|
|
|
188
201
|
Then *apply the effective severity floor* <floor/>: *Keep* a problem
|
|
189
202
|
in <problems/> if and only if its `severity` field is `ACCEPTED` *or*
|
|
190
203
|
`rank(severity)` is greater than or equal to `rank(<floor/>)`;
|
|
191
|
-
*silently drop* all other problems. With the
|
|
204
|
+
*silently drop* all other problems. With the floor `LOW`, all
|
|
192
205
|
problems are kept. `ACCEPTED` problems are *never* dropped.
|
|
193
206
|
|
|
194
207
|
Finally, sort the surviving problems in <problems/> by their
|
|
@@ -270,7 +283,7 @@ related to a set of code quality aspects.
|
|
|
270
283
|
1. Set <file/> to the `file` field of <item/>.
|
|
271
284
|
Set <change-hunks/> to the `change-hunks` field of <item/>.
|
|
272
285
|
|
|
273
|
-
Unless <
|
|
286
|
+
Unless <condensed/> is equal `true` (where the
|
|
274
287
|
full unified diff is suppressed and no context lines are
|
|
275
288
|
rendered at all), *silently* read the current content of
|
|
276
289
|
<file/> with the `Read` tool - reusing the content read
|
|
@@ -284,7 +297,7 @@ related to a set of code quality aspects.
|
|
|
284
297
|
context lines of substep 2 below, so the rendered diff
|
|
285
298
|
shows real context even when a sub-agent supplied none.
|
|
286
299
|
|
|
287
|
-
Unless <
|
|
300
|
+
Unless <condensed/> is equal `true` (where the
|
|
288
301
|
full unified diff is suppressed and this per-file header is
|
|
289
302
|
unused), set <diff-file/> to the following <template/>:
|
|
290
303
|
|
|
@@ -328,8 +341,8 @@ related to a set of code quality aspects.
|
|
|
328
341
|
Keep the sub-agent supplied values only when
|
|
329
342
|
<file-lines/> is empty.
|
|
330
343
|
|
|
331
|
-
2. *Skip* this substep entirely when <
|
|
332
|
-
is equal `
|
|
344
|
+
2. *Skip* this substep entirely when <condensed/>
|
|
345
|
+
is equal `true` - the full unified diff is suppressed
|
|
333
346
|
there, so none of the <hunk-body/>, <old-count/>,
|
|
334
347
|
<new-count/>, <old-start/>, or <new-start/> values
|
|
335
348
|
below are consumed (substep 4 builds only the condensed
|
|
@@ -384,10 +397,10 @@ related to a set of code quality aspects.
|
|
|
384
397
|
|
|
385
398
|
<template>`<file/>`:<line/></template>
|
|
386
399
|
|
|
387
|
-
4. <if condition="<
|
|
400
|
+
4. <if condition="<condensed/> is equal `true`">
|
|
388
401
|
|
|
389
|
-
The full unified diff is *suppressed*
|
|
390
|
-
(see substep 5 below), so *skip* the full-diff append
|
|
402
|
+
The full unified diff is *suppressed* in a condensed
|
|
403
|
+
report (see substep 5 below), so *skip* the full-diff append
|
|
391
404
|
and instead build only a *condensed* one-line
|
|
392
405
|
representation of this hunk: determine <old-snippet/>
|
|
393
406
|
as the *single-line* collapse of <old-text/> (join its
|
|
@@ -417,7 +430,7 @@ related to a set of code quality aspects.
|
|
|
417
430
|
|
|
418
431
|
</for>
|
|
419
432
|
|
|
420
|
-
3. Unless <
|
|
433
|
+
3. Unless <condensed/> is equal `true` (where
|
|
421
434
|
<diff-file/> is unused), append <diff-file/> to <diff/>.
|
|
422
435
|
|
|
423
436
|
</for>
|
|
@@ -433,10 +446,11 @@ related to a set of code quality aspects.
|
|
|
433
446
|
|
|
434
447
|
5. <if condition="<getopt-option-auto/> is not equal `true`">
|
|
435
448
|
|
|
436
|
-
<if condition="<
|
|
449
|
+
<if condition="<condensed/> is equal `true`">
|
|
437
450
|
|
|
438
|
-
The project source artifacts are classified as a *grey box
|
|
439
|
-
the user does *not* want the full artifact
|
|
451
|
+
The project source artifacts are classified as a *grey box* (or
|
|
452
|
+
*black box*), so the user does *not* want the full artifact
|
|
453
|
+
internals surfaced:
|
|
440
454
|
*suppress* the full unified diff and instead show only the
|
|
441
455
|
*condensed* one-line-per-hunk representation. Report the
|
|
442
456
|
solution with the following <template/>:
|
|
@@ -505,8 +519,8 @@ related to a set of code quality aspects.
|
|
|
505
519
|
- <if condition="<result/> is 'ACCEPT'">
|
|
506
520
|
Invoke the `Edit` tool to apply the changes exactly
|
|
507
521
|
as given by the hunks of the current <change-set/>
|
|
508
|
-
(rendered as <diff/>, unless suppressed
|
|
509
|
-
|
|
522
|
+
(rendered as <diff/>, unless suppressed in a condensed
|
|
523
|
+
report). The operation will be auto-approved by the ASE
|
|
510
524
|
`pre-tool-use` hook (which tracks the active skill),
|
|
511
525
|
so *no* interactive permission prompt will appear.
|
|
512
526
|
After applying the changes, just continue with the next
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
`ase-code-lint`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
10
|
[`--auto`|`-a`]
|
|
11
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
11
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
12
12
|
[`--include`|`-i`=*aspect*[`,`...]]
|
|
13
13
|
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
14
14
|
[`--staged`]
|
|
@@ -60,11 +60,16 @@ the code, and comments contradicting the code.
|
|
|
60
60
|
Automatically apply every proposed correction without asking the
|
|
61
61
|
user via the interactive dialog.
|
|
62
62
|
|
|
63
|
-
- `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`):
|
|
64
|
-
Set the *severity floor* (default `
|
|
63
|
+
- `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`):
|
|
64
|
+
Set the *severity floor* (default `AUTO`): findings below the chosen
|
|
65
65
|
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
66
|
-
`HIGH`. The default `
|
|
67
|
-
|
|
66
|
+
`HIGH`. The default `AUTO` means `MEDIUM` for a project with `grey`
|
|
67
|
+
boxing, no linting at all for a project with `black` boxing, and
|
|
68
|
+
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
69
|
+
wins over the boxing, i.e. it also lints a project with `black`
|
|
70
|
+
boxing and, e.g. with `LOW`, acts on all findings of a project with
|
|
71
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed. Surviving
|
|
72
|
+
findings are reported in *descending
|
|
68
73
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`, keeping the
|
|
69
74
|
`file`/`line` order within the same severity.
|
|
70
75
|
|
|
@@ -175,7 +175,7 @@ Discover HTTP clients, flagging any without a release in the last 12 months:
|
|
|
175
175
|
[`--help`|`-h`]
|
|
176
176
|
[`--performance`|`-p`]
|
|
177
177
|
[`--security`|`-s`]
|
|
178
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
178
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
179
179
|
[`--prefix`|`-P` *prefix*]
|
|
180
180
|
[`--staged`]
|
|
181
181
|
[`--unstaged`]
|
|
@@ -198,11 +198,16 @@ The *analysis lens* depends on the selected options:
|
|
|
198
198
|
|
|
199
199
|
The `--performance` and `--security` options are *mutually exclusive*.
|
|
200
200
|
|
|
201
|
-
The `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
202
|
-
floor* (default `
|
|
203
|
-
suppressed (neither reported nor persisted), ordered `LOW`
|
|
204
|
-
`HIGH`. The default `
|
|
205
|
-
|
|
201
|
+
The `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
202
|
+
*severity floor* (default `AUTO`): problems below the chosen threshold
|
|
203
|
+
are silently suppressed (neither reported nor persisted), ordered `LOW`
|
|
204
|
+
< `MEDIUM` < `HIGH`. The default `AUTO` means `MEDIUM` for a project
|
|
205
|
+
with `grey` boxing, no analysis at all for a project with `black`
|
|
206
|
+
boxing, and `LOW` (keep all problems) otherwise; an explicitly given
|
|
207
|
+
floor always wins over the boxing, i.e. it also analyzes a project with
|
|
208
|
+
`black` boxing and, e.g. with `LOW`, reports all problems of a project
|
|
209
|
+
with `grey` boxing. `ACCEPTED` problems are never suppressed. Surviving
|
|
210
|
+
problems are reported in *descending
|
|
206
211
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED` - keeping the
|
|
207
212
|
`file`/`line` order within the same severity - and are renumbered
|
|
208
213
|
contiguously as `P<n>`, so `P1` is the most severe problem.
|
|
@@ -627,7 +632,7 @@ Get insights into a specific subsystem:
|
|
|
627
632
|
`ase-code-lint`
|
|
628
633
|
[`--help`|`-h`]
|
|
629
634
|
[`--auto`|`-a`]
|
|
630
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
635
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
631
636
|
[`--include`|`-i`=*aspect*[`,`...]]
|
|
632
637
|
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
633
638
|
[`--staged`]
|
|
@@ -679,11 +684,16 @@ the code, and comments contradicting the code.
|
|
|
679
684
|
Automatically apply every proposed correction without asking the
|
|
680
685
|
user via the interactive dialog.
|
|
681
686
|
|
|
682
|
-
- `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`):
|
|
683
|
-
Set the *severity floor* (default `
|
|
687
|
+
- `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`):
|
|
688
|
+
Set the *severity floor* (default `AUTO`): findings below the chosen
|
|
684
689
|
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
685
|
-
`HIGH`. The default `
|
|
686
|
-
|
|
690
|
+
`HIGH`. The default `AUTO` means `MEDIUM` for a project with `grey`
|
|
691
|
+
boxing, no linting at all for a project with `black` boxing, and
|
|
692
|
+
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
693
|
+
wins over the boxing, i.e. it also lints a project with `black`
|
|
694
|
+
boxing and, e.g. with `LOW`, acts on all findings of a project with
|
|
695
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed. Surviving
|
|
696
|
+
findings are reported in *descending
|
|
687
697
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`, keeping the
|
|
688
698
|
`file`/`line` order within the same severity.
|
|
689
699
|
|
|
@@ -3170,7 +3180,9 @@ before it is committed or merged.
|
|
|
3170
3180
|
threshold are suppressed, ordered `LOW` < `MEDIUM` < `HIGH`. The
|
|
3171
3181
|
default `AUTO` means `MEDIUM` for a project with `grey` boxing and
|
|
3172
3182
|
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
3173
|
-
wins over the boxing.
|
|
3183
|
+
wins over the boxing, i.e. it also reviews a project with `black`
|
|
3184
|
+
boxing and, e.g. with `LOW`, shows all findings of a project with
|
|
3185
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed, and
|
|
3174
3186
|
the number of suppressed findings is always reported. Surviving
|
|
3175
3187
|
findings are rendered in *descending severity* order `HIGH`,
|
|
3176
3188
|
`MEDIUM`, `LOW`, `ACCEPTED`. The floor only affects the rendered
|
|
@@ -3562,6 +3574,175 @@ Loop over multiple specification edits inside a dedicated Git worktree:
|
|
|
3562
3574
|
❯ /ase-spec-edit -l -w event-series
|
|
3563
3575
|
```
|
|
3564
3576
|
|
|
3577
|
+
</purpose>
|
|
3578
|
+
<purpose name="ase-spec-lint">
|
|
3579
|
+
|
|
3580
|
+
## NAME
|
|
3581
|
+
|
|
3582
|
+
`ase-spec-lint` - Lint Specification
|
|
3583
|
+
|
|
3584
|
+
## SYNOPSIS
|
|
3585
|
+
|
|
3586
|
+
`ase-spec-lint`
|
|
3587
|
+
[`--help`|`-h`]
|
|
3588
|
+
[`--auto`|`-a`]
|
|
3589
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
3590
|
+
[`--include`|`-i`=*aspect*[`,`...]]
|
|
3591
|
+
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
3592
|
+
[`--staged`]
|
|
3593
|
+
[`--unstaged`]
|
|
3594
|
+
[*spec-reference*]
|
|
3595
|
+
|
|
3596
|
+
## DESCRIPTION
|
|
3597
|
+
|
|
3598
|
+
The `ase-spec-lint` skill lints the *SpecBook*-based specification
|
|
3599
|
+
(SPEC) for *potential quality problems* related to a fixed set of
|
|
3600
|
+
specification quality aspects: from its syntax and formatting, over
|
|
3601
|
+
its individual statements, up to the logical gaps of its model and its
|
|
3602
|
+
completeness for an implementation. The investigation is dispatched to
|
|
3603
|
+
sub-agents (`ase:ase-spec-lint`) so that scanning details do not leak
|
|
3604
|
+
into the user-visible transcript.
|
|
3605
|
+
|
|
3606
|
+
For each detected problem, the skill renders a unified-diff *SOLUTION*
|
|
3607
|
+
preview and either asks the user to `ACCEPT` or `REJECT` the proposed
|
|
3608
|
+
correction interactively (or refine it via a free-text hint, which
|
|
3609
|
+
re-proposes the correction without limit) or - with `--auto` - applies
|
|
3610
|
+
all corrections automatically. Every applied correction refreshes the
|
|
3611
|
+
`Modified:` timestamp of the changed specification files.
|
|
3612
|
+
|
|
3613
|
+
By default all ten specification quality aspects are checked. The
|
|
3614
|
+
`--include` and `--exclude` options narrow this to an *effective aspect
|
|
3615
|
+
set*: with `--include` only, exactly the listed aspects are checked;
|
|
3616
|
+
with `--exclude` only, all aspects except the listed ones; with both,
|
|
3617
|
+
the included ones minus the excluded ones. An unknown aspect id, or a
|
|
3618
|
+
combination which cancels out to an empty set, aborts the skill with an
|
|
3619
|
+
error. The ten aspect ids are:
|
|
3620
|
+
|
|
3621
|
+
```text
|
|
3622
|
+
S01 SYNTAX S04 AMBIGUITY S07 REDUNDANCY S10 COMPLETENESS
|
|
3623
|
+
S02 FORMAT S05 ATOMICITY S08 CONSISTENCY
|
|
3624
|
+
S03 RATIONALE S06 REALIZATION S09 LOGIC
|
|
3625
|
+
```
|
|
3626
|
+
|
|
3627
|
+
The `S01 SYNTAX` aspect reports the diagnostics of the specification
|
|
3628
|
+
linting against the *SpecBook* schema configuration of the project and
|
|
3629
|
+
of the generic Markdown linting via *markdownlint* (both as with `ase
|
|
3630
|
+
spec lint --markdown`), mapping the severity `error` onto `HIGH` and
|
|
3631
|
+
`warning` onto `MEDIUM`. The `S02 FORMAT` aspect checks the formatting
|
|
3632
|
+
against the *SpecBook* format variants and the prevailing conventions
|
|
3633
|
+
of the specification itself. The aspects `S03 RATIONALE` up to `S07
|
|
3634
|
+
REDUNDANCY` check the statements against the *Specifying Tenets* of
|
|
3635
|
+
*ASE*: a `, BECAUSE` rationale per statement, unambiguous and
|
|
3636
|
+
verifiable statements, atomic statements, intent instead of
|
|
3637
|
+
realization, and a single source of truth per fact.
|
|
3638
|
+
|
|
3639
|
+
The *model-wide* aspects `S07 REDUNDANCY` up to `S10 COMPLETENESS` are
|
|
3640
|
+
judged on the *entire* specification, even if only parts of it are
|
|
3641
|
+
linted: `S08 CONSISTENCY` checks for contradictions and drifting
|
|
3642
|
+
terminology, `S09 LOGIC` for logical gaps in the specification model
|
|
3643
|
+
(like unreachable states or entities without any relationship), and
|
|
3644
|
+
`S10 COMPLETENESS` for open ends which would force an implementer to
|
|
3645
|
+
guess. As the corrections of `S09 LOGIC` and `S10 COMPLETENESS` fill
|
|
3646
|
+
gaps with *best-guess* content, they are proposed for review only and
|
|
3647
|
+
are *never* applied under `--auto`.
|
|
3648
|
+
|
|
3649
|
+
## OPTIONS
|
|
3650
|
+
|
|
3651
|
+
- `--auto`|`-a`:
|
|
3652
|
+
Automatically apply every proposed correction without asking the
|
|
3653
|
+
user via the interactive dialog, except for the best-guess
|
|
3654
|
+
corrections of the aspects `S09 LOGIC` and `S10 COMPLETENESS`,
|
|
3655
|
+
which are only reported.
|
|
3656
|
+
|
|
3657
|
+
- `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`):
|
|
3658
|
+
Set the *severity floor* (default `AUTO`): findings below the chosen
|
|
3659
|
+
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
3660
|
+
`HIGH`. The default `AUTO` means `MEDIUM` for a project with `grey`
|
|
3661
|
+
boxing, no linting at all for a project with `black` boxing, and
|
|
3662
|
+
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
3663
|
+
wins over the boxing, i.e. it also lints a project with `black`
|
|
3664
|
+
boxing and, e.g. with `LOW`, acts on all findings of a project with
|
|
3665
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed. Surviving
|
|
3666
|
+
findings are reported in *descending severity* order `HIGH`,
|
|
3667
|
+
`MEDIUM`, `LOW`, `ACCEPTED`, keeping the `file`/`line` order within
|
|
3668
|
+
the same severity.
|
|
3669
|
+
|
|
3670
|
+
- `--include`|`-i`=*aspect*[`,`...]:
|
|
3671
|
+
Restrict the checked specification quality aspects to the given
|
|
3672
|
+
comma-separated list of aspect ids (e.g. `S01,S02`). Without this
|
|
3673
|
+
option, all ten aspects are checked.
|
|
3674
|
+
|
|
3675
|
+
- `--exclude`|`-e`=*aspect*[`,`...]:
|
|
3676
|
+
Remove the given comma-separated list of aspect ids from the checked
|
|
3677
|
+
specification quality aspects. Applied *after* `--include`, so
|
|
3678
|
+
`-i S09,S10 -e S10` checks `S09` only.
|
|
3679
|
+
|
|
3680
|
+
- `--staged`:
|
|
3681
|
+
Restrict the linting to the specification files with *staged* Git
|
|
3682
|
+
changes. Deleted files are skipped, and the files are linted in
|
|
3683
|
+
their current working copy state. Combined with `--unstaged`, lint
|
|
3684
|
+
the specification files with *any* uncommitted Git changes.
|
|
3685
|
+
|
|
3686
|
+
- `--unstaged`:
|
|
3687
|
+
Restrict the linting to the specification files with *unstaged* Git
|
|
3688
|
+
changes plus the *untracked* specification files. Deleted files are
|
|
3689
|
+
skipped. Combined with `--staged`, lint the specification files with
|
|
3690
|
+
*any* uncommitted Git changes.
|
|
3691
|
+
|
|
3692
|
+
## ARGUMENTS
|
|
3693
|
+
|
|
3694
|
+
- *spec-reference*:
|
|
3695
|
+
A file, directory, or wildcard reference to the specification files
|
|
3696
|
+
to lint. Without it, the *entire* specification is linted, resp.
|
|
3697
|
+
under `--staged` or `--unstaged` all changed specification files.
|
|
3698
|
+
|
|
3699
|
+
## SCENARIOS
|
|
3700
|
+
|
|
3701
|
+
- You want your specification checked for specification quality problems
|
|
3702
|
+
- You want to know whether your specification is sufficient for an implementation
|
|
3703
|
+
- You want logical gaps in your specification model detected
|
|
3704
|
+
- You want corrections proposed which you accept or reject one by one
|
|
3705
|
+
- You want all mechanical corrections applied automatically
|
|
3706
|
+
- You want only your staged or unstaged specification changes linted before committing
|
|
3707
|
+
|
|
3708
|
+
## EXAMPLES
|
|
3709
|
+
|
|
3710
|
+
Lint the entire specification interactively:
|
|
3711
|
+
|
|
3712
|
+
```text
|
|
3713
|
+
❯ /ase-spec-lint
|
|
3714
|
+
```
|
|
3715
|
+
|
|
3716
|
+
Lint a single specification file and automatically apply all corrections:
|
|
3717
|
+
|
|
3718
|
+
```text
|
|
3719
|
+
❯ /ase-spec-lint --auto docs/spec/data-model.md
|
|
3720
|
+
```
|
|
3721
|
+
|
|
3722
|
+
Lint the specification for its syntax and formatting only:
|
|
3723
|
+
|
|
3724
|
+
```text
|
|
3725
|
+
❯ /ase-spec-lint -i S01,S02
|
|
3726
|
+
```
|
|
3727
|
+
|
|
3728
|
+
Check the specification model for logical gaps and completeness only:
|
|
3729
|
+
|
|
3730
|
+
```text
|
|
3731
|
+
❯ /ase-spec-lint -i S09,S10
|
|
3732
|
+
```
|
|
3733
|
+
|
|
3734
|
+
Lint the specification, reporting only `MEDIUM` and `HIGH` findings:
|
|
3735
|
+
|
|
3736
|
+
```text
|
|
3737
|
+
❯ /ase-spec-lint -S MEDIUM
|
|
3738
|
+
```
|
|
3739
|
+
|
|
3740
|
+
Lint only the specification files with staged Git changes:
|
|
3741
|
+
|
|
3742
|
+
```text
|
|
3743
|
+
❯ /ase-spec-lint --staged
|
|
3744
|
+
```
|
|
3745
|
+
|
|
3565
3746
|
</purpose>
|
|
3566
3747
|
<purpose name="ase-sync-export">
|
|
3567
3748
|
|
|
@@ -4835,6 +5016,7 @@ Switch to a specific task:
|
|
|
4835
5016
|
[`--source`|`-s` *source*]
|
|
4836
5017
|
[`--changeset`|`-c` *changeset*]
|
|
4837
5018
|
[`--draft`|`-d`]
|
|
5019
|
+
[`--no-cleanup`|`-K`]
|
|
4838
5020
|
[`--stateless`|`-S`]
|
|
4839
5021
|
[*id*]
|
|
4840
5022
|
|
|
@@ -4877,7 +5059,9 @@ overridable via `--changeset`:
|
|
|
4877
5059
|
- `branch:`*name*: the change set is *committed* onto the branch
|
|
4878
5060
|
*name* -- created from the source if missing -- inside the worktree
|
|
4879
5061
|
in which this branch is checked out, or inside a newly created
|
|
4880
|
-
worktree `.ase/worktree/<name
|
|
5062
|
+
worktree `.ase/worktree/<name>`, which is removed again after the
|
|
5063
|
+
commit (unless `--no-cleanup` is given), while an already existing
|
|
5064
|
+
worktree is always kept.
|
|
4881
5065
|
- `attachment:`*name*: the change set is made and verified in a
|
|
4882
5066
|
*temporary* worktree, detached at the source commit, and stored as
|
|
4883
5067
|
the attachment block of type `text/x-diff; charset=utf-8;
|
|
@@ -4984,6 +5168,13 @@ plan, unless `--next` pre-selects this choice.
|
|
|
4984
5168
|
*implementation draft* of the plan only, leaving all artifacts
|
|
4985
5169
|
untouched (a dry-run). Mutually exclusive with `--changeset`.
|
|
4986
5170
|
|
|
5171
|
+
- `--no-cleanup`|`-K`:
|
|
5172
|
+
For a `branch:` changeset, keep the worktree `.ase/worktree/<name>`
|
|
5173
|
+
newly created by this run, instead of removing it after the commit,
|
|
5174
|
+
so the change set can be reviewed, built, and tested there. Without
|
|
5175
|
+
this option, the worktree is removed only if it has no uncommitted
|
|
5176
|
+
changes, as the change set lives on the branch alone.
|
|
5177
|
+
|
|
4987
5178
|
- `--stateless`|`-S`:
|
|
4988
5179
|
Leave the plan's `Status:` key untouched.
|
|
4989
5180
|
|
|
@@ -15,6 +15,7 @@ START -> ase-arch-discover
|
|
|
15
15
|
START -> ase-code-insight
|
|
16
16
|
START -> ase-code-explain
|
|
17
17
|
START -> ase-code-lint
|
|
18
|
+
START -> ase-spec-lint
|
|
18
19
|
START -> ase-docs-shorten
|
|
19
20
|
START -> ase-docs-refine
|
|
20
21
|
START -> ase-docs-proofread
|
|
@@ -46,6 +47,7 @@ ase-arch-discover -> END
|
|
|
46
47
|
ase-code-insight -> END
|
|
47
48
|
ase-code-explain -> END
|
|
48
49
|
ase-code-lint -> END
|
|
50
|
+
ase-spec-lint -> END
|
|
49
51
|
ase-docs-shorten -> END
|
|
50
52
|
ase-docs-refine -> END
|
|
51
53
|
ase-docs-proofread -> END
|
|
@@ -71,6 +71,7 @@ currently staged Git changes.
|
|
|
71
71
|
- Use imperative mood ("add" not "added")
|
|
72
72
|
- Use *no* period at the end
|
|
73
73
|
- Use *no* Markdown formatting
|
|
74
|
+
- Never add `Co-Authored-By` trailers to commit messages
|
|
74
75
|
|
|
75
76
|
Output this crafted commit message with the following <template/>:
|
|
76
77
|
|
|
@@ -121,6 +121,7 @@ processing the entire current skill:
|
|
|
121
121
|
imperative-mood summary without a trailing period, without
|
|
122
122
|
Markdown formatting, and without any double-quote (`"`),
|
|
123
123
|
backtick (`` ` ``), dollar (`$`), or backslash (`\`) characters.
|
|
124
|
+
Never add `Co-Authored-By` trailers to commit messages.
|
|
124
125
|
|
|
125
126
|
4. Commit the changes by running the command
|
|
126
127
|
`git -C "<source-dir/>" commit -m "<message/>"`. If it fails,
|
|
@@ -224,11 +224,12 @@ Procedure
|
|
|
224
224
|
|
|
225
225
|
2. <step id="STEP 2: Review Investigation">
|
|
226
226
|
|
|
227
|
-
<if condition="<ase-project-boxing/> is equal `black`">
|
|
227
|
+
<if condition="<ase-project-boxing/> is equal `black` and <getopt-option-severity/> is equal `AUTO`">
|
|
228
228
|
|
|
229
229
|
The project source artifacts are classified as a *black box*, so
|
|
230
230
|
the user does *not* want the changes scrutinized or their
|
|
231
|
-
findings surfaced
|
|
231
|
+
findings surfaced (an *explicitly* given severity floor lifts this
|
|
232
|
+
skip). *Skip* the entire review investigation: do
|
|
232
233
|
*not* invoke the `Agent` tool and do *not* read any change, set
|
|
233
234
|
<findings/> to the *empty* list, set <hidden/> to `0`, set
|
|
234
235
|
<verdict/> to `SKIPPED (boxing: black)`, set <summary/> to a
|
|
@@ -288,7 +289,8 @@ Procedure
|
|
|
288
289
|
<else>
|
|
289
290
|
Set <floor><getopt-option-severity/></floor> and
|
|
290
291
|
<floor-origin>--severity <getopt-option-severity/></floor-origin>:
|
|
291
|
-
an *explicitly* given severity floor always *wins* over the boxing
|
|
292
|
+
an *explicitly* given severity floor always *wins* over the boxing,
|
|
293
|
+
both over the `grey` floor and over the `black` skip.
|
|
292
294
|
</else>
|
|
293
295
|
|
|
294
296
|
Then *apply the effective severity floor* <floor/>: *Keep* a finding
|
|
@@ -75,7 +75,9 @@ before it is committed or merged.
|
|
|
75
75
|
threshold are suppressed, ordered `LOW` < `MEDIUM` < `HIGH`. The
|
|
76
76
|
default `AUTO` means `MEDIUM` for a project with `grey` boxing and
|
|
77
77
|
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
78
|
-
wins over the boxing.
|
|
78
|
+
wins over the boxing, i.e. it also reviews a project with `black`
|
|
79
|
+
boxing and, e.g. with `LOW`, shows all findings of a project with
|
|
80
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed, and
|
|
79
81
|
the number of suppressed findings is always reported. Surviving
|
|
80
82
|
findings are rendered in *descending severity* order `HIGH`,
|
|
81
83
|
`MEDIUM`, `LOW`, `ACCEPTED`. The floor only affects the rendered
|
|
@@ -393,9 +393,9 @@ empty <todo-what/> or <todo-how/> renders as `(none)`:
|
|
|
393
393
|
|
|
394
394
|
<if condition="<worktree-dir/> is not empty">
|
|
395
395
|
Run the command `ase spec lint` with <worktree-dir/> as its
|
|
396
|
-
working directory and parse its
|
|
397
|
-
|
|
398
|
-
<diagnostics/> -- the `ase_specbook_lint` tool always validates
|
|
396
|
+
working directory and parse its logged
|
|
397
|
+
`lint: specbook: <file/>:<line/>:<column/>: <message/>` lines
|
|
398
|
+
(on standard error) into <diagnostics/> -- the `ase_specbook_lint` tool always validates
|
|
399
399
|
the *project* working copy and hence *MUST* *NOT* be used here.
|
|
400
400
|
</if>
|
|
401
401
|
<else>
|
|
@@ -215,5 +215,5 @@ Loop over multiple specification edits inside a dedicated Git worktree:
|
|
|
215
215
|
|
|
216
216
|
## SEE ALSO
|
|
217
217
|
|
|
218
|
-
[`ase-spec-activate`](../ase-spec-activate/help.md), [`ase-code-edit`](../ase-code-edit/help.md), [`ase-sync-import`](../ase-sync-import/help.md),
|
|
218
|
+
[`ase-spec-activate`](../ase-spec-activate/help.md), [`ase-spec-lint`](../ase-spec-lint/help.md), [`ase-code-edit`](../ase-code-edit/help.md), [`ase-sync-import`](../ase-sync-import/help.md),
|
|
219
219
|
[`ase-sync-reconcile`](../ase-sync-reconcile/help.md), [`ase-sync-export`](../ase-sync-export/help.md), [`ase-task-grill`](../ase-task-grill/help.md).
|