@rse/ase 1.0.6 → 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.
- package/dst/ase-agent-definition-api.d.ts +184 -0
- package/dst/ase-agent-definition-api.js +6 -0
- package/dst/ase-agent-definition-builtin/condenser.js +42 -0
- package/dst/ase-agent-definition-builtin/editor.js +45 -0
- package/dst/ase-agent-definition-builtin/estimator.js +98 -0
- package/dst/ase-agent-definition-builtin/implementer.js +121 -0
- package/dst/ase-agent-definition-builtin/integrator.js +56 -0
- package/dst/ase-agent-definition-builtin/qualifier.js +61 -0
- package/dst/ase-agent-definition-builtin/rebooter.js +41 -0
- package/dst/ase-agent-definition-builtin/researcher.js +77 -0
- package/dst/ase-agent-definition-core.js +827 -0
- package/dst/ase-agent-fleet.js +772 -0
- package/dst/ase-agent-process.js +232 -0
- package/dst/ase-agent-relay-client.js +509 -0
- package/dst/ase-agent-relay-core.js +213 -0
- package/dst/ase-agent-relay-server-bind.js +242 -0
- package/dst/ase-agent-relay-server-cli.js +50 -0
- package/dst/ase-agent-runtime-claim.js +189 -0
- package/dst/ase-agent-runtime-engine.js +1100 -0
- package/dst/ase-agent-runtime-exec.js +275 -0
- package/dst/ase-agent-runtime-phase.js +581 -0
- package/dst/ase-agent-runtime-request.js +272 -0
- package/dst/ase-agent-runtime-tool.js +207 -0
- package/dst/ase-agent-runtime.js +1316 -0
- package/dst/ase-agent.js +65 -0
- package/dst/ase-artifact.js +6 -5
- package/dst/ase-config-core.js +465 -0
- package/dst/ase-config-schema.js +351 -0
- package/dst/ase-config-scope.js +172 -0
- package/dst/ase-config.js +25 -585
- package/dst/ase-hook.js +230 -116
- package/dst/ase-lib-daemon-cli.js +130 -0
- package/dst/ase-lib-hash.js +20 -0
- package/dst/{ase-log.js → ase-lib-log.js} +40 -7
- package/dst/ase-lib-server-bind.js +115 -0
- package/dst/ase-lib-server-cli.js +474 -0
- package/dst/{ase-table.js → ase-lib-table.js} +1 -1
- package/dst/{ase-version.js → ase-lib-version.js} +3 -0
- package/dst/ase-man.js +96 -0
- package/dst/ase-mcp.js +166 -13
- package/dst/{ase-getopt.js → ase-service-getopt.js} +82 -80
- package/dst/{ase-markdown.js → ase-service-markdown.js} +18 -11
- package/dst/ase-service-otel.js +1246 -0
- package/dst/{ase-skills.js → ase-service-skills.js} +29 -64
- package/dst/ase-service-state.js +101 -0
- package/dst/ase-service.js +251 -76
- package/dst/ase-setup-common.js +141 -0
- package/dst/ase-setup-mcp.js +359 -0
- package/dst/ase-setup-settings.js +837 -0
- package/dst/ase-setup.js +113 -869
- package/dst/ase-spec.js +31 -19
- package/dst/ase-statusline.js +108 -43
- package/dst/ase-task-board-core.js +739 -0
- package/dst/ase-task-board-filter.js +127 -0
- package/dst/ase-task-board-flow.js +237 -0
- package/dst/ase-task-board-graph.js +497 -0
- package/dst/ase-task-board-stats.js +263 -0
- package/dst/ase-task-board-tui-control.js +775 -0
- package/dst/ase-task-board-tui-model.js +1008 -0
- package/dst/ase-task-board-tui-popup.js +626 -0
- package/dst/ase-task-board-tui-style.js +106 -0
- package/dst/ase-task-board-tui-view.js +847 -0
- package/dst/ase-task-board-tui.js +189 -0
- package/dst/ase-task-board-web-client.css +1 -0
- package/dst/ase-task-board-web-client.html +20 -0
- package/dst/ase-task-board-web-client.js +81 -0
- package/dst/ase-task-board-web-server.js +823 -0
- package/dst/ase-task-board.js +134 -0
- package/dst/ase-task-format.js +757 -0
- package/dst/ase-task-request.js +208 -0
- package/dst/ase-task-store-client.js +495 -0
- package/dst/ase-task-store-core.js +804 -0
- package/dst/ase-task-store-issues.js +237 -0
- package/dst/ase-task-store-plugin-api.js +6 -0
- package/dst/ase-task-store-plugin-ase.js +484 -0
- package/dst/ase-task-store-plugin-delegate.js +137 -0
- package/dst/ase-task-store-plugin-gitea.js +666 -0
- package/dst/ase-task-store-plugin-github.js +696 -0
- package/dst/ase-task-store-plugin-gitlab.js +668 -0
- package/dst/ase-task-store-server-bind.js +538 -0
- package/dst/ase-task-store-server-cli.js +154 -0
- package/dst/ase-task.js +1335 -357
- package/dst/{ase-compat.js → ase-util-compat.js} +2 -2
- package/dst/{ase-diagram.js → ase-util-diagram.js} +107 -32
- package/dst/{ase-meta.js → ase-util-meta.js} +2 -2
- package/dst/{ase-metric.js → ase-util-metric.js} +2 -2
- package/dst/{ase-mint.js → ase-util-mint.js} +19 -12
- package/dst/{ase-worktree.js → ase-util-worktree.js} +30 -19
- package/dst/ase-util.js +20 -0
- package/dst/ase.js +108 -32
- package/dst/man/ase-agent-adhoc.1 +515 -0
- package/dst/man/ase-agent-condenser.1 +193 -0
- package/dst/man/ase-agent-editor.1 +212 -0
- package/dst/man/ase-agent-estimator.1 +214 -0
- package/dst/man/ase-agent-fleet.1 +185 -0
- package/dst/man/ase-agent-implementer.1 +233 -0
- package/dst/man/ase-agent-integrator.1 +213 -0
- package/dst/man/ase-agent-qualifier.1 +214 -0
- package/dst/man/ase-agent-rebooter.1 +193 -0
- package/dst/man/ase-agent-relay.1 +128 -0
- package/dst/man/ase-agent-researcher.1 +217 -0
- package/dst/man/ase-agent.1 +264 -0
- package/dst/man/ase-artifact-list.1 +38 -0
- package/dst/man/ase-artifact-name.1 +39 -0
- package/dst/man/ase-artifact.1 +56 -0
- package/dst/man/ase-config-delete.1 +45 -0
- package/dst/man/ase-config-edit.1 +48 -0
- package/dst/man/ase-config-get.1 +46 -0
- package/dst/man/ase-config-init.1 +60 -0
- package/dst/man/ase-config-list.1 +42 -0
- package/dst/man/ase-config-set.1 +52 -0
- package/dst/man/ase-config.1 +225 -0
- package/dst/man/ase-hook-permission-request.1 +36 -0
- package/dst/man/ase-hook-pre-tool-use.1 +59 -0
- package/dst/man/ase-hook-session-end.1 +47 -0
- package/dst/man/ase-hook-session-persona.1 +37 -0
- package/dst/man/ase-hook-session-start.1 +81 -0
- package/dst/man/ase-hook-stop.1 +34 -0
- package/dst/man/ase-hook-user-prompt-submit.1 +34 -0
- package/dst/man/ase-hook.1 +51 -0
- package/dst/man/ase-man.1 +67 -0
- package/dst/man/ase-mcp.1 +61 -0
- package/dst/man/ase-service-log.1 +43 -0
- package/dst/man/ase-service-send.1 +47 -0
- package/dst/man/ase-service-start.1 +54 -0
- package/dst/man/ase-service-status.1 +46 -0
- package/dst/man/ase-service-stop.1 +37 -0
- package/dst/man/ase-service.1 +85 -0
- package/dst/man/ase-setup-disable.1 +44 -0
- package/dst/man/ase-setup-enable.1 +45 -0
- package/dst/man/ase-setup-install.1 +73 -0
- package/dst/man/ase-setup-mcp.1 +124 -0
- package/dst/man/ase-setup-status.1 +60 -0
- package/dst/man/ase-setup-statusline.1 +92 -0
- package/dst/man/ase-setup-telemetry.1 +92 -0
- package/dst/man/ase-setup-uninstall.1 +59 -0
- package/dst/man/ase-setup-update.1 +64 -0
- package/dst/man/ase-setup.1 +93 -0
- package/dst/man/ase-spec-export.1 +62 -0
- package/dst/man/ase-spec-lint.1 +40 -0
- package/dst/man/ase-spec-preview.1 +40 -0
- package/dst/man/ase-spec.1 +46 -0
- package/dst/man/ase-statusline.1 +189 -0
- package/dst/man/ase-task-assign.1 +71 -0
- package/dst/man/ase-task-board.1 +384 -0
- package/dst/man/ase-task-delete.1 +35 -0
- package/dst/man/ase-task-edit.1 +46 -0
- package/dst/man/ase-task-idscheme.1 +65 -0
- package/dst/man/ase-task-lifecycle.1 +57 -0
- package/dst/man/ase-task-list.1 +47 -0
- package/dst/man/ase-task-load.1 +36 -0
- package/dst/man/ase-task-newid.1 +61 -0
- package/dst/man/ase-task-purge.1 +37 -0
- package/dst/man/ase-task-rename.1 +44 -0
- package/dst/man/ase-task-request.1 +61 -0
- package/dst/man/ase-task-save.1 +48 -0
- package/dst/man/ase-task-status.1 +55 -0
- package/dst/man/ase-task-store.1 +194 -0
- package/dst/man/ase-task-view.1 +40 -0
- package/dst/man/ase-task.1 +160 -0
- package/dst/man/ase-util-compat.1 +25 -0
- package/dst/man/ase-util-diagram.1 +76 -0
- package/dst/man/ase-util-meta.1 +45 -0
- package/dst/man/ase-util-metric.1 +54 -0
- package/dst/man/ase-util-mint.1 +59 -0
- package/dst/man/ase-util-worktree.1 +72 -0
- package/dst/man/ase-util.1 +50 -0
- package/dst/man/ase.1 +124 -0
- package/package.json +79 -21
- 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-meta-diagram.md +12 -8
- package/plugin/agents/ase-repo-review.md +322 -0
- package/plugin/hooks/hooks-codex.json +5 -0
- package/plugin/hooks/hooks-copilot.json +5 -0
- package/plugin/hooks/hooks.json +8 -0
- package/plugin/meta/ase-common-approach.md +117 -0
- package/plugin/meta/ase-common-changeset.md +256 -0
- package/plugin/meta/ase-common-code.md +10 -173
- package/plugin/meta/ase-common-grill.md +317 -0
- package/plugin/meta/ase-common-resolve.md +305 -0
- package/plugin/meta/ase-common-task.md +83 -4
- package/plugin/meta/ase-constitution.md +0 -2
- package/plugin/meta/ase-format-specbook.md +208 -25
- package/plugin/meta/ase-format-specbook.yaml +242 -851
- package/plugin/meta/ase-format-task.md +669 -125
- package/plugin/meta/ase-persona.md +3 -4
- package/plugin/meta/ase-skill.md +9 -0
- package/plugin/mods/ase-mods.ts +409 -0
- package/plugin/mods/claude-code.d.ts +13417 -0
- package/plugin/skills/ase-arch-analyze/SKILL.md +1 -1
- package/plugin/skills/ase-arch-analyze/help.md +2 -2
- package/plugin/skills/ase-code-analyze/SKILL.md +59 -8
- package/plugin/skills/ase-code-analyze/help.md +29 -4
- package/plugin/skills/ase-code-edit/SKILL.md +107 -181
- package/plugin/skills/ase-code-edit/help.md +118 -31
- package/plugin/skills/ase-code-lint/SKILL.md +64 -13
- package/plugin/skills/ase-code-lint/help.md +32 -2
- package/plugin/skills/ase-docs-proofread/SKILL.md +4 -4
- package/plugin/skills/ase-docs-proofread/help.md +1 -1
- package/plugin/skills/ase-docs-refine/SKILL.md +4 -4
- package/plugin/skills/ase-docs-shorten/SKILL.md +4 -4
- package/plugin/skills/ase-help-intent/data.md +2164 -1087
- package/plugin/skills/ase-help-intent/help.md +1 -1
- package/plugin/skills/ase-help-skill/catalog.md +12 -9
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +1 -1
- package/plugin/skills/ase-meta-config/SKILL.md +3 -4
- package/plugin/skills/ase-meta-config/help.md +31 -10
- package/plugin/skills/ase-meta-mint/SKILL.md +5 -5
- package/plugin/skills/ase-meta-mint/help.md +10 -5
- package/plugin/skills/ase-meta-why/help.md +1 -1
- package/plugin/skills/ase-meta-workflow/SKILL.md +7 -7
- package/plugin/skills/ase-meta-workflow/help.md +4 -4
- package/plugin/skills/ase-meta-workflow/sample.md +3 -3
- package/plugin/skills/ase-meta-workflow/workflow.txt +22 -18
- package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/SKILL.md +4 -3
- package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/help.md +5 -5
- package/plugin/skills/{ase-meta-commit → ase-repo-commit}/SKILL.md +6 -6
- package/plugin/skills/{ase-meta-commit → ase-repo-commit}/help.md +5 -5
- package/plugin/skills/{ase-meta-diff → ase-repo-diff}/SKILL.md +6 -6
- package/plugin/skills/{ase-meta-diff → ase-repo-diff}/help.md +8 -8
- package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/SKILL.md +19 -19
- package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/help.md +10 -12
- package/plugin/skills/ase-repo-merge/SKILL.md +346 -0
- package/plugin/skills/ase-repo-merge/help.md +107 -0
- package/plugin/skills/ase-repo-resolve/SKILL.md +158 -0
- package/plugin/skills/ase-repo-resolve/help.md +102 -0
- package/plugin/skills/ase-repo-review/SKILL.md +406 -0
- package/plugin/skills/ase-repo-review/help.md +181 -0
- package/plugin/skills/ase-spec-edit/SKILL.md +117 -183
- package/plugin/skills/ase-spec-edit/help.md +107 -26
- package/plugin/skills/ase-sync-reconcile/help.md +1 -1
- package/plugin/skills/ase-task-assign/SKILL.md +111 -0
- package/plugin/skills/ase-task-assign/help.md +119 -0
- package/plugin/skills/ase-task-condense/SKILL.md +21 -21
- package/plugin/skills/ase-task-condense/help.md +12 -10
- package/plugin/skills/ase-task-delete/SKILL.md +1 -1
- package/plugin/skills/ase-task-dissect/SKILL.md +71 -48
- package/plugin/skills/ase-task-dissect/help.md +10 -9
- package/plugin/skills/ase-task-edit/SKILL.md +379 -94
- package/plugin/skills/ase-task-edit/help.md +95 -22
- package/plugin/skills/ase-task-estimate/SKILL.md +492 -0
- package/plugin/skills/ase-task-estimate/help.md +158 -0
- package/plugin/skills/ase-task-grill/SKILL.md +246 -138
- package/plugin/skills/ase-task-grill/help.md +129 -26
- package/plugin/skills/ase-task-id/SKILL.md +8 -1
- package/plugin/skills/ase-task-id/help.md +6 -3
- package/plugin/skills/ase-task-implement/SKILL.md +535 -145
- package/plugin/skills/ase-task-implement/help.md +138 -47
- package/plugin/skills/ase-task-integrate/SKILL.md +549 -0
- package/plugin/skills/ase-task-integrate/help.md +187 -0
- package/plugin/skills/ase-task-list/SKILL.md +55 -23
- package/plugin/skills/ase-task-list/help.md +45 -21
- package/plugin/skills/ase-task-reboot/SKILL.md +84 -43
- package/plugin/skills/ase-task-reboot/help.md +28 -8
- package/plugin/skills/ase-task-rename/SKILL.md +10 -2
- package/plugin/skills/ase-task-research/SKILL.md +386 -0
- package/plugin/skills/ase-task-research/help.md +102 -0
- package/plugin/skills/ase-task-status/SKILL.md +137 -0
- package/plugin/skills/ase-task-status/help.md +80 -0
- package/plugin/skills/ase-task-view/SKILL.md +49 -24
- package/plugin/skills/ase-task-view/help.md +19 -9
- package/plugin/agents/ase-meta-review.md +0 -187
- package/plugin/skills/ase-code-craft/SKILL.md +0 -264
- package/plugin/skills/ase-code-craft/help.md +0 -122
- package/plugin/skills/ase-code-refactor/SKILL.md +0 -232
- package/plugin/skills/ase-code-refactor/help.md +0 -109
- package/plugin/skills/ase-code-resolve/SKILL.md +0 -289
- package/plugin/skills/ase-code-resolve/help.md +0 -116
- package/plugin/skills/ase-meta-review/SKILL.md +0 -210
- package/plugin/skills/ase-meta-review/help.md +0 -96
- package/plugin/skills/ase-task-preflight/SKILL.md +0 -166
- package/plugin/skills/ase-task-preflight/help.md +0 -82
- /package/dst/{ase-ignore.js → ase-lib-ignore.js} +0 -0
- /package/dst/{ase-stdio.js → ase-lib-stdio.js} +0 -0
- /package/dst/{ase-kv.js → ase-service-kv.js} +0 -0
- /package/dst/{ase-sleep.js → ase-service-sleep.js} +0 -0
- /package/dst/{ase-timestamp.js → ase-service-timestamp.js} +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ase-task-status
|
|
3
|
+
argument-hint: "[--help|-h] [<id>:] [<status>]"
|
|
4
|
+
description: >
|
|
5
|
+
Get or set the lifecycle status of the current or given task plan.
|
|
6
|
+
Use when the user wants to know or change the "status" or "state"
|
|
7
|
+
of the "task" or "plan", e.g. to "close", "shelve", "cancel", or
|
|
8
|
+
"re-open" it.
|
|
9
|
+
user-invocable: true
|
|
10
|
+
disable-model-invocation: false
|
|
11
|
+
effort: high
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
15
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
16
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
17
|
+
|
|
18
|
+
<purpose name="ase-task-status">
|
|
19
|
+
Configure Task Status
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<expand name="getopt" arg1="ase-task-status">
|
|
23
|
+
$ARGUMENTS
|
|
24
|
+
</expand>
|
|
25
|
+
|
|
26
|
+
<objective>
|
|
27
|
+
*Get* or *set* the lifecycle *status* of the task plan.
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
Procedure
|
|
31
|
+
---------
|
|
32
|
+
|
|
33
|
+
1. **Determine Task and Status:**
|
|
34
|
+
|
|
35
|
+
1. Parse <arguments><getopt-arguments/></arguments> (with any
|
|
36
|
+
leading and trailing whitespace stripped) into a
|
|
37
|
+
whitespace-separated list of tokens. Inherit the always
|
|
38
|
+
existing <ase-task-id/> from the current context. Set
|
|
39
|
+
<id><ase-task-id/></id> and <status></status> (empty). Set
|
|
40
|
+
<states/> to the states of the task lifecycle model
|
|
41
|
+
<ase-project-task-lifecycle/> of the current project:
|
|
42
|
+
|
|
43
|
+
- If <ase-project-task-lifecycle/> is `solo` (or absent):
|
|
44
|
+
`OPEN`, `SHELVED`, `CLOSED`, and `CANCELLED`.
|
|
45
|
+
|
|
46
|
+
- If <ase-project-task-lifecycle/> is `team`:
|
|
47
|
+
`PLANNING`, `SHELVED`, `IMPLEMENTING`, `STALLED`,
|
|
48
|
+
`IMPLEMENTED`, and `CANCELLED`.
|
|
49
|
+
|
|
50
|
+
- If <ase-project-task-lifecycle/> is `enterprise`:
|
|
51
|
+
`DRAFTED`, `SHELVED`, `PLANNING`, `PLANNED`, `STALLED`,
|
|
52
|
+
`IMPLEMENTING`, `IMPLEMENTED`, `DECLINED`, `QUALIFYING`,
|
|
53
|
+
`QUALIFIED`, `DEFERRED`, `INTEGRATING`, `INTEGRATED`, and
|
|
54
|
+
`CANCELLED`.
|
|
55
|
+
|
|
56
|
+
Do not output anything.
|
|
57
|
+
|
|
58
|
+
2. <if condition="<arguments/> contains two tokens">
|
|
59
|
+
Set <id/> to the first token with a trailing `:` removed and
|
|
60
|
+
<status/> to the second token. Do not output anything.
|
|
61
|
+
</if>
|
|
62
|
+
|
|
63
|
+
3. <if condition="<arguments/> contains exactly one token">
|
|
64
|
+
- If the token ends with `:`:
|
|
65
|
+
Set <id/> to the token with the trailing `:` removed.
|
|
66
|
+
- Else if the token, upper-cased, is one of <states/>:
|
|
67
|
+
Set <status/> to the token.
|
|
68
|
+
- Else:
|
|
69
|
+
Set <id/> to the token.
|
|
70
|
+
|
|
71
|
+
Do not output anything.
|
|
72
|
+
</if>
|
|
73
|
+
|
|
74
|
+
4. <if condition="<arguments/> contains more than two tokens">
|
|
75
|
+
Only output the following <template/> and then immediately
|
|
76
|
+
*STOP* processing the entire current skill:
|
|
77
|
+
|
|
78
|
+
<template>
|
|
79
|
+
⧉ **ASE**: ☻ skill: **ase-task-status**, ▶ ERROR: expected `[<id>:] [<status>]` arguments
|
|
80
|
+
</template>
|
|
81
|
+
</if>
|
|
82
|
+
|
|
83
|
+
5. <if condition="<id/> does NOT match the regexp `^[a-zA-Z0-9#][a-zA-Z0-9#_-]*$`">
|
|
84
|
+
Only output the following <template/> and then immediately
|
|
85
|
+
*STOP* processing the entire current skill:
|
|
86
|
+
|
|
87
|
+
<template>
|
|
88
|
+
⧉ **ASE**: ☻ skill: **ase-task-status**, ▶ ERROR: invalid task id `<id/>` (expected `^[a-zA-Z0-9#][a-zA-Z0-9#_-]*$`)
|
|
89
|
+
</template>
|
|
90
|
+
</if>
|
|
91
|
+
|
|
92
|
+
2. **Perform Operation:**
|
|
93
|
+
|
|
94
|
+
1. <if condition="<status/> is empty">
|
|
95
|
+
Call the `ase_task_status(id: "<id/>")` tool of the `ase` MCP
|
|
96
|
+
server to get the lifecycle status of the task plan and set
|
|
97
|
+
<text/> to the `text` output field of this tool call. Do not
|
|
98
|
+
output anything related to this MCP tool call.
|
|
99
|
+
|
|
100
|
+
- If <text/> starts with `ERROR:` or `WARNING:`:
|
|
101
|
+
Only output the following <template/>:
|
|
102
|
+
|
|
103
|
+
<template>
|
|
104
|
+
⧉ **ASE**: ◉ task: **<id/>**, ▶ status: **<text/>**
|
|
105
|
+
</template>
|
|
106
|
+
|
|
107
|
+
- If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
|
|
108
|
+
Only output the following <template/>:
|
|
109
|
+
|
|
110
|
+
<template>
|
|
111
|
+
⧉ **ASE**: ◉ task: **<id/>**, ◐ status: **<text/>**
|
|
112
|
+
</template>
|
|
113
|
+
</if>
|
|
114
|
+
|
|
115
|
+
2. <if condition="<status/> is NOT empty">
|
|
116
|
+
Call the `ase_task_status(id: "<id/>", status: "<status/>")`
|
|
117
|
+
tool of the `ase` MCP server to set the lifecycle status of the
|
|
118
|
+
task plan and set <text/> to the `text` output field of this
|
|
119
|
+
tool call. Do not output anything related to this MCP tool
|
|
120
|
+
call.
|
|
121
|
+
|
|
122
|
+
- If <text/> starts with `ERROR:`:
|
|
123
|
+
Only output the following <template/>:
|
|
124
|
+
|
|
125
|
+
<template>
|
|
126
|
+
⧉ **ASE**: ◉ task: **<id/>**, ▶ status: **<text/>**
|
|
127
|
+
</template>
|
|
128
|
+
|
|
129
|
+
- If <text/> starts NOT with `ERROR:`:
|
|
130
|
+
Strip the leading `OK: ` prefix from <text/> and only output
|
|
131
|
+
the following <template/>:
|
|
132
|
+
|
|
133
|
+
<template>
|
|
134
|
+
⧉ **ASE**: ◉ task: **<id/>**, ◐ status: **<status/>** (*updated*), ▶ <text/>
|
|
135
|
+
</template>
|
|
136
|
+
</if>
|
|
137
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
|
|
2
|
+
## NAME
|
|
3
|
+
|
|
4
|
+
`ase-task-status` - Configure Task Status
|
|
5
|
+
|
|
6
|
+
## SYNOPSIS
|
|
7
|
+
|
|
8
|
+
`ase-task-status`
|
|
9
|
+
[`--help`|`-h`]
|
|
10
|
+
[*id*`:`] [*status*]
|
|
11
|
+
|
|
12
|
+
## DESCRIPTION
|
|
13
|
+
|
|
14
|
+
The `ase-task-status` skill gets or sets the *lifecycle status* of a
|
|
15
|
+
*task plan*, i.e. its `Status:` frontmatter key, via the
|
|
16
|
+
`ase_task_status` MCP tool. Without a *status* argument, it reports the
|
|
17
|
+
current status of the plan (defaulting to the initial state of the task
|
|
18
|
+
lifecycle model if the plan carries no `Status:` key). With a *status*
|
|
19
|
+
argument, it sets the status of the plan, leaving its `Modified:` key
|
|
20
|
+
alone, as that key tracks changes of the plan body only.
|
|
21
|
+
|
|
22
|
+
The *status* is matched case-insensitively against the states of the
|
|
23
|
+
task lifecycle model configured for the project via
|
|
24
|
+
`project.task.lifecycle` (`solo`, `team`, or `enterprise`) and rejected
|
|
25
|
+
if it is no such state. A status not reachable from the current one via
|
|
26
|
+
one or more transitions of the state machine of the model is *rejected*,
|
|
27
|
+
too.
|
|
28
|
+
|
|
29
|
+
If *id*`:` is omitted, the *current* task id (inherited from the session
|
|
30
|
+
context) is used. A single bare token which is no state of the model is
|
|
31
|
+
also taken as the task id. The current task id of the session is never
|
|
32
|
+
switched.
|
|
33
|
+
|
|
34
|
+
## ARGUMENTS
|
|
35
|
+
|
|
36
|
+
- *id*`:`:
|
|
37
|
+
The unique identifier of the task plan, with a trailing colon.
|
|
38
|
+
If omitted, the current task id is used.
|
|
39
|
+
|
|
40
|
+
- *status*:
|
|
41
|
+
The lifecycle status to set, one of the states of the configured
|
|
42
|
+
task lifecycle model (case-insensitive). If omitted, the current
|
|
43
|
+
status is reported.
|
|
44
|
+
|
|
45
|
+
## SCENARIOS
|
|
46
|
+
|
|
47
|
+
- You want to know the lifecycle status of the current or a given task plan
|
|
48
|
+
- You want a task plan closed, shelved, cancelled, or re-opened
|
|
49
|
+
- You want a task plan moved into a certain lifecycle state by hand
|
|
50
|
+
|
|
51
|
+
## EXAMPLES
|
|
52
|
+
|
|
53
|
+
Show the status of the current task plan:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
❯ /ase-task-status
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Show the status of a specific task plan:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
❯ /ase-task-status hello:
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Close the current task plan (`solo` lifecycle model):
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
❯ /ase-task-status closed
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Shelve a specific task plan:
|
|
72
|
+
|
|
73
|
+
```text
|
|
74
|
+
❯ /ase-task-status hello: SHELVED
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## SEE ALSO
|
|
78
|
+
|
|
79
|
+
[`ase-task-list`](../ase-task-list/help.md), [`ase-task-id`](../ase-task-id/help.md), [`ase-task-view`](../ase-task-view/help.md),
|
|
80
|
+
[`ase-task-implement`](../ase-task-implement/help.md), [`ase-task-delete`](../ase-task-delete/help.md).
|
|
@@ -43,7 +43,7 @@ Procedure
|
|
|
43
43
|
Do not output anything.
|
|
44
44
|
</if>
|
|
45
45
|
|
|
46
|
-
3. <if condition="<id/> does NOT match the regexp `^[a-zA-
|
|
46
|
+
3. <if condition="<id/> does NOT match the regexp `^[a-zA-Z0-9#][a-zA-Z0-9#_-]*$`">
|
|
47
47
|
Only output the following <template/> and then immediately
|
|
48
48
|
*STOP* processing the entire current skill:
|
|
49
49
|
|
|
@@ -55,7 +55,10 @@ Procedure
|
|
|
55
55
|
2. **Perform Operation**:
|
|
56
56
|
|
|
57
57
|
1. Call the `ase_task_load(id: "<id/>", variant: "render")` tool
|
|
58
|
-
of the `ase` MCP server
|
|
58
|
+
of the `ase` MCP server -- if <getopt-option-full/> is `true`,
|
|
59
|
+
additionally with the argument `attachments: "full"`, else with
|
|
60
|
+
the payloads of all attachments *elided* to `[elided: <n/> lines]`
|
|
61
|
+
markers (the default) -- to load the task plan content in its
|
|
59
62
|
*rendering-prepared* form -- this skill is *display-only* and
|
|
60
63
|
hence never persists the plan again -- and set <text/> to the
|
|
61
64
|
`text` output field of this `ase_task_load` tool call. Do not
|
|
@@ -84,35 +87,51 @@ Procedure
|
|
|
84
87
|
both `---` delimiters and all of their keys -- and instead place
|
|
85
88
|
the following column-aligned glyph lines *before* the
|
|
86
89
|
`# TASK: <title/>` heading, separated from it by an empty line,
|
|
87
|
-
omitting the line of every key absent from the frontmatter
|
|
88
|
-
glyph lines *MUST* stay
|
|
89
|
-
|
|
90
|
-
below it. This keeps the
|
|
91
|
-
|
|
92
|
-
*display-only* and *MUST NOT*
|
|
90
|
+
omitting the line of every key absent from the frontmatter and
|
|
91
|
+
always omitting the `Type` key. The glyph lines *MUST* stay
|
|
92
|
+
*above* the heading, exactly where the frontmatter block sits in
|
|
93
|
+
the plan file, and *MUST NOT* be moved below it. This keeps the
|
|
94
|
+
`---` delimiters from rendering as a horizontal rule plus a
|
|
95
|
+
*setext heading*. This rewrite is *display-only* and *MUST NOT*
|
|
96
|
+
change <task-content/> itself:
|
|
93
97
|
|
|
94
98
|
<format>
|
|
95
|
-
◉ **Id:**
|
|
96
|
-
⎈ **Created:**
|
|
97
|
-
⚙ **Modified:**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
◉ **Id:** <task-id/>
|
|
100
|
+
⎈ **Created:** <timestamp-created/>
|
|
101
|
+
⚙ **Modified:** <timestamp-modified/>
|
|
102
|
+
⊞ **Group:** <task-group/>
|
|
103
|
+
◷ **Phase:** <task-phase/>
|
|
104
|
+
⇢ **After:** <task-after/>
|
|
105
|
+
◐ **Status:** <task-status/>
|
|
106
|
+
☯ **Kind:** <task-kind/>
|
|
107
|
+
⚖ **Effort:** <task-effort/>
|
|
108
|
+
⚑ **Tags:** <task-tags/>
|
|
109
|
+
⇤ **Source:** <task-source/>
|
|
110
|
+
⇢ **Changeset:** <task-changeset/>
|
|
111
|
+
⇥ **Target:** <task-target/>
|
|
101
112
|
</format>
|
|
102
113
|
|
|
103
|
-
*Render plan*: Only output the following <template/>.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
companion skill `ase-task-preflight`) exists, replace the entire
|
|
107
|
-
content of the `## IMPLEMENTATION DRAFT` section with `[...]`.
|
|
108
|
-
Else, do *not* truncate, summarize, or partially show the plan.
|
|
109
|
-
Use the following <template/>:
|
|
114
|
+
*Render plan*: Only output the following <template/>. Do *not*
|
|
115
|
+
truncate, summarize, or partially show the plan. Use the
|
|
116
|
+
following <template/>:
|
|
110
117
|
|
|
111
118
|
<template>
|
|
112
119
|
<ase-tpl-head title="TASK" subtitle="<task-id/>"/>
|
|
113
120
|
<task-content/>
|
|
114
121
|
<ase-tpl-foot title="TASK" subtitle="<task-id/>"/>
|
|
115
122
|
</template>
|
|
123
|
+
|
|
124
|
+
<if condition="the backmatter of <task-content/> contains an attachment
|
|
125
|
+
block with the `Type` key value `text/x-diff; charset=utf-8; kind="draft"`
|
|
126
|
+
which is *stale*, i.e. its `Modified` key is absent or older
|
|
127
|
+
than the `Modified` key of the frontmatter">
|
|
128
|
+
Directly *after* this <template/>, only output the following
|
|
129
|
+
<template/>:
|
|
130
|
+
|
|
131
|
+
<template>
|
|
132
|
+
⧉ **ASE**: ◉ task: **<task-id/>**, ▶ WARNING: implementation draft attachment is **stale** (older than the plan)
|
|
133
|
+
</template>
|
|
134
|
+
</if>
|
|
116
135
|
</if>
|
|
117
136
|
|
|
118
137
|
3. Finally, give the closing hints by expanding the following (which,
|
|
@@ -121,12 +140,18 @@ Procedure
|
|
|
121
140
|
|
|
122
141
|
<if condition="<task-content/> is not empty">
|
|
123
142
|
<ase-tpl-hint level="normal">
|
|
124
|
-
Use `/ase-task-edit` or `/ase-task-grill` to refine this plan, `/ase-task-
|
|
143
|
+
Use `/ase-task-edit` or `/ase-task-grill` to refine this plan, `/ase-task-implement --draft` to draft its implementation, `/ase-task-implement` to realize it, and `/ase-task-integrate` to deliver it.
|
|
125
144
|
</ase-tpl-hint>
|
|
126
145
|
|
|
127
|
-
<if condition="<getopt-option-full/> is not equal `true` and the
|
|
146
|
+
<if condition="<getopt-option-full/> is not equal `true` and the backmatter of <task-content/> contains an elided `Data` payload">
|
|
128
147
|
<ase-tpl-hint level="verbose">
|
|
129
|
-
Use `/ase-task-view --full` to show the elided
|
|
148
|
+
Use `/ase-task-view --full` to show the elided attachment payloads, too.
|
|
149
|
+
</ase-tpl-hint>
|
|
150
|
+
</if>
|
|
151
|
+
|
|
152
|
+
<if condition="the implementation draft attachment block was reported as *stale* above">
|
|
153
|
+
<ase-tpl-hint level="minimal">
|
|
154
|
+
Run `/ase-task-implement --draft` again to re-create the implementation draft for the changed plan, as `/ase-task-integrate --draft` refuses a stale draft.
|
|
130
155
|
</ase-tpl-hint>
|
|
131
156
|
</if>
|
|
132
157
|
</if>
|
|
@@ -17,18 +17,28 @@ The plan is loaded via the `ase_task_load` MCP tool and shown framed
|
|
|
17
17
|
between a `( TASK )` header and footer rule. If *id* is omitted, the
|
|
18
18
|
*current* task id (inherited from the session context) is used.
|
|
19
19
|
|
|
20
|
-
By default,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
compact. The `--full`|`-f` option
|
|
24
|
-
the plan in full, without any truncation or summarization.
|
|
20
|
+
By default, the payload of every attachment in the backmatter (like an
|
|
21
|
+
implementation draft of `ase-task-implement --draft` or the processing
|
|
22
|
+
log of an `ase agent`) is elided to an `[elided: <n> lines]` marker to
|
|
23
|
+
keep the view compact. The `--full`|`-f` option loads the payloads, too,
|
|
24
|
+
and renders the plan in full, without any truncation or summarization.
|
|
25
|
+
|
|
26
|
+
An implementation draft attachment whose `Modified:` key is absent or
|
|
27
|
+
older than the `Modified:` key of the plan frontmatter is *stale*, as
|
|
28
|
+
the plan changed after the draft was created. Such a draft is reported
|
|
29
|
+
with a warning after the rendering, together with a hint that
|
|
30
|
+
`ase-task-implement --draft` has to be run again, as
|
|
31
|
+
`ase-task-integrate --draft` refuses a stale draft.
|
|
32
|
+
|
|
33
|
+
The frontmatter keys `Source:`, `Changeset:`, and `Target:` are
|
|
34
|
+
rendered as well, stating where the change set of the plan is
|
|
35
|
+
created from, stored in, and delivered to.
|
|
25
36
|
|
|
26
37
|
## OPTIONS
|
|
27
38
|
|
|
28
39
|
- `--full`|`-f`:
|
|
29
|
-
Render the plan in full,
|
|
30
|
-
|
|
31
|
-
replaced with `[...]` for plans longer than 90 lines.
|
|
40
|
+
Render the plan in full, including the payloads of its attachments.
|
|
41
|
+
By default, each payload is elided to an `[elided: <n> lines]` marker.
|
|
32
42
|
|
|
33
43
|
## ARGUMENTS
|
|
34
44
|
|
|
@@ -56,7 +66,7 @@ View a specific task plan:
|
|
|
56
66
|
❯ /ase-task-view hello
|
|
57
67
|
```
|
|
58
68
|
|
|
59
|
-
View a plan in full, including its
|
|
69
|
+
View a plan in full, including its implementation draft attachment:
|
|
60
70
|
|
|
61
71
|
```text
|
|
62
72
|
❯ /ase-task-view --full hello
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ase-meta-review
|
|
3
|
-
description: "Review Investigation"
|
|
4
|
-
effort: high
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Your role is an experienced, *expert-level software reviewer* performing
|
|
8
|
-
a holistic, human-style review of a concrete set of staged Git changes —
|
|
9
|
-
the way a thorough reviewer would judge a pull request before approving it.
|
|
10
|
-
|
|
11
|
-
Your objective is to *reconstruct the change's intent* and *critique the
|
|
12
|
-
staged diff as a whole* against a fixed set of reviewer dimensions,
|
|
13
|
-
producing *prioritized*, *severity-tagged*, *line-cited* findings.
|
|
14
|
-
|
|
15
|
-
Workflow
|
|
16
|
-
--------
|
|
17
|
-
|
|
18
|
-
1. Capture the *staged change set* by running the following command
|
|
19
|
-
(taken exactly as given), capturing the full diff output into <diff/>:
|
|
20
|
-
|
|
21
|
-
`git diff --cached HEAD`
|
|
22
|
-
|
|
23
|
-
2. Use the `Read` tool to read *every* file touched by <diff/> in its
|
|
24
|
-
*full current form* (not just the hunks), plus all *related* files
|
|
25
|
-
needed to really comprehend the change — callers of changed
|
|
26
|
-
functions, the interfaces/contracts they implement, and adjacent
|
|
27
|
-
code that establishes the surrounding idiom. A diff cannot be
|
|
28
|
-
reviewed from the hunks alone.
|
|
29
|
-
|
|
30
|
-
3. *Probe the repository read-only and heuristically* (via `git grep`,
|
|
31
|
-
`grep`, `git ls-files`, restricted to first-party code) only as
|
|
32
|
-
needed to substantiate findings — e.g. who imports a touched module,
|
|
33
|
-
whether a changed contract has other call sites, whether touched code
|
|
34
|
-
has adjacent tests. Do not modify anything.
|
|
35
|
-
|
|
36
|
-
4. Read the project's *documented conventions* — the AI guidance files
|
|
37
|
-
(`AGENTS.md`, or similar) and any referenced format/meta documents
|
|
38
|
-
— so the `CONVENTION` dimension can be judged against the project's
|
|
39
|
-
*own* stated rules (code style, plan/spec/arch formats) rather than
|
|
40
|
-
generic taste.
|
|
41
|
-
|
|
42
|
-
5. *Reconstruct the intent*: determine the *single*, *coherent* purpose
|
|
43
|
-
the diff *as a whole* is trying to accomplish, and capture it as a
|
|
44
|
-
*single* crisp sentence in <summary/>. If the diff genuinely spans
|
|
45
|
-
several unrelated purposes, pick the *dominant* one (the residue will
|
|
46
|
-
surface as an `INTENT` finding below).
|
|
47
|
-
|
|
48
|
-
6. Set <findings/> to empty.
|
|
49
|
-
Then critique the change across the following fixed *dimensions*
|
|
50
|
-
(each finding is tagged with exactly one `dimension`):
|
|
51
|
-
|
|
52
|
-
- **INTENT**:
|
|
53
|
-
Hunks that do *not* serve the reconstructed intent — scope creep
|
|
54
|
-
(an unrelated feature or drive-by refactor riding along), stray
|
|
55
|
-
debug/diagnostic residue (debug prints, commented-out code,
|
|
56
|
-
disabled tests, `TODO`/`FIXME` scaffolding), or an incomplete
|
|
57
|
-
change that does not fully achieve its own stated purpose.
|
|
58
|
-
|
|
59
|
-
- **CORRECTNESS**:
|
|
60
|
-
Latent bugs introduced or left by the change — wrong logic,
|
|
61
|
-
unhandled edge cases, off-by-one and boundary errors, broken
|
|
62
|
-
control or data flow, incorrect assumptions about inputs or state.
|
|
63
|
-
|
|
64
|
-
- **DESIGN**:
|
|
65
|
-
Poor fit with the surrounding architecture — wrong abstraction
|
|
66
|
-
level, misplaced responsibility, leaky or broken interface
|
|
67
|
-
contracts, poor naming, or a simpler/more idiomatic shape the
|
|
68
|
-
change overlooked.
|
|
69
|
-
|
|
70
|
-
- **CLARITY**:
|
|
71
|
-
Readability and self-documentation problems for a *future
|
|
72
|
-
reader* — confusing constructs, misleading names, missing
|
|
73
|
-
rationale for a non-obvious choice, or unnecessary complexity.
|
|
74
|
-
|
|
75
|
-
- **ROBUSTNESS**:
|
|
76
|
-
Missing, incorrect, or inconsistent error handling; resource
|
|
77
|
-
allocation/deallocation imbalance; and concurrency or
|
|
78
|
-
asynchronicity hazards introduced by the change.
|
|
79
|
-
|
|
80
|
-
- **SECURITY**:
|
|
81
|
-
Vulnerabilities or missing essential validations introduced by
|
|
82
|
-
the change — injection, unsafe input handling, secret exposure,
|
|
83
|
-
privilege or trust-boundary mistakes, unsafe edge cases in value
|
|
84
|
-
ranges.
|
|
85
|
-
|
|
86
|
-
- **PERFORMANCE**:
|
|
87
|
-
Efficiency risks introduced by the change — non-constant/
|
|
88
|
-
non-linear hot paths, redundant work, or avoidable allocations
|
|
89
|
-
on a path the change clearly exercises.
|
|
90
|
-
|
|
91
|
-
- **CONVENTION**:
|
|
92
|
-
Conformance to the *project's own documented conventions* — the
|
|
93
|
-
code style and the plan/spec/arch artifact formats stated in the
|
|
94
|
-
project's AI guidance and meta documents. Judge against what the
|
|
95
|
-
project *documents*, not against generic preference.
|
|
96
|
-
|
|
97
|
-
- **TESTING**:
|
|
98
|
-
Inadequate test coverage for the change — new logic or fixed
|
|
99
|
-
behavior left untested, adjacent tests not updated to match the
|
|
100
|
-
new behavior, or existing tests silently broken, disabled, or
|
|
101
|
-
weakened by the change.
|
|
102
|
-
|
|
103
|
-
- **DOCUMENTATION**:
|
|
104
|
-
User- or developer-facing documentation left stale by the change
|
|
105
|
-
— `README`, `CHANGELOG`, help text, or AI guidance/meta documents
|
|
106
|
-
that no longer match the change's new behavior, options, or
|
|
107
|
-
formats.
|
|
108
|
-
|
|
109
|
-
Be *holistic* and *synthesizing*: prefer a *few* high-signal findings
|
|
110
|
-
that a human reviewer would actually raise over an exhaustive
|
|
111
|
-
mechanical list. Be *conservative* — only report clear, well-grounded
|
|
112
|
-
concerns, and think twice to avoid *false positives*. Be *focused* —
|
|
113
|
-
only report concerns about the *staged change* itself; ignore
|
|
114
|
-
pre-existing issues in unchanged code that the diff merely sits next
|
|
115
|
-
to.
|
|
116
|
-
|
|
117
|
-
For *each* finding:
|
|
118
|
-
|
|
119
|
-
1. Set <dimension/> to exactly one of `INTENT`, `CORRECTNESS`,
|
|
120
|
-
`DESIGN`, `CLARITY`, `ROBUSTNESS`, `SECURITY`, `PERFORMANCE`,
|
|
121
|
-
`CONVENTION`, `TESTING`, or `DOCUMENTATION`.
|
|
122
|
-
|
|
123
|
-
2. Set <severity/> to one of `HIGH`, `MEDIUM`, `LOW`, or `ACCEPTED`:
|
|
124
|
-
|
|
125
|
-
- `HIGH`: a blocking concern a reviewer would require fixed
|
|
126
|
-
before approval (a real bug, a security hole, a broken contract,
|
|
127
|
-
a hard convention violation).
|
|
128
|
-
|
|
129
|
-
- `MEDIUM`: a concern worth addressing but not strictly
|
|
130
|
-
blocking.
|
|
131
|
-
|
|
132
|
-
- `LOW`: a minor nit or suggestion.
|
|
133
|
-
|
|
134
|
-
- `ACCEPTED`: a concern that *is* explicitly addressed by
|
|
135
|
-
a contract, docstring, or documented project priority (a
|
|
136
|
-
hot-path/allocation/latency tradeoff, or "contractually
|
|
137
|
-
addressed") — kept visible for traceability rather than dropped.
|
|
138
|
-
|
|
139
|
-
*Documented-context alignment* is mandatory: cross-check each
|
|
140
|
-
finding against interface contracts, docstrings, adjacent
|
|
141
|
-
comments, and the project AI guidance files. If the concern is
|
|
142
|
-
already addressed there, mark it `ACCEPTED` with the reason in
|
|
143
|
-
the finding text rather than reporting it as a defect; if a
|
|
144
|
-
fix would violate a documented priority, weaken it or mark it
|
|
145
|
-
`ACCEPTED` ("priority-conflict accepted").
|
|
146
|
-
|
|
147
|
-
3. Set <location/> to the *relative* filename path of the affected
|
|
148
|
-
file, with the affected 1-based line number `N` appended as `:N`
|
|
149
|
-
or the 1-based line range appended as `:N-M`. *Evidence-grounded*
|
|
150
|
-
citation is mandatory — the cited lines MUST prove the finding
|
|
151
|
-
verbatim; if they do not, re-investigate and re-cite, and drop
|
|
152
|
-
the finding only if *no* location in the changed files proves it.
|
|
153
|
-
|
|
154
|
-
4. Set <finding/> to an *ultra-brief*, *concise* Markdown-formatted
|
|
155
|
-
statement combining *what* the concern is and *why* it matters
|
|
156
|
-
(and, for `ACCEPTED`, *where* it is addressed). Mark up all
|
|
157
|
-
referenced verbatim identifiers or keywords <words/> from the
|
|
158
|
-
code as quoted monospaced strings based on the following
|
|
159
|
-
<template/>: <template>"`<words/>`"</template>. Keep it to a
|
|
160
|
-
single sentence wherever possible.
|
|
161
|
-
|
|
162
|
-
5. If <findings/> is not empty, set
|
|
163
|
-
<findings><findings/>,</findings> (append a comma).
|
|
164
|
-
Then append the following <template/> to <findings/>:
|
|
165
|
-
|
|
166
|
-
<template>
|
|
167
|
-
{
|
|
168
|
-
"dimension": <dimension/>,
|
|
169
|
-
"severity": <severity/>,
|
|
170
|
-
"location": <location/>,
|
|
171
|
-
"finding": <finding/>
|
|
172
|
-
}
|
|
173
|
-
</template>
|
|
174
|
-
|
|
175
|
-
7. You *MUST* *NOT* propose, apply, or render any document
|
|
176
|
-
changes yourself. Instead, return *exclusively* as the last message
|
|
177
|
-
a single JSON block (no markdown, no prose, no preamble, no summary)
|
|
178
|
-
of the following shape:
|
|
179
|
-
|
|
180
|
-
```json
|
|
181
|
-
{
|
|
182
|
-
"summary": <summary/>,
|
|
183
|
-
"findings": [
|
|
184
|
-
<findings/>
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
```
|