@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,233 +0,0 @@
|
|
|
1
|
-
.TH "ASE-AGENT-IMPLEMENTER" "1" "October 2026" "2.0.3" "Agentic Software Engineering (ASE)"
|
|
2
|
-
.SH "NAME"
|
|
3
|
-
\fBase-agent-implementer\fR - Implementation Phase Agent
|
|
4
|
-
.SH "SYNOPSIS"
|
|
5
|
-
.P
|
|
6
|
-
\fBase agent implementer 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-m\fR|\fB--mode\fR \fBimplement\fR|\fBdraft\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 implementer status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
9
|
-
.P
|
|
10
|
-
\fBase agent implementer 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 implementer stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
13
|
-
.SH "DESCRIPTION"
|
|
14
|
-
.P
|
|
15
|
-
\fBase agent implementer\fR drives the \fBImplementation\fR phase of the \fBenterprise\fR task lifecycle model (refused for any other model). It claims every task in the state \fBPLANNED\fR which is unassigned or assigned to the agent, which does not carry the tag \fBase-agent-implementer\fR yet, and whose \fBAfter:\fR predecessors (and, for an explicit epic, its group members) are \fIintegrated\fR, i.e., \fBINTEGRATED\fR and not still tagged by the integrator with the value \fBactive\fR or \fBfailed\fR, as the task is implemented from its \fBSource:\fR, which contains the change set of a predecessor only then.
|
|
16
|
-
.P
|
|
17
|
-
For a task \fIstacked\fR onto a predecessor (i.e., with the \fBbranch:\fR changeset of the predecessor as its \fBSource:\fR), the predecessor passes already once \fBIMPLEMENTED\fR or later (and not still tagged by the implementer with the value \fBactive\fR or \fBfailed\fR while \fBIMPLEMENTED\fR). This predecessor rule is the hook \fBpasses\fR of the built-in definition.
|
|
18
|
-
.P
|
|
19
|
-
By default, the implementer additionally waits with a task until the \fBestimator\fR agent (see \fBase-agent-estimator\fR(1)) is done with it, as the latter processes the \fBPLANNED\fR tasks unclaimed and would else race against the implementer: it claims a task only once the task carries a valid \fBEffort:\fR key, is an explicit epic, has an empty plan, or carries the tag \fBase-agent-estimator\fR (i.e., its estimation failed). Without an estimator agent, disable this with \fB--params effort-wait=false\fR, as the unestimated tasks would else wait forever. This rule is the hook \fBready\fR of the built-in definition (in both modes).
|
|
20
|
-
.P
|
|
21
|
-
In its default mode \fBimplement\fR, the implementer moves each claimed task into \fBIMPLEMENTING\fR, tags it with \fBase-agent-implementer:active\fR, and implements the plan from its \fBSource:\fR into its \fBChangeset:\fR via the skill invocation \fBase-task-implement --next DONE\fR \fIid\fR (see \fBCHANGESETS\fR). The skill itself puts a successfully implemented task into \fBIMPLEMENTED\fR, while a task left in \fBIMPLEMENTING\fR is put into \fBSTALLED\fR. Afterwards, the task is unassigned and tagged with \fBase-agent-implementer\fR.
|
|
22
|
-
.P
|
|
23
|
-
A task already \fBIMPLEMENTED\fR, but whose changeset branch could not be committed or pushed, is instead tagged \fBase-agent-implementer:failed\fR and left for a manual intervention.
|
|
24
|
-
.P
|
|
25
|
-
In mode \fBdraft\fR, the implementer instead claims only the \fBPLANNED\fR tasks without an implementation draft attachment (type \fBtext/x-diff;
|
|
26
|
-
charset=utf-8; kind="draft"\fR) yet and without the separate tag \fBase-agent-implementer-draft\fR (so a drafted task is still implemented later by an implementer in mode \fBimplement\fR), drafts the implementation from the \fBSource:\fR into this attachment only, ignoring the \fBChangeset:\fR, via \fBase-task-implement --next DONE --draft --stateless\fR \fIid\fR (in a temporary worktree of the skill, leaving the working copy untouched), and puts the task back into \fBPLANNED\fR: untagged if the draft attachment was created or changed, as the attachment itself keeps the agent from drafting it again, and otherwise tagged with \fBase-agent-implementer-draft\fR, so a failed drafting is not retried endlessly.
|
|
27
|
-
.P
|
|
28
|
-
On an interrupt, a task being processed is put back, untagged and with its previous assignee, into \fBPLANNED\fR. See \fBase-agent\fR(1) for the common mechanics of all agents.
|
|
29
|
-
.SH "CHANGESETS"
|
|
30
|
-
.P
|
|
31
|
-
In mode \fBimplement\fR, the \fBChangeset:\fR of the task (or the configured \fBproject.task.default.changeset\fR) is handled as follows:
|
|
32
|
-
.RS 0
|
|
33
|
-
.IP \(bu 4
|
|
34
|
-
\fBworktree\fR: The change set stays \fIuncommitted\fR in the Git working copy the agent is started in, which is switched to the branch of a \fBbranch:\fR\fIname\fR source beforehand, and where a task waits while the working copy still carries uncommitted changes (e.g., of an earlier task not yet integrated). With \fB--parallel\fR greater than \fB1\fR, it is instead implemented in the own Git worktree \fB.ase/worktree/\fR\fIid\fR of each task (via the skill option \fB--worktree\fR \fIid\fR).
|
|
35
|
-
.IP \(bu 4
|
|
36
|
-
\fBbranch:\fR\fIname\fR: The branch is checked out (created from the source if missing) in the Git worktree \fB.ase/worktree/\fR\fIbranch-id\fR of the agent, named after the branch (with every character other than letters, digits, \fB_\fR, and \fB-\fR replaced by \fB-\fR, runs of \fB-\fR reduced to one, and leading and trailing \fB-\fR and \fB_\fR removed, and refused if its directory already exists), unless already checked out in the working copy or another \fIASE\fR worktree, which then has to be without uncommitted changes, as they would be committed, too. It is implemented there in place (via the skill options \fB--changeset worktree --worktree\fR \fIbranch-id\fR, keeping the \fBSource:\fR of the plan, so the change set snapshot of the agent shows the entire branch), and afterwards \fIcommitted\fR onto the branch with the message \fIKind\fR\fB:\fR \fItitle\fR \fB(\fR\fIid\fR\fB)\fR (where \fIKind\fR is the \fBKind:\fR frontmatter key of the task, default \fBCRAFTING\fR) -- also a partial result of a failed processing, as the plan tracks it --, where the \fB.ase\fR directory is never committed.
|
|
37
|
-
.sp
|
|
38
|
-
The worktree of the agent is removed again only if clean. Under \fB--repo\fR, the branch is pushed to the origin of the clone and, if the push is rejected, kept as the branch \fBase-agent-rescue/\fR\fIid\fR in the preserved clone, also for a partial change set of a task put into \fBSTALLED\fR.
|
|
39
|
-
.IP \(bu 4
|
|
40
|
-
\fBattachment:\fR\fIname\fR: The change set is entirely handled by the skill.
|
|
41
|
-
.RE 0
|
|
42
|
-
.P
|
|
43
|
-
For a \fBworktree\fR or \fBbranch:\fR changeset, the agent itself (and not the skill) afterwards attaches the \fIchange set snapshot\fR to the task: the view-only, text-only unified diff of the change set from its fork point from the \fBSource:\fR on (without the \fB.ase\fR directory), in the attachment of type \fBtext/x-diff; charset=utf-8; kind="changeset"\fR (see \fB--attach-changeset\fR), replaced in place on every processing, with \fBbase\fR \fIcommit\fR (plus \fB, partial\fR for a task not put into \fBIMPLEMENTED\fR) in its \fBDesc:\fR key, so the change set can be viewed wherever the task is visible, e.g., on the task boards during its qualification.
|
|
44
|
-
.P
|
|
45
|
-
For an \fBattachment:\fR changeset other than \fBattachment:changeset\fR, an existing snapshot is removed as obsolete.
|
|
46
|
-
.SH "OPTIONS"
|
|
47
|
-
.RS 0
|
|
48
|
-
.IP \(bu 4
|
|
49
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show usage information of \fBase agent implementer\fR (or of the given sub-command) only.
|
|
50
|
-
.RE 0
|
|
51
|
-
.P
|
|
52
|
-
All other options belong to the sub-commands (see \fBCOMMANDS\fR).
|
|
53
|
-
.SH "COMMANDS"
|
|
54
|
-
.RS 0
|
|
55
|
-
.IP \(bu 4
|
|
56
|
-
\fBase agent implementer start\fR \[lB]\fIoptions\fR\[rB]: Start the implementer 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:
|
|
57
|
-
.RS 4
|
|
58
|
-
.IP \(bu 4
|
|
59
|
-
\[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBimplementer\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. 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.
|
|
60
|
-
.sp
|
|
61
|
-
Agents of the kind \fBimplementer\fR under different names form a pool, competing for the same tasks and processing them in parallel to each other.
|
|
62
|
-
.IP \(bu 4
|
|
63
|
-
\[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.
|
|
64
|
-
.IP \(bu 4
|
|
65
|
-
\[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. With more than one, a task with a \fBworktree\fR changeset is implemented in its own Git worktree \fB.ase/worktree/\fR\fIid\fR (created by the skill via its option \fB--worktree\fR \fIid\fR) instead of the working copy itself.
|
|
66
|
-
.IP \(bu 4
|
|
67
|
-
\[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.
|
|
68
|
-
.IP \(bu 4
|
|
69
|
-
\[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).
|
|
70
|
-
.IP \(bu 4
|
|
71
|
-
\[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).
|
|
72
|
-
.IP \(bu 4
|
|
73
|
-
\[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).
|
|
74
|
-
.sp
|
|
75
|
-
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).
|
|
76
|
-
.IP \(bu 4
|
|
77
|
-
\[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.
|
|
78
|
-
.IP \(bu 4
|
|
79
|
-
\[lB]\fB-m\fR|\fB--mode\fR \fImode\fR\[rB]: The mode of the agent (default: \fBimplement\fR): \fBimplement\fR implements the task from its \fBSource:\fR into its \fBChangeset:\fR via the skill \fBase-task-implement\fR and moves it on into \fBIMPLEMENTED\fR, while \fBdraft\fR just drafts its implementation into its implementation draft attachment \fBdraft\fR and puts it back into \fBPLANNED\fR. An invalid mode is an error.
|
|
80
|
-
.IP \(bu 4
|
|
81
|
-
\[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: \fBImplement planned tasks into their changesets\fR (\fBimplement\fR) resp. \fBDraft the implementation of planned tasks\fR (\fBdraft\fR).
|
|
82
|
-
.IP \(bu 4
|
|
83
|
-
\[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 mode.
|
|
84
|
-
.IP \(bu 4
|
|
85
|
-
\[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.
|
|
86
|
-
.IP \(bu 4
|
|
87
|
-
\[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: \fBchangeset\fR (mode \fBimplement\fR), \fBsource\fR (mode \fBdraft\fR).
|
|
88
|
-
.IP \(bu 4
|
|
89
|
-
\[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.
|
|
90
|
-
.IP \(bu 4
|
|
91
|
-
\[lB]\fB--serial\fR\[rB]: Process the tasks serially only, ignoring \fB--parallel\fR. Built-in: not set.
|
|
92
|
-
.IP \(bu 4
|
|
93
|
-
\[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 implementer claims the tasks into its activity state.
|
|
94
|
-
.IP \(bu 4
|
|
95
|
-
\[lB]\fB--params\fR \fIname\fR\fB=\fR\fIvalue\fR\[rB]: The value of a parameter declared by the definition (repeatable). Built-in: \fBeffort-wait\fR (\fBtrue\fR or \fBfalse\fR, default: \fBtrue\fR), whether to wait for the effort estimation of a task by the \fBestimator\fR agent (see \fBDESCRIPTION\fR).
|
|
96
|
-
.IP \(bu 4
|
|
97
|
-
\[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: \fBPLANNED\fR.
|
|
98
|
-
.IP \(bu 4
|
|
99
|
-
\[lB]\fB--state-activity\fR \fIstate\fR\[rB]: The state of a task during its processing. Generic default: the incoming state. Built-in: \fBIMPLEMENTING\fR.
|
|
100
|
-
.IP \(bu 4
|
|
101
|
-
\[lB]\fB--state-success\fR \fIstate\fR\[rB]: The target state on success. Generic default: the incoming state. Built-in: \fBIMPLEMENTED\fR (mode \fBimplement\fR), \fBPLANNED\fR (mode \fBdraft\fR).
|
|
102
|
-
.IP \(bu 4
|
|
103
|
-
\[lB]\fB--state-failure\fR \fIstate\fR\[rB]: The target state on failure. Generic default: the incoming state. Built-in: \fBSTALLED\fR (mode \fBimplement\fR), \fBPLANNED\fR (mode \fBdraft\fR).
|
|
104
|
-
.IP \(bu 4
|
|
105
|
-
\[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 (mode \fBimplement\fR), \fBIMPLEMENTED\fR (mode \fBdraft\fR).
|
|
106
|
-
.IP \(bu 4
|
|
107
|
-
\[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: \fBIMPLEMENTED\fR. The predecessor rule is decided by the hook \fBpasses\fR of the built-in definition instead (see \fBDESCRIPTION\fR).
|
|
108
|
-
.IP \(bu 4
|
|
109
|
-
\[lB]\fB--state-verdict\fR \fIVERDICT\fR\fB=\fR\fIstate\fR\[rB]: The target state per verdict (repeatable). Built-in: not set.
|
|
110
|
-
.IP \(bu 4
|
|
111
|
-
\[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-implementer\fR (mode \fBimplement\fR), \fBase-agent-implementer-draft\fR (mode \fBdraft\fR).
|
|
112
|
-
.IP \(bu 4
|
|
113
|
-
\[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 (mode \fBimplement\fR), \fBnone\fR (mode \fBdraft\fR).
|
|
114
|
-
.IP \(bu 4
|
|
115
|
-
\[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.
|
|
116
|
-
.IP \(bu 4
|
|
117
|
-
\[lB]\fB--tag-require\fR \fItag\fR\[rB]: A tag a claimable task has to carry (repeatable). Built-in: not set.
|
|
118
|
-
.IP \(bu 4
|
|
119
|
-
\[lB]\fB--tag-exclude\fR \fItag\fR\[rB]: A tag a claimable task must not carry (repeatable). Built-in: not set.
|
|
120
|
-
.IP \(bu 4
|
|
121
|
-
\[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.
|
|
122
|
-
.IP \(bu 4
|
|
123
|
-
\[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.
|
|
124
|
-
.IP \(bu 4
|
|
125
|
-
\[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.
|
|
126
|
-
.IP \(bu 4
|
|
127
|
-
\[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.
|
|
128
|
-
.IP \(bu 4
|
|
129
|
-
\[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.
|
|
130
|
-
.IP \(bu 4
|
|
131
|
-
\[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 implementer is of type \fBphase\fR.
|
|
132
|
-
.IP \(bu 4
|
|
133
|
-
\[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 implementer is of type \fBphase\fR.
|
|
134
|
-
.IP \(bu 4
|
|
135
|
-
\[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-implement\fR.
|
|
136
|
-
.IP \(bu 4
|
|
137
|
-
\[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{?changeset-type=branch:
|
|
138
|
-
--changeset worktree}{?changeset-worktree: --worktree
|
|
139
|
-
{changeset-worktree}} {id}\fR (mode \fBimplement\fR), \fB--next DONE
|
|
140
|
-
--draft --stateless {id}\fR (mode \fBdraft\fR).
|
|
141
|
-
.IP \(bu 4
|
|
142
|
-
\[lB]\fB--prompt-text\fR \fItemplate\fR\[rB]: The prompt text template to invoke instead of a skill. Built-in: not set.
|
|
143
|
-
.IP \(bu 4
|
|
144
|
-
\[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.
|
|
145
|
-
.IP \(bu 4
|
|
146
|
-
\[lB]\fB--prepare-run\fR \fIcmd\fR\[rB]: A shell command run in the working directory before the prompt (repeatable). Built-in: not set.
|
|
147
|
-
.IP \(bu 4
|
|
148
|
-
\[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: \fBstatus\fR (mode \fBimplement\fR), \fBexit\fR and \fBattachment\fR (mode \fBdraft\fR).
|
|
149
|
-
.IP \(bu 4
|
|
150
|
-
\[lB]\fB--success-match\fR \fIregex\fR\[rB]: A regular expression an output line has to match (repeatable). Built-in: not set.
|
|
151
|
-
.IP \(bu 4
|
|
152
|
-
\[lB]\fB--verdict-label\fR \fIlabel\fR\[rB]: The label after which the verdict is given in the output. Built-in: not set.
|
|
153
|
-
.IP \(bu 4
|
|
154
|
-
\[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.
|
|
155
|
-
.IP \(bu 4
|
|
156
|
-
\[lB]\fB--attach-output\fR \fIkind\fR\[rB]: The kind of the attachment storing the output lines of the prompt. Built-in: not set.
|
|
157
|
-
.IP \(bu 4
|
|
158
|
-
\[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 (mode \fBimplement\fR), \fBtext/x-diff;draft\fR (mode \fBdraft\fR).
|
|
159
|
-
.IP \(bu 4
|
|
160
|
-
\[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 (mode \fBimplement\fR), \fBtext/x-diff;draft\fR (mode \fBdraft\fR).
|
|
161
|
-
.IP \(bu 4
|
|
162
|
-
\[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: \fBchangeset\fR (mode \fBimplement\fR), not set (mode \fBdraft\fR).
|
|
163
|
-
.IP \(bu 4
|
|
164
|
-
\[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: enabled (mode \fBimplement\fR), not set (mode \fBdraft\fR).
|
|
165
|
-
.IP \(bu 4
|
|
166
|
-
\[lB]\fB--finish-success\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a successful processing. Built-in: not set.
|
|
167
|
-
.IP \(bu 4
|
|
168
|
-
\[lB]\fB--finish-failure\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a failed processing. Built-in: not set.
|
|
169
|
-
.IP \(bu 4
|
|
170
|
-
\[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.
|
|
171
|
-
.IP \(bu 4
|
|
172
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show the usage information of the sub-command only.
|
|
173
|
-
.RE 0
|
|
174
|
-
.IP "" 4
|
|
175
|
-
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 \fBimplementer\fR). See \fBase-agent-adhoc\fR(1) for their full semantics.
|
|
176
|
-
.IP \(bu 4
|
|
177
|
-
\fBase agent implementer status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Report whether the implementer agent of the name \fIname\fR (default: \fBimplementer\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).
|
|
178
|
-
.IP \(bu 4
|
|
179
|
-
\fBase agent implementer 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 implementer agent of the name \fIname\fR (default: \fBimplementer\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:
|
|
180
|
-
.RS 4
|
|
181
|
-
.IP \(bu 4
|
|
182
|
-
\[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.
|
|
183
|
-
.IP \(bu 4
|
|
184
|
-
\[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).
|
|
185
|
-
.IP \(bu 4
|
|
186
|
-
\[lB]\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBimplementer\fR), given in its long form only, as \fB-n\fR is the short form of \fB--lines\fR.
|
|
187
|
-
.RE 0
|
|
188
|
-
.IP \(bu 4
|
|
189
|
-
\fBase agent implementer stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Stop the implementer agent of the name \fIname\fR (default: \fBimplementer\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.
|
|
190
|
-
.RE 0
|
|
191
|
-
.SH "ENVIRONMENT"
|
|
192
|
-
.RS 0
|
|
193
|
-
.IP \(bu 4
|
|
194
|
-
\fBASE_TOOL\fR: The default agent tool of \fB--tool\fR (default: \fBclaude\fR).
|
|
195
|
-
.IP \(bu 4
|
|
196
|
-
\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.
|
|
197
|
-
.IP \(bu 4
|
|
198
|
-
\fBASE_HEADLESS\fR: Set to \fBtrue\fR for the agent tool processes spawned by the agent.
|
|
199
|
-
.RE 0
|
|
200
|
-
.SH "FILES"
|
|
201
|
-
.RS 0
|
|
202
|
-
.IP \(bu 4
|
|
203
|
-
\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.
|
|
204
|
-
.IP \(bu 4
|
|
205
|
-
\fB.ase/agent/\fR\fIname\fR\fB.log\fR: The log of the agent run in the background.
|
|
206
|
-
.IP \(bu 4
|
|
207
|
-
\fB.ase/worktree/\fR\fIid\fR, \fB.ase/worktree/\fR\fIbranch-id\fR: The Git worktree of a task with a \fBworktree\fR changeset under \fB--parallel\fR greater than \fB1\fR (where a \fB#\fR of the task id is replaced by \fB_\fR), resp. the Git worktree of the agent for a \fBbranch:\fR changeset, named after the branch.
|
|
208
|
-
.IP \(bu 4
|
|
209
|
-
\fIper-user state directory\fR\fB/agent-implementer/\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 implementer agent process, used to recover the tasks of terminated agent processes (see \fBINTERRUPTS AND RECOVERY\fR in \fBase-agent\fR(1)).
|
|
210
|
-
.RE 0
|
|
211
|
-
.SH "EXIT STATUS"
|
|
212
|
-
.P
|
|
213
|
-
\fBase agent implementer 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 implementer status\fR exits with status \fB1\fR if the agent is not running.
|
|
214
|
-
.SH "EXAMPLES"
|
|
215
|
-
.P
|
|
216
|
-
.RS 2
|
|
217
|
-
.nf
|
|
218
|
-
# implement up to two tasks in parallel
|
|
219
|
-
$ ase agent implementer start -p 2
|
|
220
|
-
|
|
221
|
-
# implement the tasks in a temporary clone, pushing their branches back
|
|
222
|
-
$ ase agent implementer start -r git@github.com:example/project.git
|
|
223
|
-
|
|
224
|
-
# just draft the implementations of the planned tasks
|
|
225
|
-
$ ase agent implementer start -n drafter -m draft
|
|
226
|
-
.fi
|
|
227
|
-
.RE
|
|
228
|
-
.SH "SEE ALSO"
|
|
229
|
-
.P
|
|
230
|
-
\fBase\fR(1), \fBase-agent\fR(1), \fBase-agent-rebooter\fR(1), \fBase-agent-condenser\fR(1), \fBase-agent-researcher\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).
|
|
231
|
-
.SH "AUTHOR"
|
|
232
|
-
.P
|
|
233
|
-
Dr. Ralf S. Engelschall \fI\(larse@engelschall.com\(ra\fR
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
.TH "ASE-AGENT-INTEGRATOR" "1" "October 2026" "2.0.3" "Agentic Software Engineering (ASE)"
|
|
2
|
-
.SH "NAME"
|
|
3
|
-
\fBase-agent-integrator\fR - Integration Phase Agent
|
|
4
|
-
.SH "SYNOPSIS"
|
|
5
|
-
.P
|
|
6
|
-
\fBase agent integrator 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-m\fR|\fB--mode\fR \fBmerge\fR|\fBrebase\fR|\fBsquash\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 integrator status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
9
|
-
.P
|
|
10
|
-
\fBase agent integrator 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 integrator stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]
|
|
13
|
-
.SH "DESCRIPTION"
|
|
14
|
-
.P
|
|
15
|
-
\fBase agent integrator\fR drives the \fBIntegration\fR phase of the \fBenterprise\fR task lifecycle model (refused for any other model). It claims every task in the state \fBQUALIFIED\fR which is unassigned or assigned to the agent, which does not carry the tag \fBase-agent-integrator\fR yet, and whose \fBAfter:\fR predecessors (and, for an explicit epic, its group members) are \fBINTEGRATED\fR (or, as a cancelled member of an epic, dropped from it), moves it into \fBINTEGRATING\fR, and integrates its \fBChangeset:\fR into its \fBTarget:\fR (or the configured defaults \fBproject.task.default.changeset\fR and \fBproject.task.default.target\fR) via the skill invocation \fBase-task-integrate --next DONE --mode\fR \fImode\fR \fIid\fR (with the skill option \fB--worktree\fR \fIid\fR for a \fBworktree\fR changeset in the Git worktree of a parallel implementer), where the merge commits the change set into the target.
|
|
16
|
-
.P
|
|
17
|
-
A \fBbranch:\fR\fIname\fR target not checked out in any Git worktree yet is checked out in a temporary Git worktree for the merge and removed afterwards. The agent tool is granted access to the Git worktrees of the changeset and the target. Under \fB--repo\fR, a moved \fBbranch:\fR target is pushed back to the origin of the clone afterwards, and a merged \fBbranch:\fR changeset is deleted from the origin (where a failure of the latter is just warned about).
|
|
18
|
-
.P
|
|
19
|
-
The skill itself puts an integrated task into \fBINTEGRATED\fR, where the processing counts as successful only if the agent tool exited successfully and its output carries the status line of the skill matching \fBstatus:\[rs]W*plan integrated\[rs]b\fR, while a task left in \fBINTEGRATING\fR is put into \fBDEFERRED\fR, especially on unresolvable merge conflicts. Afterwards, the task is unassigned and tagged with \fBase-agent-integrator\fR.
|
|
20
|
-
.P
|
|
21
|
-
A task already \fBINTEGRATED\fR, but whose target branch could not be pushed, is instead tagged \fBase-agent-integrator:failed\fR and left for a manual intervention, with the merge kept as the branch \fBase-agent-rescue/\fR\fIid\fR in the preserved clone.
|
|
22
|
-
.P
|
|
23
|
-
For a \fBworktree\fR or \fBbranch:\fR changeset of an \fBINTEGRATED\fR task whose integration changed the content of the target branch, the agent itself (and not the skill) afterwards replaces the \fIchange set snapshot\fR of the task -- the attachment of type \fBtext/x-diff; charset=utf-8;
|
|
24
|
-
kind="changeset"\fR (see \fB--attach-changeset\fR) -- in place by the view-only, text-only unified diff which finally landed on the target, with \fBbase\fR \fIcommit\fR\fB, merged\fR \fIcommit\fR in its \fBDesc:\fR key.
|
|
25
|
-
.P
|
|
26
|
-
Any uncommitted change in the worktree of the target branch lets the merge of every task with a \fBbranch:\fR changeset fail, and is committed together with the change set of a task with a \fBworktree\fR changeset, so keep that worktree clean while the integrator runs. As merges into the same target branch cannot run concurrently, the tasks are processed serially only.
|
|
27
|
-
.P
|
|
28
|
-
On an interrupt, a task being processed is put back, untagged and with its previous assignee, into \fBQUALIFIED\fR. See \fBase-agent\fR(1) for the common mechanics of all agents.
|
|
29
|
-
.SH "OPTIONS"
|
|
30
|
-
.RS 0
|
|
31
|
-
.IP \(bu 4
|
|
32
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show usage information of \fBase agent integrator\fR (or of the given sub-command) only.
|
|
33
|
-
.RE 0
|
|
34
|
-
.P
|
|
35
|
-
All other options belong to the sub-commands (see \fBCOMMANDS\fR).
|
|
36
|
-
.SH "COMMANDS"
|
|
37
|
-
.RS 0
|
|
38
|
-
.IP \(bu 4
|
|
39
|
-
\fBase agent integrator start\fR \[lB]\fIoptions\fR\[rB]: Start the integrator 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:
|
|
40
|
-
.RS 4
|
|
41
|
-
.IP \(bu 4
|
|
42
|
-
\[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBintegrator\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. 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.
|
|
43
|
-
.sp
|
|
44
|
-
Agents of the kind \fBintegrator\fR under different names form a pool, competing for the same tasks, but processing the tasks serially only, so a single integrator suffices (and a fleet refuses more than one).
|
|
45
|
-
.IP \(bu 4
|
|
46
|
-
\[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.
|
|
47
|
-
.IP \(bu 4
|
|
48
|
-
\[lB]\fB-p\fR|\fB--parallel\fR \fInum\fR\[rB]: Ignored, as merges into the same target branch cannot run concurrently, so the tasks are processed serially only: an explicitly given \fInum\fR greater than \fB1\fR is clamped to \fB1\fR with a warning.
|
|
49
|
-
.IP \(bu 4
|
|
50
|
-
\[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.
|
|
51
|
-
.IP \(bu 4
|
|
52
|
-
\[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).
|
|
53
|
-
.IP \(bu 4
|
|
54
|
-
\[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).
|
|
55
|
-
.IP \(bu 4
|
|
56
|
-
\[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).
|
|
57
|
-
.sp
|
|
58
|
-
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).
|
|
59
|
-
.IP \(bu 4
|
|
60
|
-
\[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.
|
|
61
|
-
.IP \(bu 4
|
|
62
|
-
\[lB]\fB-m\fR|\fB--mode\fR \fImode\fR\[rB]: The Git operation integrating the changeset into the target, passed through to the skill \fBase-task-integrate\fR (default: \fBsquash\fR): \fBmerge\fR creates a merge commit, \fBrebase\fR rebases the changeset onto the target and fast-forwards the target, and \fBsquash\fR combines the changeset into one new commit on the target. An invalid mode is an error.
|
|
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: \fBIntegrate qualified tasks by\fR \fIhow\fR, with \fIhow\fR being \fBa merge commit\fR (\fBmerge\fR), \fBa rebase with fast-forward\fR (\fBrebase\fR), resp. \fBa squash commit\fR (\fBsquash\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 mode.
|
|
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: \fBphase\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: \fBtarget\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: \fBenterprise\fR.
|
|
73
|
-
.IP \(bu 4
|
|
74
|
-
\[lB]\fB--serial\fR\[rB]: Process the tasks serially only, ignoring \fB--parallel\fR. Built-in: enabled.
|
|
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 integrator claims the tasks into its activity state.
|
|
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: \fBQUALIFIED\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: \fBINTEGRATING\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: \fBINTEGRATED\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: \fBDEFERRED\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.
|
|
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: \fBINTEGRATED\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.
|
|
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-integrator\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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: not set. Not allowed, as the integrator is of type \fBphase\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: not set. Not allowed, as the integrator is of type \fBphase\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-integrate\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--next DONE --mode
|
|
121
|
-
merge{?changeset-worktree: --worktree {changeset-worktree}} {id}\fR (mode \fBmerge\fR), \fB--next DONE --mode rebase{?changeset-worktree:
|
|
122
|
-
--worktree {changeset-worktree}} {id}\fR (mode \fBrebase\fR), \fB--next
|
|
123
|
-
DONE --mode squash{?changeset-worktree: --worktree
|
|
124
|
-
{changeset-worktree}} {id}\fR (mode \fBsquash\fR).
|
|
125
|
-
.IP \(bu 4
|
|
126
|
-
\[lB]\fB--prompt-text\fR \fItemplate\fR\[rB]: The prompt text template to invoke instead of a skill. Built-in: not set.
|
|
127
|
-
.IP \(bu 4
|
|
128
|
-
\[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.
|
|
129
|
-
.IP \(bu 4
|
|
130
|
-
\[lB]\fB--prepare-run\fR \fIcmd\fR\[rB]: A shell command run in the working directory before the prompt (repeatable). Built-in: not set.
|
|
131
|
-
.IP \(bu 4
|
|
132
|
-
\[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.
|
|
133
|
-
.IP \(bu 4
|
|
134
|
-
\[lB]\fB--success-match\fR \fIregex\fR\[rB]: A regular expression an output line has to match (repeatable). Built-in: \fBstatus:\[rs]W*plan
|
|
135
|
-
integrated\[rs]b\fR.
|
|
136
|
-
.IP \(bu 4
|
|
137
|
-
\[lB]\fB--verdict-label\fR \fIlabel\fR\[rB]: The label after which the verdict is given in the output. Built-in: not set.
|
|
138
|
-
.IP \(bu 4
|
|
139
|
-
\[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.
|
|
140
|
-
.IP \(bu 4
|
|
141
|
-
\[lB]\fB--attach-output\fR \fIkind\fR\[rB]: The kind of the attachment storing the output lines of the prompt. Built-in: not set.
|
|
142
|
-
.IP \(bu 4
|
|
143
|
-
\[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.
|
|
144
|
-
.IP \(bu 4
|
|
145
|
-
\[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.
|
|
146
|
-
.IP \(bu 4
|
|
147
|
-
\[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: \fBchangeset\fR.
|
|
148
|
-
.IP \(bu 4
|
|
149
|
-
\[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 integrator works with \fB--workdir target\fR.
|
|
150
|
-
.IP \(bu 4
|
|
151
|
-
\[lB]\fB--finish-success\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a successful processing. Built-in: not set.
|
|
152
|
-
.IP \(bu 4
|
|
153
|
-
\[lB]\fB--finish-failure\fR \fIcmd\fR\[rB]: A shell command run in the working directory after a failed processing. Built-in: not set.
|
|
154
|
-
.IP \(bu 4
|
|
155
|
-
\[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.
|
|
156
|
-
.IP \(bu 4
|
|
157
|
-
\[lB]\fB-h\fR|\fB--help\fR\[rB]: Show the usage information of the sub-command only.
|
|
158
|
-
.RE 0
|
|
159
|
-
.IP "" 4
|
|
160
|
-
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 \fBintegrator\fR). See \fBase-agent-adhoc\fR(1) for their full semantics.
|
|
161
|
-
.IP \(bu 4
|
|
162
|
-
\fBase agent integrator status\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Report whether the integrator agent of the name \fIname\fR (default: \fBintegrator\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).
|
|
163
|
-
.IP \(bu 4
|
|
164
|
-
\fBase agent integrator 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 integrator agent of the name \fIname\fR (default: \fBintegrator\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:
|
|
165
|
-
.RS 4
|
|
166
|
-
.IP \(bu 4
|
|
167
|
-
\[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.
|
|
168
|
-
.IP \(bu 4
|
|
169
|
-
\[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).
|
|
170
|
-
.IP \(bu 4
|
|
171
|
-
\[lB]\fB--name\fR \fIname\fR\[rB]: The name of the agent (default: \fBintegrator\fR), given in its long form only, as \fB-n\fR is the short form of \fB--lines\fR.
|
|
172
|
-
.RE 0
|
|
173
|
-
.IP \(bu 4
|
|
174
|
-
\fBase agent integrator stop\fR \[lB]\fB-n\fR|\fB--name\fR \fIname\fR\[rB]: Stop the integrator agent of the name \fIname\fR (default: \fBintegrator\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.
|
|
175
|
-
.RE 0
|
|
176
|
-
.SH "ENVIRONMENT"
|
|
177
|
-
.RS 0
|
|
178
|
-
.IP \(bu 4
|
|
179
|
-
\fBASE_TOOL\fR: The default agent tool of \fB--tool\fR (default: \fBclaude\fR).
|
|
180
|
-
.IP \(bu 4
|
|
181
|
-
\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.
|
|
182
|
-
.IP \(bu 4
|
|
183
|
-
\fBASE_HEADLESS\fR: Set to \fBtrue\fR for the agent tool processes spawned by the agent.
|
|
184
|
-
.RE 0
|
|
185
|
-
.SH "FILES"
|
|
186
|
-
.RS 0
|
|
187
|
-
.IP \(bu 4
|
|
188
|
-
\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.
|
|
189
|
-
.IP \(bu 4
|
|
190
|
-
\fB.ase/agent/\fR\fIname\fR\fB.log\fR: The log of the agent run in the background.
|
|
191
|
-
.IP \(bu 4
|
|
192
|
-
\fIper-user state directory\fR\fB/agent-integrator/\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 integrator agent process, used to recover the tasks of terminated agent processes (see \fBINTERRUPTS AND RECOVERY\fR in \fBase-agent\fR(1)).
|
|
193
|
-
.RE 0
|
|
194
|
-
.SH "EXIT STATUS"
|
|
195
|
-
.P
|
|
196
|
-
\fBase agent integrator 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 integrator status\fR exits with status \fB1\fR if the agent is not running.
|
|
197
|
-
.SH "EXAMPLES"
|
|
198
|
-
.P
|
|
199
|
-
.RS 2
|
|
200
|
-
.nf
|
|
201
|
-
# integrate the qualified tasks by squash commits
|
|
202
|
-
$ ase agent integrator start
|
|
203
|
-
|
|
204
|
-
# integrate the qualified tasks by merge commits in a temporary clone
|
|
205
|
-
$ ase agent integrator start -m merge -r git@github.com:example/project.git
|
|
206
|
-
.fi
|
|
207
|
-
.RE
|
|
208
|
-
.SH "SEE ALSO"
|
|
209
|
-
.P
|
|
210
|
-
\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-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).
|
|
211
|
-
.SH "AUTHOR"
|
|
212
|
-
.P
|
|
213
|
-
Dr. Ralf S. Engelschall \fI\(larse@engelschall.com\(ra\fR
|