@rse/ase 2.0.3 → 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-hook.js +1 -1
- 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-setup.js +2 -2
- package/dst/ase-spec.js +103 -20
- package/dst/ase-task-board-filter.js +5 -4
- package/dst/ase-task-board-web-client.js +26 -26
- 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/mods/claude-code.d.ts +26 -3
- package/plugin/skills/ase-help-intent/data.md +180 -1
- 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-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,193 +0,0 @@
|
|
|
1
|
-
.TH "ASE-AGENT-CONDENSER" "1" "October 2026" "2.0.3" "Agentic Software Engineering (ASE)"
|
|
2
|
-
.SH "NAME"
|
|
3
|
-
\fBase-agent-condenser\fR - Plan Condensing Agent
|
|
4
|
-
.SH "SYNOPSIS"
|
|
5
|
-
.P
|
|
6
|
-
\fBase agent condenser start\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB] \[lB]\fB-t\fR|\fB--tool\fR \fBclaude\fR|\fBcopilot\fR|\fBcodex\fR\[rB] \[lB]\fB-p\fR|\fB--parallel\fR \fInum\fR\[rB] \[lB]\fB-T\fR|\fB--timeout\fR \fIduration\fR\[rB] \[lB]\fB-o\fR|\fB--one-shot\fR\[rB] \[lB]\fB--agent-relay\fR \fIurl\fR\[rB] \[lB]\fB--\fR\fIgroup\fR\fB-\fR\fIitem\fR \fIvalue\fR \[lB]...\[rB]\[rB] \[lB]\fB-f\fR|\fB--foreground\fR\[rB]
|
|
7
|
-
.P
|
|
8
|
-
\fBase agent condenser status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
9
|
-
.P
|
|
10
|
-
\fBase agent condenser log\fR \[lB]\fB-f\fR|\fB--follow\fR\[rB] \[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB] \[lB]\fB--name\fR \fIname\fR\[rB]
|
|
11
|
-
.P
|
|
12
|
-
\fBase agent condenser stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
13
|
-
.SH "DESCRIPTION"
|
|
14
|
-
.P
|
|
15
|
-
\fBase agent condenser\fR compresses the wording of the plans of tasks in the \fBPlanning\fR phase of the \fBenterprise\fR task lifecycle model (refused for any other model), while preserving all their semantics.
|
|
16
|
-
.P
|
|
17
|
-
As a plan is condensed only on the explicit request of a human, the condenser claims only the tasks in the state \fBDRAFTED\fR whose \fBAssignee:\fR frontmatter key already is its agent name (default: \fBcondenser\fR), i.e., which a human assigned to the condenser. Such a task is claimed immediately, without waiting for its \fBAfter:\fR predecessors (and, for an explicit epic, its group members), except for a predecessor still being processed by a condenser or a cancelled \fBAfter:\fR predecessor.
|
|
18
|
-
.P
|
|
19
|
-
The condenser moves each claimed task into \fBPLANNING\fR, tags it with \fBase-agent-condenser:active\fR, and condenses its plan via the skill invocation \fBase-task-condense --next DONE\fR \fIid\fR. The processing succeeds if the agent tool succeeded and the skill reported no error, which includes an already condensed plan, left untouched by the skill. Afterwards, on success as well as on failure, the condenser puts the task back into \fBDRAFTED\fR, removes its tag, and unassigns it. As the task is no longer assigned to the condenser, it is not claimed again, while assigning it to the condenser again requests another condensing.
|
|
20
|
-
.P
|
|
21
|
-
On an interrupt, a task being processed is put back, untagged and with its previous assignee (i.e., still assigned to the condenser), into \fBDRAFTED\fR. The condenser works in the project root only, so it neither requires a Git working copy nor \fBgit\fR, and it accepts no \fB--repo\fR and \fB--tempdir\fR. See \fBase-agent\fR(1) for the common mechanics of all agents.
|
|
22
|
-
.SH "OPTIONS"
|
|
23
|
-
.RS 0
|
|
24
|
-
.IP \(bu 4
|
|
25
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show usage information of \fBase agent condenser\fR (or of the given sub-command) only.
|
|
26
|
-
.RE 0
|
|
27
|
-
.P
|
|
28
|
-
All other options belong to the sub-commands (see \fBCOMMANDS\fR).
|
|
29
|
-
.SH "COMMANDS"
|
|
30
|
-
.RS 0
|
|
31
|
-
.IP \(bu 4
|
|
32
|
-
\fBase agent condenser start\fR \[lB]\fIoptions\fR\[rB]: Start the condenser agent in the background, logging into \fB.ase/agent/\fR\fIname\fR\fB.log\fR. The agent is validated and initialized (e.g., its agent tool is looked up and the task lifecycle model is checked) before the command returns (waiting up to 30 seconds), so a failing agent is reported together with the tail of its log. An agent of the same name already running is left alone. The options are:
|
|
33
|
-
.RS 4
|
|
34
|
-
.IP \(bu 4
|
|
35
|
-
\[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBcondenser\fR): up to 64 letters, digits, underscores, and dashes, starting with a letter or digit, other than the name of another agent kind, \fBrelay\fR, or \fBfleet\fR.
|
|
36
|
-
.sp
|
|
37
|
-
It names the agent in its log lines (also in the shared processing log attachment \fBagent\fR), the \fBAssignee:\fR of the tasks it processes, and its process files \fB.ase/agent/\fR\fIname\fR\fB.yaml\fR and \fB.ase/agent/\fR\fIname\fR\fB.log\fR. Agents of the kind \fBcondenser\fR under different names form a pool, competing for the same tasks, but each claims only the tasks explicitly assigned to its own name.
|
|
38
|
-
.IP \(bu 4
|
|
39
|
-
\[lB]\fB-t\fR|\fB--tool\fR \fItool\fR\[rB]: The headless agent tool processing the tasks: \fBclaude\fR (\fIAnthropic Claude Code CLI\fR), \fBcopilot\fR (\fIGitHub Copilot CLI\fR), or \fBcodex\fR (\fIOpenAI Codex CLI\fR) (default: \fB$ASE_TOOL\fR, else \fBclaude\fR). Its command has to be found in \fB$PATH\fR.
|
|
40
|
-
.IP \(bu 4
|
|
41
|
-
\[lB]\fB-p\fR|\fB--parallel\fR \fInum\fR\[rB]: The maximum number of tasks processed in parallel by this agent (default: \fB1\fR), a positive integer.
|
|
42
|
-
.IP \(bu 4
|
|
43
|
-
\[lB]\fB-T\fR|\fB--timeout\fR \fIduration\fR\[rB]: The maximum duration of processing a task (the run of the agent tool), as \fInumber\fR \fIunit\fR (without a space) with \fIunit\fR \fBs\fR (seconds), \fBm\fR (minutes), or \fBh\fR (hours) (default: \fB60m\fR). A processing exceeding it is aborted and counts as failed.
|
|
44
|
-
.IP \(bu 4
|
|
45
|
-
\[lB]\fB-o\fR|\fB--one-shot\fR\[rB]: Terminate the agent, instead of observing for further tasks, once a check of the task store finds no dispatchable task while the agent processes no task anymore -- intended for CI contexts like GitHub Actions, and not allowed in a fleet. A task still waiting for its predecessors at that time is left for a later run. A check of the task store failing three times in a row then terminates the agent with a non-zero exit status (instead of being retried endlessly after a growing delay).
|
|
46
|
-
.IP \(bu 4
|
|
47
|
-
\[lB]\fB--agent-relay\fR \fIurl\fR\[rB]: The agent relay to pass the live presence of the agent to, as \fBase://\fR\fIaddr\fR\fB:\fR\fIport\fR\[lB]\fB/\fR\fItoken\fR\[rB] resp. \fBases://\fR\fIaddr\fR\fB:\fR\fIport\fR\[lB]\fB/\fR\fItoken\fR\[rB]\[lB]\fB?insecure\fR\[rB] for HTTPS (default: the configured \fBproject.relay.url\fR, else none). See \fBAGENT RELAY\fR in \fBase-agent\fR(1).
|
|
48
|
-
.IP \(bu 4
|
|
49
|
-
\[lB]\fB--title\fR \fItext\fR\[rB]: The one-line title of the operation of the agent (at most 80 characters), shown on the task boards. Built-in: \fBCondense the plans of assigned tasks\fR.
|
|
50
|
-
.IP \(bu 4
|
|
51
|
-
\[lB]\fB--description\fR \fItext\fR\[rB]: The brief description of the operation of the agent (about 3-6 lines, at most 600 characters, with its whitespace collapsed), shown on the task boards. Built-in: a description of the operation.
|
|
52
|
-
.IP \(bu 4
|
|
53
|
-
\[lB]\fB--type\fR \fBphase\fR|\fBrequest\fR\[rB]: The processing type: \fBphase\fR claims the tasks by their lifecycle status, \fBrequest\fR processes the prompt requests attached to the tasks. Generic default: \fBphase\fR. Built-in: \fBphase\fR.
|
|
54
|
-
.IP \(bu 4
|
|
55
|
-
\[lB]\fB--workdir\fR \fIkind\fR\[rB]: The working directory of the agent tool: \fBproject\fR, \fBsource\fR, \fBchangeset\fR, \fBchangeset-read\fR, or \fBtarget\fR. Generic default: \fBproject\fR. Built-in: \fBproject\fR.
|
|
56
|
-
.IP \(bu 4
|
|
57
|
-
\[lB]\fB--lifecycle\fR \fImodel\fR\[rB]: A supported task lifecycle model (\fBsolo\fR, \fBteam\fR, or \fBenterprise\fR, repeatable). Generic default: every model containing all given states, resp. all models for \fBrequest\fR and with \fB--unclaimed\fR. Built-in: \fBenterprise\fR.
|
|
58
|
-
.IP \(bu 4
|
|
59
|
-
\[lB]\fB--serial\fR\[rB]: Process the tasks serially only, ignoring \fB--parallel\fR. Built-in: not set.
|
|
60
|
-
.IP \(bu 4
|
|
61
|
-
\[lB]\fB--unclaimed\fR\[rB]: Process the tasks of the incoming states without claiming them, independent of their assignee and predecessors, and without ever changing their status and assignee (\fBphase\fR only). Built-in: not set. Not allowed, as the condenser claims the tasks into its activity state.
|
|
62
|
-
.IP \(bu 4
|
|
63
|
-
\[lB]\fB--params\fR \fIname\fR\fB=\fR\fIvalue\fR\[rB]: The value of a parameter declared by the definition (repeatable). Built-in: none declared.
|
|
64
|
-
.IP \(bu 4
|
|
65
|
-
\[lB]\fB--state-incoming\fR \fIstate\fR\[rB]: A state of the tasks to claim (mandatory for \fBphase\fR, repeatable with \fB--unclaimed\fR or \fB--state-activity\fR only). Built-in: \fBDRAFTED\fR.
|
|
66
|
-
.IP \(bu 4
|
|
67
|
-
\[lB]\fB--state-activity\fR \fIstate\fR\[rB]: The state of a task during its processing. Generic default: the incoming state. Built-in: \fBPLANNING\fR.
|
|
68
|
-
.IP \(bu 4
|
|
69
|
-
\[lB]\fB--state-success\fR \fIstate\fR\[rB]: The target state on success, or \fBprevious\fR for the incoming state of the claim. Generic default: the incoming state. Built-in: \fBDRAFTED\fR.
|
|
70
|
-
.IP \(bu 4
|
|
71
|
-
\[lB]\fB--state-failure\fR \fIstate\fR\[rB]: The target state on failure, or \fBprevious\fR for the incoming state of the claim. Generic default: the incoming state. Built-in: \fBDRAFTED\fR.
|
|
72
|
-
.IP \(bu 4
|
|
73
|
-
\[lB]\fB--state-phase\fR \fIstate\fR\[rB]: The phase success state, into which the skill itself can move a task. Generic default: the success state, resp. the activity state for a \fBprevious\fR success state. Built-in: not set (hence \fBDRAFTED\fR).
|
|
74
|
-
.IP \(bu 4
|
|
75
|
-
\[lB]\fB--state-passed\fR \fIstate\fR\[rB]: The first state from which on a task has passed the phase for its \fBAfter:\fR successors. Generic default: the phase success state. Built-in: not set (hence \fBDRAFTED\fR, the first state, so the predecessors impose no gate).
|
|
76
|
-
.IP \(bu 4
|
|
77
|
-
\[lB]\fB--state-verdict\fR \fIVERDICT\fR\fB=\fR\fIstate\fR\[rB]: The target state per verdict (repeatable). Built-in: not set.
|
|
78
|
-
.IP \(bu 4
|
|
79
|
-
\[lB]\fB--tag-name\fR \fItag\fR\[rB]: The tag of the processed tasks (\fBase-agent-\fR\fIword\fR). Generic default: \fBase-agent-\fR\fIname\fR, resp. for \fBrequest\fR always \fBase-agent-\fR\fIrequest-name\fR. Built-in: not set.
|
|
80
|
-
.IP \(bu 4
|
|
81
|
-
\[lB]\fB--tag-success\fR \fItag\fR\[rB]: The tag on success: \fItag-name\fR, \fItag-name\fR\fB:\fR\fIvalue\fR, or \fBnone\fR (\fBphase\fR only). Generic default: \fItag-name\fR. Built-in: \fBnone\fR.
|
|
82
|
-
.IP \(bu 4
|
|
83
|
-
\[lB]\fB--tag-failure\fR \fItag\fR\[rB]: The tag on failure: \fItag-name\fR, \fItag-name\fR\fB:\fR\fIvalue\fR, or \fBnone\fR (\fBphase\fR only). Generic default: \fItag-name\fR. Built-in: \fBnone\fR.
|
|
84
|
-
.IP \(bu 4
|
|
85
|
-
\[lB]\fB--tag-require\fR \fItag\fR\[rB]: A tag a claimable task has to carry (repeatable). Built-in: not set.
|
|
86
|
-
.IP \(bu 4
|
|
87
|
-
\[lB]\fB--tag-exclude\fR \fItag\fR\[rB]: A tag a claimable task must not carry (repeatable). Built-in: not set.
|
|
88
|
-
.IP \(bu 4
|
|
89
|
-
\[lB]\fB--tag-retry\fR\[rB]: A shorthand for \fB--tag-failure none\fR, so a failed task is claimed again after a growing delay (\fBphase\fR only). Built-in: not set.
|
|
90
|
-
.IP \(bu 4
|
|
91
|
-
\[lB]\fB--assign-name\fR \fIwho\fR\[rB]: The assignee under which the tasks are claimed, held, recognized, and released, and which names the agent-owned worktrees. Generic default: the agent name. Built-in: not set.
|
|
92
|
-
.IP \(bu 4
|
|
93
|
-
\[lB]\fB--assign-required\fR\[rB]: Claim only the tasks explicitly assigned to \fIwho\fR of \fB--assign-name\fR (\fBphase\fR only). Built-in: enabled.
|
|
94
|
-
.IP \(bu 4
|
|
95
|
-
\[lB]\fB--assign-success\fR \fIwho\fR\[rB]: The assignee of a task after its successful processing: a name, \fBnone\fR, or \fBprevious\fR. Generic default: \fBnone\fR for \fBphase\fR, \fBprevious\fR for \fBrequest\fR. Built-in: not set.
|
|
96
|
-
.IP \(bu 4
|
|
97
|
-
\[lB]\fB--assign-failure\fR \fIwho\fR\[rB]: The assignee of a task after its failed processing: a name, \fBnone\fR, or \fBprevious\fR. Generic default: \fBnone\fR for \fBphase\fR, \fBprevious\fR for \fBrequest\fR. Built-in: not set.
|
|
98
|
-
.IP \(bu 4
|
|
99
|
-
\[lB]\fB--request-name\fR \fIname\fR\[rB]: The name of the processed requests (\fBrequest\fR only). Generic default: the agent name. Built-in: not set. Not allowed, as the condenser is of type \fBphase\fR.
|
|
100
|
-
.IP \(bu 4
|
|
101
|
-
\[lB]\fB--request-done\fR \fIword\fR\[rB]: The word naming a processed task in the log lines (\fBrequest\fR only). Generic default: \fBprocessed\fR. Built-in: not set. Not allowed, as the condenser is of type \fBphase\fR.
|
|
102
|
-
.IP \(bu 4
|
|
103
|
-
\[lB]\fB--prompt-skill\fR \fIname\fR\[rB]: The skill to invoke (mutually exclusive with \fB--prompt-text\fR and \fB--prompt-file\fR). Built-in: \fBase-task-condense\fR.
|
|
104
|
-
.IP \(bu 4
|
|
105
|
-
\[lB]\fB--prompt-args\fR \fItemplate\fR\[rB]: The argument template of the skill. Generic default: \fB{id}\fR for \fBphase\fR, \fB{id}: {prompt}\fR for \fBrequest\fR. Built-in: \fB--next DONE {id}\fR.
|
|
106
|
-
.IP \(bu 4
|
|
107
|
-
\[lB]\fB--prompt-text\fR \fItemplate\fR\[rB]: The prompt text template to invoke instead of a skill. Built-in: not set.
|
|
108
|
-
.IP \(bu 4
|
|
109
|
-
\[lB]\fB--prompt-file\fR \fIfile\fR\[rB]: The file with the prompt text template to invoke instead of a skill. Built-in: not set.
|
|
110
|
-
.IP \(bu 4
|
|
111
|
-
\[lB]\fB--prepare-run\fR \fIcmd\fR\[rB]: A shell command run in the working directory before the prompt (repeatable). Built-in: not set.
|
|
112
|
-
.IP \(bu 4
|
|
113
|
-
\[lB]\fB--success-criterion\fR \fIcriterion\fR\[rB]: A success criterion: \fBexit\fR, \fBclean\fR, \fBchanged\fR, \fBverdict\fR, \fBattachment\fR, or \fBstatus\fR (repeatable). Generic default: \fBexit\fR and \fBclean\fR for \fBphase\fR, \fBclean\fR and \fBchanged\fR for \fBrequest\fR. Built-in: \fBexit\fR and \fBclean\fR.
|
|
114
|
-
.IP \(bu 4
|
|
115
|
-
\[lB]\fB--success-match\fR \fIregex\fR\[rB]: A regular expression an output line has to match (repeatable). Built-in: not set.
|
|
116
|
-
.IP \(bu 4
|
|
117
|
-
\[lB]\fB--verdict-label\fR \fIlabel\fR\[rB]: The label after which the verdict is given in the output. Built-in: not set.
|
|
118
|
-
.IP \(bu 4
|
|
119
|
-
\[lB]\fB--verdict-allow\fR \fIVERDICT\fR\[rB]: An accepted verdict (repeatable). Generic default: the verdicts of \fB--state-verdict\fR, else any. Built-in: not set.
|
|
120
|
-
.IP \(bu 4
|
|
121
|
-
\[lB]\fB--attach-output\fR \fIkind\fR\[rB]: The kind of the attachment storing the output lines of the prompt. Built-in: not set.
|
|
122
|
-
.IP \(bu 4
|
|
123
|
-
\[lB]\fB--attach-expect\fR \fIspec\fR\[rB]: The attachment \[lB]\fImime-type\fR\fB;\fR\[rB]\fIkind\fR to be created or changed by the processing for the success criterion \fBattachment\fR. Built-in: not set.
|
|
124
|
-
.IP \(bu 4
|
|
125
|
-
\[lB]\fB--attach-skip\fR \fIspec\fR\[rB]: The attachment \[lB]\fImime-type\fR\fB;\fR\[rB]\fIkind\fR leaving a task unclaimed (\fBphase\fR only). Built-in: not set.
|
|
126
|
-
.IP \(bu 4
|
|
127
|
-
\[lB]\fB--attach-changeset\fR \fIkind\fR\[rB]: The kind of the attachment \fBtext/x-diff;\fR\fIkind\fR storing the change set snapshot of the task (with \fB--workdir changeset\fR or \fBtarget\fR only). Built-in: not set.
|
|
128
|
-
.IP \(bu 4
|
|
129
|
-
\[lB]\fB--finish-commit\fR\[rB]: Commit the work onto a \fBbranch:\fR changeset and publish it (with \fB--workdir changeset\fR only). Built-in: not set. Not allowed, as the condenser works in the project root.
|
|
130
|
-
.IP \(bu 4
|
|
131
|
-
\[lB]\fB--finish-success\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a successful processing. Built-in: not set.
|
|
132
|
-
.IP \(bu 4
|
|
133
|
-
\[lB]\fB--finish-failure\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a failed processing. Built-in: not set.
|
|
134
|
-
.IP \(bu 4
|
|
135
|
-
\[lB]\fB-f\fR|\fB--foreground\fR\[rB]: Run the agent in the current process instead, logging to the terminal, until it is interrupted (e.g., via \fBCTRL+C\fR) or stopped, where an agent of the same name already running is an error.
|
|
136
|
-
.IP \(bu 4
|
|
137
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show the usage information of the sub-command only.
|
|
138
|
-
.RE 0
|
|
139
|
-
.IP "" 4
|
|
140
|
-
The options \fB--\fR\fIgroup\fR\fB-\fR\fIitem\fR above override the built-in definition of the agent (where an option also replaces its mutually exclusive alternatives, e.g., \fB--prompt-text\fR replaces the skill of \fB--prompt-skill\fR), while the agent keeps the identity of its kind (its runs, its presence, and its agent-owned worktrees are named after \fBcondenser\fR). See \fBase-agent-adhoc\fR(1) for their full semantics.
|
|
141
|
-
.IP \(bu 4
|
|
142
|
-
\fBase agent condenser status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Report whether the condenser agent of the name \fIname\fR (default: \fBcondenser\fR) is running, as \fBagent\fR \fIname\fR\fB: running (pid\fR \fIpid\fR\fB)\fR resp. \fBagent\fR \fIname\fR\fB: not running\fR (exit status 1).
|
|
143
|
-
.IP \(bu 4
|
|
144
|
-
\fBase agent condenser log\fR \[lB]\fB-f\fR|\fB--follow\fR\[rB] \[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB] \[lB]\fB--name\fR \fIname\fR\[rB]: Show the log \fB.ase/agent/\fR\fIname\fR\fB.log\fR of the condenser agent of the name \fIname\fR (default: \fBcondenser\fR) run in the background, where an agent of a fleet logs into the log of the fleet instead (see \fBase-agent-fleet\fR(1)). Without a log file, an informational message is shown only. The options are:
|
|
145
|
-
.RS 4
|
|
146
|
-
.IP \(bu 4
|
|
147
|
-
\[lB]\fB-f\fR|\fB--follow\fR\[rB]: Show the last \fIn\fR lines (default: 10) and then follow all newly appended lines, in the style of \fBtail -f\fR, until interrupted.
|
|
148
|
-
.IP \(bu 4
|
|
149
|
-
\[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB]: Show the last \fIn\fR lines only (default: all, or 10 with \fB--follow\fR).
|
|
150
|
-
.IP \(bu 4
|
|
151
|
-
\[lB]\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBcondenser\fR), given in its long form only, as \fB-n\fR is the short form of \fB--lines\fR.
|
|
152
|
-
.RE 0
|
|
153
|
-
.IP \(bu 4
|
|
154
|
-
\fBase agent condenser stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Stop the condenser agent of the name \fIname\fR (default: \fBcondenser\fR) by \fBSIGTERM\fR, waiting (up to 5 minutes) until it aborted its running processings and put their tasks back. An agent not running is reported informationally only.
|
|
155
|
-
.RE 0
|
|
156
|
-
.SH "ENVIRONMENT"
|
|
157
|
-
.RS 0
|
|
158
|
-
.IP \(bu 4
|
|
159
|
-
\fBASE_TOOL\fR: The default agent tool of \fB--tool\fR (default: \fBclaude\fR).
|
|
160
|
-
.IP \(bu 4
|
|
161
|
-
\fBASE_AGENT_RELAY_TOKEN\fR: The bearer token of the agent relay, if not embedded in the URL of \fB--agent-relay\fR resp. \fBproject.relay.url\fR.
|
|
162
|
-
.IP \(bu 4
|
|
163
|
-
\fBASE_HEADLESS\fR: Set to \fBtrue\fR for the agent tool processes spawned by the agent.
|
|
164
|
-
.RE 0
|
|
165
|
-
.SH "FILES"
|
|
166
|
-
.RS 0
|
|
167
|
-
.IP \(bu 4
|
|
168
|
-
\fB.ase/agent/\fR\fIname\fR\fB.yaml\fR: The process state (kind, process id, and process start time) of the agent, existing while it runs.
|
|
169
|
-
.IP \(bu 4
|
|
170
|
-
\fB.ase/agent/\fR\fIname\fR\fB.log\fR: The log of the agent run in the background.
|
|
171
|
-
.IP \(bu 4
|
|
172
|
-
\fIper-user state directory\fR\fB/agent-condenser/\fR\fIstore-hash\fR\fB/\fR\fIrun-id\fR\fB.lock\fR and \fB.json\fR: The run lock and the run record of each condenser agent process, used to recover the tasks of terminated agent processes (see \fBINTERRUPTS AND RECOVERY\fR in \fBase-agent\fR(1)).
|
|
173
|
-
.RE 0
|
|
174
|
-
.SH "EXIT STATUS"
|
|
175
|
-
.P
|
|
176
|
-
\fBase agent condenser start\fR exits with status \fB0\fR once the agent started (or was already running), resp. once a foreground agent terminated regularly, and with status \fB1\fR on any error (e.g., an invalid option, a task lifecycle model other than \fBenterprise\fR, or a missing agent tool). \fBase agent condenser status\fR exits with status \fB1\fR if the agent is not running.
|
|
177
|
-
.SH "EXAMPLES"
|
|
178
|
-
.P
|
|
179
|
-
.RS 2
|
|
180
|
-
.nf
|
|
181
|
-
# start the condenser, condensing the plans of the tasks assigned to it
|
|
182
|
-
$ ase agent condenser start
|
|
183
|
-
|
|
184
|
-
# request the condensing of a drafted task by assigning it to the condenser
|
|
185
|
-
$ ase task assign FOO-42 condenser
|
|
186
|
-
.fi
|
|
187
|
-
.RE
|
|
188
|
-
.SH "SEE ALSO"
|
|
189
|
-
.P
|
|
190
|
-
\fBase\fR(1), \fBase-agent\fR(1), \fBase-agent-rebooter\fR(1), \fBase-agent-researcher\fR(1), \fBase-agent-implementer\fR(1), \fBase-agent-qualifier\fR(1), \fBase-agent-integrator\fR(1), \fBase-agent-editor\fR(1), \fBase-agent-estimator\fR(1), \fBase-agent-adhoc\fR(1), \fBase-agent-fleet\fR(1), \fBase-agent-relay\fR(1), \fBase-task\fR(1), \fBase-task-board\fR(1).
|
|
191
|
-
.SH "AUTHOR"
|
|
192
|
-
.P
|
|
193
|
-
Dr. Ralf S. Engelschall \fI\(larse@engelschall.com\(ra\fR
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
.TH "ASE-AGENT-EDITOR" "1" "October 2026" "2.0.3" "Agentic Software Engineering (ASE)"
|
|
2
|
-
.SH "NAME"
|
|
3
|
-
\fBase-agent-editor\fR - Edit Request Agent
|
|
4
|
-
.SH "SYNOPSIS"
|
|
5
|
-
.P
|
|
6
|
-
\fBase agent editor start\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB] \[lB]\fB-t\fR|\fB--tool\fR \fBclaude\fR|\fBcopilot\fR|\fBcodex\fR\[rB] \[lB]\fB-p\fR|\fB--parallel\fR \fInum\fR\[rB] \[lB]\fB-T\fR|\fB--timeout\fR \fIduration\fR\[rB] \[lB]\fB-o\fR|\fB--one-shot\fR\[rB] \[lB]\fB--agent-relay\fR \fIurl\fR\[rB] \[lB]\fB-r\fR|\fB--repo\fR \fIurl\fR\[rB] \[lB]\fB-d\fR|\fB--tempdir\fR \fIdir\fR\[rB] \[lB]\fB--\fR\fIgroup\fR\fB-\fR\fIitem\fR \fIvalue\fR \[lB]...\[rB]\[rB] \[lB]\fB-f\fR|\fB--foreground\fR\[rB]
|
|
7
|
-
.P
|
|
8
|
-
\fBase agent editor status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
9
|
-
.P
|
|
10
|
-
\fBase agent editor log\fR \[lB]\fB-f\fR|\fB--follow\fR\[rB] \[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB] \[lB]\fB--name\fR \fIname\fR\[rB]
|
|
11
|
-
.P
|
|
12
|
-
\fBase agent editor stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
13
|
-
.SH "DESCRIPTION"
|
|
14
|
-
.P
|
|
15
|
-
\fBase agent editor\fR processes the edit requests of tasks. Unlike the phase agents, it is bound to no phase and supports all task lifecycle models (\fBsolo\fR, \fBteam\fR, and \fBenterprise\fR).
|
|
16
|
-
.P
|
|
17
|
-
An edit request is added by key \fBE\fR of the task board (see \fBase-task-board\fR(1)) or by \fBase task request\fR \fIid\fR \fBedit\fR \fIprompt\fR (see \fBase-task-request\fR(1)) as an attachment of type \fBtext/plain; charset=utf-8; kind="edit"\fR with the prompt as its data, mirrored in the tag \fBase-agent-editor:pending\fR of the task (aggregated as \fB:active\fR while one is processed and as \fB:failed\fR once one failed).
|
|
18
|
-
.P
|
|
19
|
-
The editor observes the tasks with this tag, except those in an activity status of the task lifecycle model, where the task is actively worked on (\fBteam\fR: \fBIMPLEMENTING\fR; \fBenterprise\fR: \fBPLANNING\fR, \fBIMPLEMENTING\fR, \fBQUALIFYING\fR, and \fBINTEGRATING\fR), and those still held by a phase agent (tagged \fBase-agent-\fR\fIkind\fR\fB:active\fR), which wait until their status changes resp. their tag is released.
|
|
20
|
-
.P
|
|
21
|
-
It claims the oldest request of such a task in a single conditional save by turning it into \fBkind="edit-running"\fR and setting the \fBAssignee:\fR of the task to its agent name (remembering the previous assignee in the request), which keeps all other agents off the task during the edit without touching its status. The request of a finished task, resp. a request with an empty prompt, is turned into \fBkind="edit-failed"\fR instead.
|
|
22
|
-
.P
|
|
23
|
-
It then edits the plan via the skill invocation \fBase-task-edit --plan
|
|
24
|
-
REFINE --next DONE\fR \fIid\fR\fB:\fR \fIprompt\fR (with the whitespace of the prompt collapsed) in the working copy, grounded in the \fBSource:\fR of the task, where a \fBbranch:\fR\fIname\fR source is checked out in the temporary, detached Git worktree \fB.ase/worktree/.temp/\fR\fIid\fR\fB-editor\fR, passed to the skill via its internal option \fB--int-source-dir\fR, and removed afterwards. The skill saves the plan only if it was not changed meanwhile (e.g., by a further edit request).
|
|
25
|
-
.P
|
|
26
|
-
Finally, in a single save, the editor restores the previous assignee of the task (unless reassigned meanwhile) and removes the request if the plan content actually changed (its frontmatter, except \fBStatus:\fR, \fBTags:\fR, and \fBAssignee:\fR, which other agents change, and its body) and the skill reported no error, or else turns it back into \fBkind="edit"\fR on an interrupt, resp. into \fBkind="edit-failed"\fR (with the reason, e.g., \fBskill reported an error\fR, \fBagent tool failed\fR, or \fBplan not changed\fR) otherwise.
|
|
27
|
-
.P
|
|
28
|
-
A finalization failing even after its retries is retried on every further dispatching.
|
|
29
|
-
.P
|
|
30
|
-
On its start, the editor marks the requests left in \fBkind="edit-running"\fR by any terminated editor process of the same user on the same host (whose run lock is gone or stale and whose process is no longer alive) as failed (\fBkind="edit-failed"\fR), and restores the previous assignees of their tasks. See \fBase-agent\fR(1) for the common mechanics of all agents.
|
|
31
|
-
.SH "OPTIONS"
|
|
32
|
-
.RS 0
|
|
33
|
-
.IP \(bu 4
|
|
34
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show usage information of \fBase agent editor\fR (or of the given sub-command) only.
|
|
35
|
-
.RE 0
|
|
36
|
-
.P
|
|
37
|
-
All other options belong to the sub-commands (see \fBCOMMANDS\fR).
|
|
38
|
-
.SH "COMMANDS"
|
|
39
|
-
.RS 0
|
|
40
|
-
.IP \(bu 4
|
|
41
|
-
\fBase agent editor start\fR \[lB]\fIoptions\fR\[rB]: Start the editor agent in the background, logging into \fB.ase/agent/\fR\fIname\fR\fB.log\fR. The agent is validated and initialized (e.g., its agent tool is looked up and the task lifecycle model is checked) before the command returns (waiting up to 30 seconds), so a failing agent is reported together with the tail of its log. An agent of the same name already running is left alone. The options are:
|
|
42
|
-
.RS 4
|
|
43
|
-
.IP \(bu 4
|
|
44
|
-
\[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBeditor\fR): up to 64 letters, digits, underscores, and dashes, starting with a letter or digit, other than the name of another agent kind, \fBrelay\fR, or \fBfleet\fR.
|
|
45
|
-
.sp
|
|
46
|
-
It names the agent in its log lines (also in the shared processing log attachment \fBagent\fR), the \fBAssignee:\fR of the tasks it processes, its temporary directory, and its process files \fB.ase/agent/\fR\fIname\fR\fB.yaml\fR and \fB.ase/agent/\fR\fIname\fR\fB.log\fR. Agents of the kind \fBeditor\fR under different names form a pool, competing for the same tasks and processing them in parallel to each other.
|
|
47
|
-
.IP \(bu 4
|
|
48
|
-
\[lB]\fB-t\fR|\fB--tool\fR \fItool\fR\[rB]: The headless agent tool processing the tasks: \fBclaude\fR (\fIAnthropic Claude Code CLI\fR), \fBcopilot\fR (\fIGitHub Copilot CLI\fR), or \fBcodex\fR (\fIOpenAI Codex CLI\fR) (default: \fB$ASE_TOOL\fR, else \fBclaude\fR). Its command has to be found in \fB$PATH\fR.
|
|
49
|
-
.IP \(bu 4
|
|
50
|
-
\[lB]\fB-p\fR|\fB--parallel\fR \fInum\fR\[rB]: The maximum number of tasks processed in parallel by this agent (default: \fB1\fR), a positive integer.
|
|
51
|
-
.IP \(bu 4
|
|
52
|
-
\[lB]\fB-T\fR|\fB--timeout\fR \fIduration\fR\[rB]: The maximum duration of processing a task (the run of the agent tool), as \fInumber\fR \fIunit\fR (without a space) with \fIunit\fR \fBs\fR (seconds), \fBm\fR (minutes), or \fBh\fR (hours) (default: \fB60m\fR). A processing exceeding it is aborted and counts as failed.
|
|
53
|
-
.IP \(bu 4
|
|
54
|
-
\[lB]\fB-o\fR|\fB--one-shot\fR\[rB]: Terminate the agent, instead of observing for further tasks, once a check of the task store finds no dispatchable task while the agent processes no task anymore -- intended for CI contexts like GitHub Actions, and not allowed in a fleet. A task still waiting for its predecessors at that time is left for a later run. A check of the task store failing three times in a row then terminates the agent with a non-zero exit status (instead of being retried endlessly after a growing delay).
|
|
55
|
-
.IP \(bu 4
|
|
56
|
-
\[lB]\fB--agent-relay\fR \fIurl\fR\[rB]: The agent relay to pass the live presence of the agent to, as \fBase://\fR\fIaddr\fR\fB:\fR\fIport\fR\[lB]\fB/\fR\fItoken\fR\[rB] resp. \fBases://\fR\fIaddr\fR\fB:\fR\fIport\fR\[lB]\fB/\fR\fItoken\fR\[rB]\[lB]\fB?insecure\fR\[rB] for HTTPS (default: the configured \fBproject.relay.url\fR, else none). See \fBAGENT RELAY\fR in \fBase-agent\fR(1).
|
|
57
|
-
.IP \(bu 4
|
|
58
|
-
\[lB]\fB-r\fR|\fB--repo\fR \fIurl\fR\[rB]: The Git repository to clone once into the temporary directory of the agent, where every task without a \fBworktree\fR value is processed in its own temporary Git worktree of this clone, and changed branches are pushed back to its origin (default: none, i.e., all tasks are processed in the Git working copy the agent is started in, which is hence mandatory).
|
|
59
|
-
.sp
|
|
60
|
-
Requires a task store not located in the working copy (i.e., not a local \fBase:\fR\fIpath\fR one). See \fBWORKING COPY, CLONES, AND WORKTREES\fR in \fBase-agent\fR(1).
|
|
61
|
-
.IP \(bu 4
|
|
62
|
-
\[lB]\fB-d\fR|\fB--tempdir\fR \fIdir\fR\[rB]: Create the temporary directory of the agent as the sub-directory \fIname\fR of \fIdir\fR, where \fB%p\fR is expanded to the process id of the agent, \fB%h\fR to a hash value unique to the process, and \fB%%\fR to \fB%\fR (default: a fresh, private directory below the system temporary directory). A missing \fIdir\fR is created private to the current user, while an existing \fIdir\fR has to be a directory (no symbolic link) owned by the current user.
|
|
63
|
-
.IP \(bu 4
|
|
64
|
-
\[lB]\fB--title\fR \fItext\fR\[rB]: The one-line title of the operation of the agent (at most 80 characters), shown on the task boards. Built-in: \fBEdit task plans by the prompts of edit requests\fR.
|
|
65
|
-
.IP \(bu 4
|
|
66
|
-
\[lB]\fB--description\fR \fItext\fR\[rB]: The brief description of the operation of the agent (about 3-6 lines, at most 600 characters, with its whitespace collapsed), shown on the task boards. Built-in: a description of the operation of the editor.
|
|
67
|
-
.IP \(bu 4
|
|
68
|
-
\[lB]\fB--type\fR \fBphase\fR|\fBrequest\fR\[rB]: The processing type: \fBphase\fR claims the tasks by their lifecycle status, \fBrequest\fR processes the prompt requests attached to the tasks. Generic default: \fBphase\fR. Built-in: \fBrequest\fR.
|
|
69
|
-
.IP \(bu 4
|
|
70
|
-
\[lB]\fB--workdir\fR \fIkind\fR\[rB]: The working directory of the agent tool: \fBproject\fR, \fBsource\fR, \fBchangeset\fR, \fBchangeset-read\fR, or \fBtarget\fR. Generic default: \fBproject\fR. Built-in: \fBsource\fR.
|
|
71
|
-
.IP \(bu 4
|
|
72
|
-
\[lB]\fB--lifecycle\fR \fImodel\fR\[rB]: A supported task lifecycle model (\fBsolo\fR, \fBteam\fR, or \fBenterprise\fR, repeatable). Generic default: every model containing all given states, resp. all models for \fBrequest\fR and with \fB--unclaimed\fR. Built-in: not set. Hence, all task lifecycle models are supported.
|
|
73
|
-
.IP \(bu 4
|
|
74
|
-
\[lB]\fB--serial\fR\[rB]: Process the tasks serially only, ignoring \fB--parallel\fR. Built-in: not set.
|
|
75
|
-
.IP \(bu 4
|
|
76
|
-
\[lB]\fB--unclaimed\fR\[rB]: Process the tasks of the incoming states without claiming them, independent of their assignee and predecessors, and without ever changing their status and assignee (\fBphase\fR only). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
77
|
-
.IP \(bu 4
|
|
78
|
-
\[lB]\fB--params\fR \fIname\fR\fB=\fR\fIvalue\fR\[rB]: The value of a parameter declared by the definition (repeatable). Built-in: none declared.
|
|
79
|
-
.IP \(bu 4
|
|
80
|
-
\[lB]\fB--state-incoming\fR \fIstate\fR\[rB]: The state of the tasks to claim (mandatory for \fBphase\fR, repeatable with \fB--unclaimed\fR only). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
81
|
-
.IP \(bu 4
|
|
82
|
-
\[lB]\fB--state-activity\fR \fIstate\fR\[rB]: The state of a task during its processing. Generic default: the incoming state. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
83
|
-
.IP \(bu 4
|
|
84
|
-
\[lB]\fB--state-success\fR \fIstate\fR\[rB]: The target state on success. Generic default: the incoming state. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
85
|
-
.IP \(bu 4
|
|
86
|
-
\[lB]\fB--state-failure\fR \fIstate\fR\[rB]: The target state on failure. Generic default: the incoming state. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
87
|
-
.IP \(bu 4
|
|
88
|
-
\[lB]\fB--state-phase\fR \fIstate\fR\[rB]: The phase success state, into which the skill itself can move a task. Generic default: the success state. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
89
|
-
.IP \(bu 4
|
|
90
|
-
\[lB]\fB--state-passed\fR \fIstate\fR\[rB]: The first state from which on a task has passed the phase for its \fBAfter:\fR successors. Generic default: the phase success state. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
91
|
-
.IP \(bu 4
|
|
92
|
-
\[lB]\fB--state-verdict\fR \fIVERDICT\fR\fB=\fR\fIstate\fR\[rB]: The target state per verdict (repeatable). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
93
|
-
.IP \(bu 4
|
|
94
|
-
\[lB]\fB--tag-name\fR \fItag\fR\[rB]: The tag of the processed tasks (\fBase-agent-\fR\fIword\fR). Generic default: \fBase-agent-\fR\fIname\fR, resp. for \fBrequest\fR always \fBase-agent-\fR\fIrequest-name\fR. Built-in: \fBase-agent-editor\fR (derived from the request name \fBedit\fR).
|
|
95
|
-
.IP \(bu 4
|
|
96
|
-
\[lB]\fB--tag-success\fR \fItag\fR\[rB]: The tag on success: \fItag-name\fR, \fItag-name\fR\fB:\fR\fIvalue\fR, or \fBnone\fR (\fBphase\fR only). Generic default: \fItag-name\fR. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
97
|
-
.IP \(bu 4
|
|
98
|
-
\[lB]\fB--tag-failure\fR \fItag\fR\[rB]: The tag on failure: \fItag-name\fR, \fItag-name\fR\fB:\fR\fIvalue\fR, or \fBnone\fR (\fBphase\fR only). Generic default: \fItag-name\fR. Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
99
|
-
.IP \(bu 4
|
|
100
|
-
\[lB]\fB--tag-require\fR \fItag\fR\[rB]: A tag a claimable task has to carry (repeatable). Built-in: not set.
|
|
101
|
-
.IP \(bu 4
|
|
102
|
-
\[lB]\fB--tag-exclude\fR \fItag\fR\[rB]: A tag a claimable task must not carry (repeatable). Built-in: not set.
|
|
103
|
-
.IP \(bu 4
|
|
104
|
-
\[lB]\fB--tag-retry\fR\[rB]: A shorthand for \fB--tag-failure none\fR, so a failed task is claimed again after a growing delay (\fBphase\fR only). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
105
|
-
.IP \(bu 4
|
|
106
|
-
\[lB]\fB--assign-name\fR \fIwho\fR\[rB]: The assignee under which the tasks are claimed, held, recognized, and released, and which names the agent-owned worktrees. Generic default: the agent name. Built-in: not set.
|
|
107
|
-
.IP \(bu 4
|
|
108
|
-
\[lB]\fB--assign-required\fR\[rB]: Claim only the tasks explicitly assigned to \fIwho\fR of \fB--assign-name\fR (\fBphase\fR only). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
109
|
-
.IP \(bu 4
|
|
110
|
-
\[lB]\fB--assign-success\fR \fIwho\fR\[rB]: The assignee of a task after its successful processing: a name, \fBnone\fR, or \fBprevious\fR. Generic default: \fBnone\fR for \fBphase\fR, \fBprevious\fR for \fBrequest\fR. Built-in: not set.
|
|
111
|
-
.IP \(bu 4
|
|
112
|
-
\[lB]\fB--assign-failure\fR \fIwho\fR\[rB]: The assignee of a task after its failed processing: a name, \fBnone\fR, or \fBprevious\fR. Generic default: \fBnone\fR for \fBphase\fR, \fBprevious\fR for \fBrequest\fR. Built-in: not set.
|
|
113
|
-
.IP \(bu 4
|
|
114
|
-
\[lB]\fB--request-name\fR \fIname\fR\[rB]: The name of the processed requests (\fBrequest\fR only). Generic default: the agent name. Built-in: \fBedit\fR.
|
|
115
|
-
.IP \(bu 4
|
|
116
|
-
\[lB]\fB--request-done\fR \fIword\fR\[rB]: The word naming a processed task in the log lines (\fBrequest\fR only). Generic default: \fBprocessed\fR. Built-in: \fBedited\fR.
|
|
117
|
-
.IP \(bu 4
|
|
118
|
-
\[lB]\fB--prompt-skill\fR \fIname\fR\[rB]: The skill to invoke (mutually exclusive with \fB--prompt-text\fR and \fB--prompt-file\fR). Built-in: \fBase-task-edit\fR.
|
|
119
|
-
.IP \(bu 4
|
|
120
|
-
\[lB]\fB--prompt-args\fR \fItemplate\fR\[rB]: The argument template of the skill. Generic default: \fB{id}\fR for \fBphase\fR, \fB{id}: {prompt}\fR for \fBrequest\fR. Built-in: \fB--plan REFINE --next DONE{?source-dir:
|
|
121
|
-
--int-source-dir "{source-dir}"} {id}: {prompt}\fR.
|
|
122
|
-
.IP \(bu 4
|
|
123
|
-
\[lB]\fB--prompt-text\fR \fItemplate\fR\[rB]: The prompt text template to invoke instead of a skill. Built-in: not set.
|
|
124
|
-
.IP \(bu 4
|
|
125
|
-
\[lB]\fB--prompt-file\fR \fIfile\fR\[rB]: The file with the prompt text template to invoke instead of a skill. Built-in: not set.
|
|
126
|
-
.IP \(bu 4
|
|
127
|
-
\[lB]\fB--prepare-run\fR \fIcmd\fR\[rB]: A shell command run in the working directory before the prompt (repeatable). Built-in: not set.
|
|
128
|
-
.IP \(bu 4
|
|
129
|
-
\[lB]\fB--success-criterion\fR \fIcriterion\fR\[rB]: A success criterion: \fBexit\fR, \fBclean\fR, \fBchanged\fR, \fBverdict\fR, \fBattachment\fR, or \fBstatus\fR (repeatable). Generic default: \fBexit\fR and \fBclean\fR for \fBphase\fR, \fBclean\fR and \fBchanged\fR for \fBrequest\fR. Built-in: \fBclean\fR and \fBchanged\fR.
|
|
130
|
-
.IP \(bu 4
|
|
131
|
-
\[lB]\fB--success-match\fR \fIregex\fR\[rB]: A regular expression an output line has to match (repeatable). Built-in: not set.
|
|
132
|
-
.IP \(bu 4
|
|
133
|
-
\[lB]\fB--verdict-label\fR \fIlabel\fR\[rB]: The label after which the verdict is given in the output. Built-in: not set.
|
|
134
|
-
.IP \(bu 4
|
|
135
|
-
\[lB]\fB--verdict-allow\fR \fIVERDICT\fR\[rB]: An accepted verdict (repeatable). Generic default: the verdicts of \fB--state-verdict\fR, else any. Built-in: not set.
|
|
136
|
-
.IP \(bu 4
|
|
137
|
-
\[lB]\fB--attach-output\fR \fIkind\fR\[rB]: The kind of the attachment storing the output lines of the prompt. Built-in: not set.
|
|
138
|
-
.IP \(bu 4
|
|
139
|
-
\[lB]\fB--attach-expect\fR \fIspec\fR\[rB]: The attachment \[lB]\fImime-type\fR\fB;\fR\[rB]\fIkind\fR to be created or changed by the processing for the success criterion \fBattachment\fR. Built-in: not set.
|
|
140
|
-
.IP \(bu 4
|
|
141
|
-
\[lB]\fB--attach-skip\fR \fIspec\fR\[rB]: The attachment \[lB]\fImime-type\fR\fB;\fR\[rB]\fIkind\fR leaving a task unclaimed (\fBphase\fR only). Built-in: not set. Not allowed, as the editor is of type \fBrequest\fR.
|
|
142
|
-
.IP \(bu 4
|
|
143
|
-
\[lB]\fB--attach-changeset\fR \fIkind\fR\[rB]: The kind of the attachment \fBtext/x-diff;\fR\fIkind\fR storing the change set snapshot of the task (with \fB--workdir changeset\fR or \fBtarget\fR only). Built-in: not set.
|
|
144
|
-
.IP \(bu 4
|
|
145
|
-
\[lB]\fB--finish-commit\fR\[rB]: Commit the work onto a \fBbranch:\fR changeset and publish it (with \fB--workdir changeset\fR only). Built-in: not set. Not allowed, as the editor works with \fB--workdir source\fR.
|
|
146
|
-
.IP \(bu 4
|
|
147
|
-
\[lB]\fB--finish-success\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a successful processing. Built-in: not set.
|
|
148
|
-
.IP \(bu 4
|
|
149
|
-
\[lB]\fB--finish-failure\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a failed processing. Built-in: not set.
|
|
150
|
-
.IP \(bu 4
|
|
151
|
-
\[lB]\fB-f\fR|\fB--foreground\fR\[rB]: Run the agent in the current process instead, logging to the terminal, until it is interrupted (e.g., via \fBCTRL+C\fR) or stopped, where an agent of the same name already running is an error.
|
|
152
|
-
.IP \(bu 4
|
|
153
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show the usage information of the sub-command only.
|
|
154
|
-
.RE 0
|
|
155
|
-
.IP "" 4
|
|
156
|
-
The options \fB--\fR\fIgroup\fR\fB-\fR\fIitem\fR above override the built-in definition of the mode of the agent (where an option also replaces its mutually exclusive alternatives, e.g., \fB--prompt-text\fR replaces the skill of \fB--prompt-skill\fR), while the agent keeps the identity of its kind (its runs, its presence, and its agent-owned worktrees are named after \fBeditor\fR). See \fBase-agent-adhoc\fR(1) for their full semantics.
|
|
157
|
-
.IP \(bu 4
|
|
158
|
-
\fBase agent editor status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Report whether the editor agent of the name \fIname\fR (default: \fBeditor\fR) is running, as \fBagent\fR \fIname\fR\fB: running (pid\fR \fIpid\fR\fB)\fR resp. \fBagent\fR \fIname\fR\fB: not
|
|
159
|
-
running\fR (exit status 1).
|
|
160
|
-
.IP \(bu 4
|
|
161
|
-
\fBase agent editor log\fR \[lB]\fB-f\fR|\fB--follow\fR\[rB] \[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB] \[lB]\fB--name\fR \fIname\fR\[rB]: Show the log \fB.ase/agent/\fR\fIname\fR\fB.log\fR of the editor agent of the name \fIname\fR (default: \fBeditor\fR) run in the background, where an agent of a fleet logs into the log of the fleet instead (see \fBase-agent-fleet\fR(1)). Without a log file, an informational message is shown only. The options are:
|
|
162
|
-
.RS 4
|
|
163
|
-
.IP \(bu 4
|
|
164
|
-
\[lB]\fB-f\fR|\fB--follow\fR\[rB]: Show the last \fIn\fR lines (default: 10) and then follow all newly appended lines, in the style of \fBtail -f\fR, until interrupted.
|
|
165
|
-
.IP \(bu 4
|
|
166
|
-
\[lB]\fB-n\fR|\fB--lines\fR \fIn\fR\[rB]: Show the last \fIn\fR lines only (default: all, or 10 with \fB--follow\fR).
|
|
167
|
-
.IP \(bu 4
|
|
168
|
-
\[lB]\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBeditor\fR), given in its long form only, as \fB-n\fR is the short form of \fB--lines\fR.
|
|
169
|
-
.RE 0
|
|
170
|
-
.IP \(bu 4
|
|
171
|
-
\fBase agent editor stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Stop the editor agent of the name \fIname\fR (default: \fBeditor\fR) by \fBSIGTERM\fR, waiting (up to 5 minutes) until it aborted its running processings and put their tasks back. An agent not running is reported informationally only.
|
|
172
|
-
.RE 0
|
|
173
|
-
.SH "ENVIRONMENT"
|
|
174
|
-
.RS 0
|
|
175
|
-
.IP \(bu 4
|
|
176
|
-
\fBASE_TOOL\fR: The default agent tool of \fB--tool\fR (default: \fBclaude\fR).
|
|
177
|
-
.IP \(bu 4
|
|
178
|
-
\fBASE_AGENT_RELAY_TOKEN\fR: The bearer token of the agent relay, if not embedded in the URL of \fB--agent-relay\fR resp. \fBproject.relay.url\fR.
|
|
179
|
-
.IP \(bu 4
|
|
180
|
-
\fBASE_HEADLESS\fR: Set to \fBtrue\fR for the agent tool processes spawned by the agent.
|
|
181
|
-
.RE 0
|
|
182
|
-
.SH "FILES"
|
|
183
|
-
.RS 0
|
|
184
|
-
.IP \(bu 4
|
|
185
|
-
\fB.ase/agent/\fR\fIname\fR\fB.yaml\fR: The process state (kind, process id, and process start time) of the agent, existing while it runs.
|
|
186
|
-
.IP \(bu 4
|
|
187
|
-
\fB.ase/agent/\fR\fIname\fR\fB.log\fR: The log of the agent run in the background.
|
|
188
|
-
.IP \(bu 4
|
|
189
|
-
\fB.ase/worktree/.temp/\fR\fIid\fR\fB-editor\fR: The temporary, detached Git worktree of a \fBbranch:\fR source of a task during its edit (where a \fB#\fR of the task id is replaced by \fB_\fR).
|
|
190
|
-
.IP \(bu 4
|
|
191
|
-
\fIper-user state directory\fR\fB/agent-editor/\fR\fIstore-hash\fR\fB/\fR\fIrun-id\fR\fB.lock\fR and \fB.json\fR: The run lock and the run record of each editor agent process, used to recover the edit requests of terminated agent processes (see \fBINTERRUPTS AND RECOVERY\fR in \fBase-agent\fR(1)).
|
|
192
|
-
.RE 0
|
|
193
|
-
.SH "EXIT STATUS"
|
|
194
|
-
.P
|
|
195
|
-
\fBase agent editor start\fR exits with status \fB0\fR once the agent started (or was already running), resp. once a foreground agent terminated regularly, and with status \fB1\fR on any error (e.g., an invalid option, or a missing agent tool). \fBase agent editor status\fR exits with status \fB1\fR if the agent is not running.
|
|
196
|
-
.SH "EXAMPLES"
|
|
197
|
-
.P
|
|
198
|
-
.RS 2
|
|
199
|
-
.nf
|
|
200
|
-
# process the edit requests of the task board
|
|
201
|
-
$ ase agent editor start
|
|
202
|
-
|
|
203
|
-
# request an edit of a task from the command line
|
|
204
|
-
$ ase task request FOO-42 edit "split step 3 into two steps"
|
|
205
|
-
.fi
|
|
206
|
-
.RE
|
|
207
|
-
.SH "SEE ALSO"
|
|
208
|
-
.P
|
|
209
|
-
\fBase\fR(1), \fBase-agent\fR(1), \fBase-agent-rebooter\fR(1), \fBase-agent-condenser\fR(1), \fBase-agent-researcher\fR(1), \fBase-agent-implementer\fR(1), \fBase-agent-qualifier\fR(1), \fBase-agent-integrator\fR(1), \fBase-agent-estimator\fR(1), \fBase-task-request\fR(1), \fBase-agent-adhoc\fR(1), \fBase-agent-fleet\fR(1), \fBase-agent-relay\fR(1), \fBase-task\fR(1), \fBase-task-board\fR(1).
|
|
210
|
-
.SH "AUTHOR"
|
|
211
|
-
.P
|
|
212
|
-
Dr. Ralf S. Engelschall \fI\(larse@engelschall.com\(ra\fR
|