@rse/ase 1.0.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/dst/ase-agent-definition-api.d.ts +184 -0
  2. package/dst/ase-agent-definition-api.js +6 -0
  3. package/dst/ase-agent-definition-builtin/condenser.js +42 -0
  4. package/dst/ase-agent-definition-builtin/editor.js +45 -0
  5. package/dst/ase-agent-definition-builtin/estimator.js +98 -0
  6. package/dst/ase-agent-definition-builtin/implementer.js +121 -0
  7. package/dst/ase-agent-definition-builtin/integrator.js +56 -0
  8. package/dst/ase-agent-definition-builtin/qualifier.js +61 -0
  9. package/dst/ase-agent-definition-builtin/rebooter.js +41 -0
  10. package/dst/ase-agent-definition-builtin/researcher.js +77 -0
  11. package/dst/ase-agent-definition-core.js +827 -0
  12. package/dst/ase-agent-fleet.js +772 -0
  13. package/dst/ase-agent-process.js +232 -0
  14. package/dst/ase-agent-relay-client.js +509 -0
  15. package/dst/ase-agent-relay-core.js +213 -0
  16. package/dst/ase-agent-relay-server-bind.js +242 -0
  17. package/dst/ase-agent-relay-server-cli.js +50 -0
  18. package/dst/ase-agent-runtime-claim.js +189 -0
  19. package/dst/ase-agent-runtime-engine.js +1100 -0
  20. package/dst/ase-agent-runtime-exec.js +275 -0
  21. package/dst/ase-agent-runtime-phase.js +581 -0
  22. package/dst/ase-agent-runtime-request.js +272 -0
  23. package/dst/ase-agent-runtime-tool.js +207 -0
  24. package/dst/ase-agent-runtime.js +1316 -0
  25. package/dst/ase-agent.js +65 -0
  26. package/dst/ase-artifact.js +6 -5
  27. package/dst/ase-config-core.js +465 -0
  28. package/dst/ase-config-schema.js +351 -0
  29. package/dst/ase-config-scope.js +172 -0
  30. package/dst/ase-config.js +25 -585
  31. package/dst/ase-hook.js +228 -111
  32. package/dst/ase-lib-daemon-cli.js +130 -0
  33. package/dst/ase-lib-hash.js +20 -0
  34. package/dst/{ase-log.js → ase-lib-log.js} +40 -7
  35. package/dst/ase-lib-server-bind.js +115 -0
  36. package/dst/ase-lib-server-cli.js +474 -0
  37. package/dst/{ase-table.js → ase-lib-table.js} +1 -1
  38. package/dst/{ase-version.js → ase-lib-version.js} +3 -0
  39. package/dst/ase-man.js +96 -0
  40. package/dst/ase-mcp.js +166 -13
  41. package/dst/{ase-getopt.js → ase-service-getopt.js} +82 -80
  42. package/dst/{ase-markdown.js → ase-service-markdown.js} +18 -11
  43. package/dst/ase-service-otel.js +1246 -0
  44. package/dst/{ase-skills.js → ase-service-skills.js} +29 -64
  45. package/dst/ase-service-state.js +101 -0
  46. package/dst/ase-service.js +251 -76
  47. package/dst/ase-setup-common.js +141 -0
  48. package/dst/ase-setup-mcp.js +359 -0
  49. package/dst/ase-setup-settings.js +837 -0
  50. package/dst/ase-setup.js +113 -869
  51. package/dst/ase-spec.js +31 -19
  52. package/dst/ase-statusline.js +108 -43
  53. package/dst/ase-task-board-core.js +739 -0
  54. package/dst/ase-task-board-filter.js +127 -0
  55. package/dst/ase-task-board-flow.js +237 -0
  56. package/dst/ase-task-board-graph.js +497 -0
  57. package/dst/ase-task-board-stats.js +263 -0
  58. package/dst/ase-task-board-tui-control.js +775 -0
  59. package/dst/ase-task-board-tui-model.js +1008 -0
  60. package/dst/ase-task-board-tui-popup.js +626 -0
  61. package/dst/ase-task-board-tui-style.js +106 -0
  62. package/dst/ase-task-board-tui-view.js +847 -0
  63. package/dst/ase-task-board-tui.js +189 -0
  64. package/dst/ase-task-board-web-client.css +1 -0
  65. package/dst/ase-task-board-web-client.html +20 -0
  66. package/dst/ase-task-board-web-client.js +81 -0
  67. package/dst/ase-task-board-web-server.js +823 -0
  68. package/dst/ase-task-board.js +134 -0
  69. package/dst/ase-task-format.js +757 -0
  70. package/dst/ase-task-request.js +208 -0
  71. package/dst/ase-task-store-client.js +495 -0
  72. package/dst/ase-task-store-core.js +804 -0
  73. package/dst/ase-task-store-issues.js +237 -0
  74. package/dst/ase-task-store-plugin-api.js +6 -0
  75. package/dst/ase-task-store-plugin-ase.js +484 -0
  76. package/dst/ase-task-store-plugin-delegate.js +137 -0
  77. package/dst/ase-task-store-plugin-gitea.js +666 -0
  78. package/dst/ase-task-store-plugin-github.js +696 -0
  79. package/dst/ase-task-store-plugin-gitlab.js +668 -0
  80. package/dst/ase-task-store-server-bind.js +538 -0
  81. package/dst/ase-task-store-server-cli.js +154 -0
  82. package/dst/ase-task.js +1335 -357
  83. package/dst/{ase-compat.js → ase-util-compat.js} +2 -2
  84. package/dst/{ase-diagram.js → ase-util-diagram.js} +107 -32
  85. package/dst/{ase-meta.js → ase-util-meta.js} +2 -2
  86. package/dst/{ase-metric.js → ase-util-metric.js} +2 -2
  87. package/dst/{ase-mint.js → ase-util-mint.js} +19 -12
  88. package/dst/{ase-worktree.js → ase-util-worktree.js} +30 -19
  89. package/dst/ase-util.js +20 -0
  90. package/dst/ase.js +108 -32
  91. package/dst/man/ase-agent-adhoc.1 +515 -0
  92. package/dst/man/ase-agent-condenser.1 +193 -0
  93. package/dst/man/ase-agent-editor.1 +212 -0
  94. package/dst/man/ase-agent-estimator.1 +214 -0
  95. package/dst/man/ase-agent-fleet.1 +185 -0
  96. package/dst/man/ase-agent-implementer.1 +233 -0
  97. package/dst/man/ase-agent-integrator.1 +213 -0
  98. package/dst/man/ase-agent-qualifier.1 +214 -0
  99. package/dst/man/ase-agent-rebooter.1 +193 -0
  100. package/dst/man/ase-agent-relay.1 +128 -0
  101. package/dst/man/ase-agent-researcher.1 +217 -0
  102. package/dst/man/ase-agent.1 +264 -0
  103. package/dst/man/ase-artifact-list.1 +38 -0
  104. package/dst/man/ase-artifact-name.1 +39 -0
  105. package/dst/man/ase-artifact.1 +56 -0
  106. package/dst/man/ase-config-delete.1 +45 -0
  107. package/dst/man/ase-config-edit.1 +48 -0
  108. package/dst/man/ase-config-get.1 +46 -0
  109. package/dst/man/ase-config-init.1 +60 -0
  110. package/dst/man/ase-config-list.1 +42 -0
  111. package/dst/man/ase-config-set.1 +52 -0
  112. package/dst/man/ase-config.1 +225 -0
  113. package/dst/man/ase-hook-permission-request.1 +36 -0
  114. package/dst/man/ase-hook-pre-tool-use.1 +59 -0
  115. package/dst/man/ase-hook-session-end.1 +47 -0
  116. package/dst/man/ase-hook-session-persona.1 +37 -0
  117. package/dst/man/ase-hook-session-start.1 +81 -0
  118. package/dst/man/ase-hook-stop.1 +34 -0
  119. package/dst/man/ase-hook-user-prompt-submit.1 +34 -0
  120. package/dst/man/ase-hook.1 +51 -0
  121. package/dst/man/ase-man.1 +67 -0
  122. package/dst/man/ase-mcp.1 +61 -0
  123. package/dst/man/ase-service-log.1 +43 -0
  124. package/dst/man/ase-service-send.1 +47 -0
  125. package/dst/man/ase-service-start.1 +54 -0
  126. package/dst/man/ase-service-status.1 +46 -0
  127. package/dst/man/ase-service-stop.1 +37 -0
  128. package/dst/man/ase-service.1 +85 -0
  129. package/dst/man/ase-setup-disable.1 +44 -0
  130. package/dst/man/ase-setup-enable.1 +45 -0
  131. package/dst/man/ase-setup-install.1 +73 -0
  132. package/dst/man/ase-setup-mcp.1 +124 -0
  133. package/dst/man/ase-setup-status.1 +60 -0
  134. package/dst/man/ase-setup-statusline.1 +92 -0
  135. package/dst/man/ase-setup-telemetry.1 +92 -0
  136. package/dst/man/ase-setup-uninstall.1 +59 -0
  137. package/dst/man/ase-setup-update.1 +64 -0
  138. package/dst/man/ase-setup.1 +93 -0
  139. package/dst/man/ase-spec-export.1 +62 -0
  140. package/dst/man/ase-spec-lint.1 +40 -0
  141. package/dst/man/ase-spec-preview.1 +40 -0
  142. package/dst/man/ase-spec.1 +46 -0
  143. package/dst/man/ase-statusline.1 +189 -0
  144. package/dst/man/ase-task-assign.1 +71 -0
  145. package/dst/man/ase-task-board.1 +384 -0
  146. package/dst/man/ase-task-delete.1 +35 -0
  147. package/dst/man/ase-task-edit.1 +46 -0
  148. package/dst/man/ase-task-idscheme.1 +65 -0
  149. package/dst/man/ase-task-lifecycle.1 +57 -0
  150. package/dst/man/ase-task-list.1 +47 -0
  151. package/dst/man/ase-task-load.1 +36 -0
  152. package/dst/man/ase-task-newid.1 +61 -0
  153. package/dst/man/ase-task-purge.1 +37 -0
  154. package/dst/man/ase-task-rename.1 +44 -0
  155. package/dst/man/ase-task-request.1 +61 -0
  156. package/dst/man/ase-task-save.1 +48 -0
  157. package/dst/man/ase-task-status.1 +55 -0
  158. package/dst/man/ase-task-store.1 +194 -0
  159. package/dst/man/ase-task-view.1 +40 -0
  160. package/dst/man/ase-task.1 +160 -0
  161. package/dst/man/ase-util-compat.1 +25 -0
  162. package/dst/man/ase-util-diagram.1 +76 -0
  163. package/dst/man/ase-util-meta.1 +45 -0
  164. package/dst/man/ase-util-metric.1 +54 -0
  165. package/dst/man/ase-util-mint.1 +59 -0
  166. package/dst/man/ase-util-worktree.1 +72 -0
  167. package/dst/man/ase-util.1 +50 -0
  168. package/dst/man/ase.1 +124 -0
  169. package/package.json +79 -21
  170. package/plugin/.claude-plugin/plugin.json +1 -1
  171. package/plugin/.codex-plugin/plugin.json +1 -1
  172. package/plugin/.github/plugin/plugin.json +1 -1
  173. package/plugin/agents/ase-meta-diagram.md +12 -8
  174. package/plugin/agents/ase-repo-review.md +322 -0
  175. package/plugin/hooks/hooks-codex.json +5 -0
  176. package/plugin/hooks/hooks-copilot.json +5 -0
  177. package/plugin/hooks/hooks.json +8 -0
  178. package/plugin/meta/ase-common-approach.md +117 -0
  179. package/plugin/meta/ase-common-changeset.md +256 -0
  180. package/plugin/meta/ase-common-code.md +10 -173
  181. package/plugin/meta/ase-common-grill.md +317 -0
  182. package/plugin/meta/ase-common-resolve.md +305 -0
  183. package/plugin/meta/ase-common-task.md +83 -4
  184. package/plugin/meta/ase-constitution.md +0 -2
  185. package/plugin/meta/ase-format-specbook.md +208 -25
  186. package/plugin/meta/ase-format-specbook.yaml +242 -851
  187. package/plugin/meta/ase-format-task.md +669 -125
  188. package/plugin/meta/ase-persona.md +3 -4
  189. package/plugin/meta/ase-skill.md +9 -0
  190. package/plugin/mods/ase-mods.ts +409 -0
  191. package/plugin/mods/claude-code.d.ts +13417 -0
  192. package/plugin/skills/ase-arch-analyze/SKILL.md +1 -1
  193. package/plugin/skills/ase-arch-analyze/help.md +2 -2
  194. package/plugin/skills/ase-code-analyze/SKILL.md +59 -8
  195. package/plugin/skills/ase-code-analyze/help.md +29 -4
  196. package/plugin/skills/ase-code-edit/SKILL.md +107 -181
  197. package/plugin/skills/ase-code-edit/help.md +118 -31
  198. package/plugin/skills/ase-code-lint/SKILL.md +64 -13
  199. package/plugin/skills/ase-code-lint/help.md +32 -2
  200. package/plugin/skills/ase-docs-proofread/SKILL.md +4 -4
  201. package/plugin/skills/ase-docs-proofread/help.md +1 -1
  202. package/plugin/skills/ase-docs-refine/SKILL.md +4 -4
  203. package/plugin/skills/ase-docs-shorten/SKILL.md +4 -4
  204. package/plugin/skills/ase-help-intent/data.md +2164 -1087
  205. package/plugin/skills/ase-help-intent/help.md +1 -1
  206. package/plugin/skills/ase-help-skill/catalog.md +12 -9
  207. package/plugin/skills/ase-meta-brainstorm/SKILL.md +1 -1
  208. package/plugin/skills/ase-meta-config/SKILL.md +3 -4
  209. package/plugin/skills/ase-meta-config/help.md +31 -10
  210. package/plugin/skills/ase-meta-mint/SKILL.md +5 -5
  211. package/plugin/skills/ase-meta-mint/help.md +10 -5
  212. package/plugin/skills/ase-meta-why/help.md +1 -1
  213. package/plugin/skills/ase-meta-workflow/SKILL.md +7 -7
  214. package/plugin/skills/ase-meta-workflow/help.md +4 -4
  215. package/plugin/skills/ase-meta-workflow/sample.md +3 -3
  216. package/plugin/skills/ase-meta-workflow/workflow.txt +22 -18
  217. package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/SKILL.md +4 -3
  218. package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/help.md +5 -5
  219. package/plugin/skills/{ase-meta-commit → ase-repo-commit}/SKILL.md +6 -6
  220. package/plugin/skills/{ase-meta-commit → ase-repo-commit}/help.md +5 -5
  221. package/plugin/skills/{ase-meta-diff → ase-repo-diff}/SKILL.md +6 -6
  222. package/plugin/skills/{ase-meta-diff → ase-repo-diff}/help.md +8 -8
  223. package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/SKILL.md +19 -19
  224. package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/help.md +10 -12
  225. package/plugin/skills/ase-repo-merge/SKILL.md +346 -0
  226. package/plugin/skills/ase-repo-merge/help.md +107 -0
  227. package/plugin/skills/ase-repo-resolve/SKILL.md +158 -0
  228. package/plugin/skills/ase-repo-resolve/help.md +102 -0
  229. package/plugin/skills/ase-repo-review/SKILL.md +406 -0
  230. package/plugin/skills/ase-repo-review/help.md +181 -0
  231. package/plugin/skills/ase-spec-edit/SKILL.md +117 -183
  232. package/plugin/skills/ase-spec-edit/help.md +107 -26
  233. package/plugin/skills/ase-sync-reconcile/help.md +1 -1
  234. package/plugin/skills/ase-task-assign/SKILL.md +111 -0
  235. package/plugin/skills/ase-task-assign/help.md +119 -0
  236. package/plugin/skills/ase-task-condense/SKILL.md +21 -21
  237. package/plugin/skills/ase-task-condense/help.md +12 -10
  238. package/plugin/skills/ase-task-delete/SKILL.md +1 -1
  239. package/plugin/skills/ase-task-dissect/SKILL.md +71 -48
  240. package/plugin/skills/ase-task-dissect/help.md +10 -9
  241. package/plugin/skills/ase-task-edit/SKILL.md +379 -94
  242. package/plugin/skills/ase-task-edit/help.md +95 -22
  243. package/plugin/skills/ase-task-estimate/SKILL.md +492 -0
  244. package/plugin/skills/ase-task-estimate/help.md +158 -0
  245. package/plugin/skills/ase-task-grill/SKILL.md +246 -138
  246. package/plugin/skills/ase-task-grill/help.md +129 -26
  247. package/plugin/skills/ase-task-id/SKILL.md +8 -1
  248. package/plugin/skills/ase-task-id/help.md +6 -3
  249. package/plugin/skills/ase-task-implement/SKILL.md +535 -145
  250. package/plugin/skills/ase-task-implement/help.md +138 -47
  251. package/plugin/skills/ase-task-integrate/SKILL.md +549 -0
  252. package/plugin/skills/ase-task-integrate/help.md +187 -0
  253. package/plugin/skills/ase-task-list/SKILL.md +55 -23
  254. package/plugin/skills/ase-task-list/help.md +45 -21
  255. package/plugin/skills/ase-task-reboot/SKILL.md +84 -43
  256. package/plugin/skills/ase-task-reboot/help.md +28 -8
  257. package/plugin/skills/ase-task-rename/SKILL.md +10 -2
  258. package/plugin/skills/ase-task-research/SKILL.md +386 -0
  259. package/plugin/skills/ase-task-research/help.md +102 -0
  260. package/plugin/skills/ase-task-status/SKILL.md +137 -0
  261. package/plugin/skills/ase-task-status/help.md +80 -0
  262. package/plugin/skills/ase-task-view/SKILL.md +49 -24
  263. package/plugin/skills/ase-task-view/help.md +19 -9
  264. package/plugin/agents/ase-meta-review.md +0 -187
  265. package/plugin/skills/ase-code-craft/SKILL.md +0 -264
  266. package/plugin/skills/ase-code-craft/help.md +0 -122
  267. package/plugin/skills/ase-code-refactor/SKILL.md +0 -232
  268. package/plugin/skills/ase-code-refactor/help.md +0 -109
  269. package/plugin/skills/ase-code-resolve/SKILL.md +0 -289
  270. package/plugin/skills/ase-code-resolve/help.md +0 -116
  271. package/plugin/skills/ase-meta-review/SKILL.md +0 -210
  272. package/plugin/skills/ase-meta-review/help.md +0 -96
  273. package/plugin/skills/ase-task-preflight/SKILL.md +0 -166
  274. package/plugin/skills/ase-task-preflight/help.md +0 -82
  275. /package/dst/{ase-ignore.js → ase-lib-ignore.js} +0 -0
  276. /package/dst/{ase-stdio.js → ase-lib-stdio.js} +0 -0
  277. /package/dst/{ase-kv.js → ase-service-kv.js} +0 -0
  278. /package/dst/{ase-sleep.js → ase-service-sleep.js} +0 -0
  279. /package/dst/{ase-timestamp.js → ase-service-timestamp.js} +0 -0
@@ -8,6 +8,11 @@
8
8
  `ase-task-grill`
9
9
  [`--help`|`-h`]
10
10
  [`--rounds`|`-r` *n*]
11
+ [`--until`|`-u` `MUST`|`SHOULD`|`MAY`]
12
+ [`--perspective`|`-p` *perspective*]
13
+ [`--ground`|`-G`]
14
+ [`--focus`|`-f` *section*[,...]]
15
+ [`--force`|`-F`]
11
16
  [`--next`|`-n` *option*[,...]]
12
17
  [*id*]
13
18
 
@@ -22,37 +27,114 @@ The skill identifies the essential aspects of the plan and raises up to
22
27
  carries a `FOCUS-AREA` -- `DOMAIN` (domain-specifics, must be
23
28
  clarified), `INTERFACE` (externally observable behavior or UI/API
24
29
  interfaces, must be clarified), `ARCHITECTURE` (structure, wiring,
25
- placement, or dependencies, should be clarified), or `IMPLEMENTATION`
26
- (inner technical details, can be clarified) -- and a 1-2 word `ASPECT`
27
- hint. The questions are sorted primarily by descending focus area
28
- importance (`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`)
29
- and secondarily by the decision tree of their dependencies, so each
30
+ placement, or dependencies, should be clarified), `IMPLEMENTATION`
31
+ (inner technical details, can be clarified), `REGRESSION` (what must
32
+ not break, should be clarified), or `CONFIRMATION` (what proves the
33
+ specified behavior, should be clarified) -- and a 1-3 word `TOPIC`
34
+ hint. The focus areas are selected by the plan sections under focus
35
+ (`--focus`): `SPECIFICATION` selects `DOMAIN` and `INTERFACE`, `DESIGN`
36
+ selects `ARCHITECTURE` and `IMPLEMENTATION`, and `VERIFICATION` selects
37
+ `REGRESSION` and `CONFIRMATION`. The questions are sorted
38
+ by descending focus area importance, then by descending individual
39
+ impact, and finally by the decision tree of their dependencies, so each
30
40
  decision is asked after the decisions it depends on. It honors checks
31
41
  for *fuzzy language*, *conflicting terminology*, *conflicting code*,
32
42
  *non-concrete scenarios*, *unspecified architecture patterns*, and
33
43
  *unspecified dependencies*.
34
44
 
35
- In contrast to the batch grilling of `ase-code-edit --grill`, the
36
- questions are asked *sequentially*, one at a time: each question is
37
- announced as an `ASPECT n/N ▶ FOCUS ▷ ASPECT, QUESTION` line and then
38
- raised via an interactive dialog presenting two to four *grounded*
39
- answer alternatives labeled `A1`-`A4` (the current plan, marked with
40
- `⚑`, plus alternatives derived from the code base and world knowledge),
41
- the fixed `SKIP GRILLING` option (skip the remaining questions and
42
- rounds, keeping the answers gathered so far), and free-text input.
43
- Cancelling the dialog stops the skill and leaves the plan untouched.
44
- Once all aspects are resolved, the plan is updated and persisted, its
45
- `Properties:` frontmatter key gains the value `grilled`, and the user is
46
- offered a hand-off to editing, implementation, or preflight.
45
+ As with `ase-code-edit --grill`, all questions of a round are announced
46
+ together below a `GRILLING ROUND K/L` line (plain `GRILLING` for a
47
+ single round) as a `QUESTION`/`ANSWERS` table with one row per
48
+ question, each row carrying two to three *grounded* answer alternatives
49
+ (the one reflecting the current plan marked with `⚑`). They are then
50
+ asked in *one* batch via a single interactive dialog, whose only answer
51
+ option is the fixed `SKIP GRILLING` (skip the remaining grilling, but
52
+ still update the plan with the answers of the previous rounds), plus
53
+ free-text input. The questions are numbered `1`, `2`, etc. and their
54
+ answer alternatives are lettered `A`, `B`, etc., so the free-text input
55
+ can cherry-pick answers with short responses matching `\d+[a-zA-Z]`
56
+ (like `1A 2c`), freely mixed with keyword text. A question not
57
+ addressed by the reply accepts its `⚑` answer, if one exists.
58
+ Cancelling the dialog stops the skill without updating the plan with
59
+ the current round. After every round, the plan is updated and
60
+ persisted, its `Tags:` frontmatter key records each grilled section as
61
+ its own tag `grilled:`*section* (lower-case, kept alongside the tags of
62
+ previously grilled sections, e.g. `grilled:specification,
63
+ grilled:design`), and a `PLAN CHANGES` box shows the bullet-points
64
+ changed by the round. Finally, the user is offered a complete
65
+ re-grilling (with the same grilling options), or a hand-off to editing,
66
+ implementation, or draft.
67
+
68
+ The *open* questions are recorded in the checkboxes of the plan's
69
+ bullet-points: a bullet-point whose question stayed *unanswered*
70
+ (because the grilling was skipped, or the reply did not address a
71
+ question the plan offers no answer for) is marked `[?]`, an unanswered
72
+ question the plan does not cover yet is added as a new `[?]`
73
+ bullet-point, and an *answered* question resets its bullet-points to
74
+ `[ ]`. When a section is grilled *again* (its `grilled:`*section* tag
75
+ is already present), only its `[?]` bullet-points are re-asked, and a
76
+ section without any `[?]` bullet-point is skipped entirely, unless
77
+ `--force` is given. Bullet-points
78
+ in state `[-]` (cancelled) or `[>]` (deferred) are never questioned.
47
79
 
48
80
  ## OPTIONS
49
81
 
50
82
  - `--rounds`|`-r` *n*:
51
- The number of grill rounds to apply (default: `1`). Each round
52
- starts from scratch from only the current plan, as updated by all
53
- previous rounds, and re-derives its questions from it, forgetting
54
- all questions and answers of previous rounds. With more than one
55
- round, each round is announced as `GRILLING ROUND K/L`.
83
+ The *maximum* number of grill rounds to apply (default: `1`). Each
84
+ round starts from scratch from only the current plan, as updated and
85
+ saved by all previous rounds, and re-derives its questions from it,
86
+ forgetting all questions and answers of previous rounds. With more than one
87
+ round, each round is announced as `GRILLING ROUND K/L`. The grilling
88
+ stops early -- announced by a `grilling finished early` status line
89
+ -- once a round, even the first one, finds the open points clear
90
+ enough according to `--until`.
91
+
92
+ - `--until`|`-u` `MUST`|`SHOULD`|`MAY`:
93
+ Grill until at least all open points of the given severity or
94
+ higher are clear (default: `MUST`), where the severity follows from
95
+ the focus area: `MUST` (`DOMAIN`, `INTERFACE`), `SHOULD`
96
+ (`ARCHITECTURE`, `REGRESSION`, `CONFIRMATION`), and `MAY`
97
+ (`IMPLEMENTATION`). Independent of this, every open point is rated
98
+ with an individual impact (`HIGH`, `MEDIUM`, or `LOW`), which
99
+ decides which points are raised as questions and in which order
100
+ within a focus area.
101
+
102
+ - `--perspective`|`-p` *perspective*:
103
+ Grill exclusively from the logical *perspective* -- a keyword or
104
+ short hint like `domain`, `performance`, or `security`. The
105
+ perspective acts as an exclusive lens: only open points relevant from
106
+ this perspective are raised as questions, while every question still
107
+ carries its focus area, severity, and impact. The active perspective
108
+ is shown in the announcement line, like `GRILLING (security)`.
109
+ Without a perspective, the grilling is holistic.
110
+
111
+ - `--ground`|`-G`:
112
+ Ground the grilling in facts instead of the world knowledge of the
113
+ model alone: once before the first round, the artifacts of all kinds
114
+ (`SPEC`, `CODE`, `DOCS`, `INFR`, and `OTHR`) are scanned for
115
+ the project facts relevant to the grilled subject (from the given
116
+ perspective, if any) and the Internet/Web is searched for the
117
+ established practices, standards, patterns, and pitfalls about it.
118
+ These facts serve all rounds, both for raising the questions and for
119
+ preferably deriving their answer alternatives. The grounding is shown
120
+ in the announcement line, like `GRILLING (security, grounded)`. If
121
+ no usable facts are found, a warning is shown and the grilling falls
122
+ back to model knowledge.
123
+
124
+ - `--focus`|`-f` *section*[,...]:
125
+ Grill only the given plan *section*(s), in the given order. Each
126
+ *section* is one of `SPECIFICATION` (abbreviated `SPEC`), `DESIGN`
127
+ (abbreviated `DES`), or `VERIFICATION` (abbreviated `VER`), matched
128
+ case-insensitively, or the sentinel `all` (default), which expands
129
+ to `SPECIFICATION,DESIGN,VERIFICATION`. The questions are derived
130
+ from the themes of the focused sections only, while the entire plan
131
+ stays the context, and the answers may still update any section.
132
+ An unknown, empty, or duplicate *section* token aborts the skill.
133
+
134
+ - `--force`|`-F`:
135
+ Re-grill already grilled sections completely, i.e., ignore their
136
+ `grilled:`*section* tags instead of skipping them resp. re-asking
137
+ only their `[?]` bullet-points.
56
138
 
57
139
  - `--next`|`-n` *option*[,...]:
58
140
  Automatically answer the user dialog for the next step (at the end
@@ -62,9 +144,10 @@ offered a hand-off to editing, implementation, or preflight.
62
144
  to the downstream skill on hand-off so an entire pipeline can be
63
145
  pre-scripted in one shot. Recognized tokens at this skill: `none`
64
146
  (default, interactive answer required), `DONE` (no next step),
65
- `EDIT` (hand-over to `ase-task-edit`), `IMPLEMENT` (hand-over to
66
- `ase-task-implement`), or `PREFLIGHT` (hand-over to
67
- `ase-task-preflight`).
147
+ `GRILL` (re-grilling via `ase-task-grill --force` with the same
148
+ grilling options), `EDIT` (hand-over to `ase-task-edit`),
149
+ `IMPLEMENT` (hand-over to `ase-task-implement`), or `DRAFT`
150
+ (hand-over to `ase-task-implement --draft`).
68
151
 
69
152
  ## ARGUMENTS
70
153
 
@@ -100,6 +183,26 @@ Grill the current task plan in two rounds:
100
183
  ❯ /ase-task-grill --rounds 2
101
184
  ```
102
185
 
186
+ Grill the current task plan exclusively from the performance
187
+ perspective, grounded in the project artifacts and the Internet/Web:
188
+
189
+ ```text
190
+ ❯ /ase-task-grill --perspective performance --ground
191
+ ```
192
+
193
+ Grill only the `DESIGN` and then the `SPECIFICATION` section of the
194
+ current task plan:
195
+
196
+ ```text
197
+ ❯ /ase-task-grill --focus DES,SPEC
198
+ ```
199
+
200
+ Re-grill the already grilled current task plan completely:
201
+
202
+ ```text
203
+ ❯ /ase-task-grill --force
204
+ ```
205
+
103
206
  Grill the current task plan and then hand off to editing:
104
207
 
105
208
  ```text
@@ -108,6 +211,6 @@ Grill the current task plan and then hand off to editing:
108
211
 
109
212
  ## SEE ALSO
110
213
 
111
- [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md), [`ase-task-preflight`](../ase-task-preflight/help.md),
214
+ [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md),
112
215
  [`ase-task-implement`](../ase-task-implement/help.md), [`ase-task-view`](../ase-task-view/help.md), [`ase-task-list`](../ase-task-list/help.md),
113
216
  [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md), [`ase-code-edit`](../ase-code-edit/help.md).
@@ -34,7 +34,7 @@ Procedure
34
34
  Inherit the always existing <ase-session-id/> and the current
35
35
  <ase-task-id/> from the current context.
36
36
 
37
- 2. <if condition="<request/> is NOT empty AND <request/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`">
37
+ 2. <if condition="<request/> is NOT empty AND <request/> does NOT match the regexp `^[a-zA-Z0-9#][a-zA-Z0-9#_-]*$`">
38
38
  Only output the following <template/> and then immediately
39
39
  *STOP* processing the entire current skill:
40
40
 
@@ -77,5 +77,12 @@ Procedure
77
77
  <template>
78
78
  ⧉ **ASE**: ◉ task: **<ase-task-id/>** (*updated*)
79
79
  </template>
80
+
81
+ - If <text/> carries a line `NOTICE: <info/>` (the id does not
82
+ conform to the task id scheme of the project), additionally
83
+ output:
84
+ <template>
85
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ NOTICE: <info/>
86
+ </template>
80
87
  </if>
81
88
 
@@ -19,8 +19,11 @@ task id via the `ase_task_id` MCP tool.
19
19
  ## ARGUMENTS
20
20
 
21
21
  - *id*:
22
- The new task id to activate. If omitted, the currently active
23
- task id is reported.
22
+ The new task id to activate (characters `A-Z`, `a-z`, `0-9`, `#`,
23
+ `_`, and `-`). If omitted, the currently active task id is
24
+ reported. An id not conforming to the task id scheme of the
25
+ project (`project.task.idscheme`: `slug[:<words>]`, `seq[:<template>]`,
26
+ or `any`) is accepted, but noticed.
24
27
 
25
28
  ## SCENARIOS
26
29
 
@@ -45,4 +48,4 @@ Switch to a specific task:
45
48
  ## SEE ALSO
46
49
 
47
50
  [`ase-task-list`](../ase-task-list/help.md), [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-view`](../ase-task-view/help.md),
48
- [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md).
51
+ [`ase-task-status`](../ase-task-status/help.md), [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md).