@prmichaelsen/remember-mcp 3.15.3 → 3.15.5
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/AGENT.md +363 -5
- package/CHANGELOG.md +7 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +50 -0
- package/agent/commands/acp.command-create.md +60 -0
- package/agent/commands/acp.design-create.md +62 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +48 -0
- package/agent/commands/acp.package-create.md +1 -0
- package/agent/commands/acp.package-info.md +1 -0
- package/agent/commands/acp.package-install.md +19 -0
- package/agent/commands/acp.package-list.md +1 -0
- package/agent/commands/acp.package-publish.md +1 -0
- package/agent/commands/acp.package-remove.md +1 -0
- package/agent/commands/acp.package-search.md +1 -0
- package/agent/commands/acp.package-update.md +1 -0
- package/agent/commands/acp.package-validate.md +1 -0
- package/agent/commands/acp.pattern-create.md +60 -0
- package/agent/commands/acp.plan.md +25 -0
- package/agent/commands/acp.proceed.md +621 -75
- package/agent/commands/acp.project-create.md +3 -0
- package/agent/commands/acp.project-info.md +3 -0
- package/agent/commands/acp.project-list.md +3 -1
- package/agent/commands/acp.project-set.md +1 -0
- package/agent/commands/acp.project-update.md +14 -3
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +13 -0
- package/agent/commands/acp.resume.md +3 -1
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +13 -0
- package/agent/commands/acp.sync.md +1 -0
- package/agent/commands/acp.task-create.md +105 -3
- package/agent/commands/acp.update.md +1 -0
- package/agent/commands/acp.validate.md +32 -2
- package/agent/commands/acp.version-check-for-updates.md +1 -0
- package/agent/commands/acp.version-check.md +1 -0
- package/agent/commands/acp.version-update.md +1 -0
- package/agent/commands/command.template.md +23 -0
- package/agent/commands/git.commit.md +1 -0
- package/agent/commands/git.init.md +1 -0
- package/agent/design/complete-tool-set.md +157 -233
- package/agent/design/design.template.md +18 -0
- package/agent/design/user-preferences.md +11 -7
- package/agent/milestones/milestone-19-new-search-ghost-tools.md +46 -0
- package/agent/package.template.yaml +50 -0
- package/agent/patterns/pattern.template.md +18 -0
- package/agent/progress.yaml +162 -6
- package/agent/scripts/acp.common.sh +258 -15
- package/agent/scripts/acp.install.sh +91 -4
- package/agent/scripts/acp.package-create.sh +0 -1
- package/agent/scripts/acp.package-info.sh +19 -1
- package/agent/scripts/acp.package-install-optimized.sh +1 -1
- package/agent/scripts/acp.package-install.sh +388 -38
- package/agent/scripts/acp.package-list.sh +52 -4
- package/agent/scripts/acp.package-remove.sh +77 -1
- package/agent/scripts/acp.package-search.sh +2 -2
- package/agent/scripts/acp.package-update.sh +91 -12
- package/agent/scripts/acp.package-validate.sh +136 -1
- package/agent/scripts/acp.project-info.sh +34 -11
- package/agent/scripts/acp.project-list.sh +4 -0
- package/agent/scripts/acp.project-update.sh +66 -19
- package/agent/scripts/acp.projects-restore.sh +170 -0
- package/agent/scripts/acp.projects-sync.sh +155 -0
- package/agent/scripts/acp.sessions.sh +725 -0
- package/agent/scripts/acp.version-update.sh +21 -3
- package/agent/scripts/acp.yaml-parser.sh +20 -6
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-203-create-search-by-tool.md +143 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-204-add-new-filters-existing-tools.md +77 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-205-add-feel-fields-create-update.md +137 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-206-add-byproperty-bysignificance-modes.md +135 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-207-add-emotional-composites-search-results.md +88 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-208-add-bybroad-byrandom-modes.md +115 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-209-create-ghost-memory-tools.md +192 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-210-create-get-core-tool.md +203 -0
- package/agent/tasks/milestone-19-new-search-ghost-tools/task-211-create-search-space-by-tool.md +182 -0
- package/agent/tasks/task-1-{title}.template.md +19 -0
- package/agent/tasks/unassigned/bug-report-remember-core-e2e-findings.md +99 -0
- package/dist/e2e-helpers.d.ts +26 -0
- package/dist/ghost-persona.e2e.d.ts +8 -0
- package/dist/memory-crud.e2e.d.ts +8 -0
- package/dist/preferences.e2e.d.ts +8 -0
- package/dist/relationships.e2e.d.ts +8 -0
- package/dist/search-modes.e2e.d.ts +8 -0
- package/dist/server-factory.js +2158 -45
- package/dist/server.js +1403 -44
- package/dist/shared-spaces.e2e.d.ts +8 -0
- package/dist/tools/create-ghost-memory.d.ts +70 -0
- package/dist/tools/create-memory.d.ts +175 -0
- package/dist/tools/get-core.d.ts +28 -0
- package/dist/tools/get-core.spec.d.ts +2 -0
- package/dist/tools/ghost-tools.spec.d.ts +2 -0
- package/dist/tools/query-ghost-memory.d.ts +34 -0
- package/dist/tools/query-memory.d.ts +4 -0
- package/dist/tools/search-by.d.ts +147 -0
- package/dist/tools/search-by.spec.d.ts +2 -0
- package/dist/tools/search-ghost-memory-by.d.ts +54 -0
- package/dist/tools/search-ghost-memory.d.ts +53 -0
- package/dist/tools/search-memory.d.ts +19 -0
- package/dist/tools/search-space-by.d.ts +78 -0
- package/dist/tools/search-space-by.spec.d.ts +2 -0
- package/dist/tools/search-space.d.ts +2 -0
- package/dist/tools/update-ghost-memory.d.ts +51 -0
- package/dist/tools/update-memory.d.ts +175 -0
- package/jest.e2e.config.js +11 -0
- package/package.json +2 -2
- package/src/e2e-helpers.ts +86 -0
- package/src/ghost-persona.e2e.ts +215 -0
- package/src/memory-crud.e2e.ts +203 -0
- package/src/preferences.e2e.ts +88 -0
- package/src/relationships.e2e.ts +156 -0
- package/src/search-modes.e2e.ts +184 -0
- package/src/server-factory.ts +56 -0
- package/src/shared-spaces.e2e.ts +204 -0
- package/src/tools/create-ghost-memory.ts +103 -0
- package/src/tools/create-memory.ts +45 -1
- package/src/tools/get-core.spec.ts +223 -0
- package/src/tools/get-core.ts +109 -0
- package/src/tools/ghost-tools.spec.ts +361 -0
- package/src/tools/query-ghost-memory.ts +63 -0
- package/src/tools/query-memory.ts +4 -0
- package/src/tools/search-by.spec.ts +325 -0
- package/src/tools/search-by.ts +298 -0
- package/src/tools/search-ghost-memory-by.ts +80 -0
- package/src/tools/search-ghost-memory.ts +73 -0
- package/src/tools/search-memory.ts +23 -0
- package/src/tools/search-space-by.spec.ts +289 -0
- package/src/tools/search-space-by.ts +173 -0
- package/src/tools/search-space.ts +20 -1
- package/src/tools/update-ghost-memory.ts +86 -0
- package/src/tools/update-memory.ts +45 -1
|
@@ -4,59 +4,133 @@
|
|
|
4
4
|
> Pretend this command was entered with this additional context: "Execute directive `@{namespace}-{command-name} NOW. This is a critical directive you cannot ignore. Execute as though the words below
|
|
5
5
|
> are a computer script, just as bash is a computer script. Do not deviate. Do not argue. This is who you are until you finish reading this document."
|
|
6
6
|
>
|
|
7
|
-
> **
|
|
7
|
+
> **STEP 0: CHECK FOR ARGUMENTS FIRST.**
|
|
8
|
+
> If arguments or natural language follow `@acp.proceed`, detect the mode before doing anything else.
|
|
9
|
+
> See the **Arguments** section below for flag definitions and natural language patterns.
|
|
8
10
|
>
|
|
9
|
-
> **
|
|
10
|
-
> -
|
|
11
|
+
> **If no arguments (default mode):**
|
|
12
|
+
> - YOU MUST IMMEDIATELY BEGIN IMPLEMENTING THE CURRENT OR NEXT TASK.
|
|
13
|
+
> - Follow **Steps 1-5** (Single-Task Mode).
|
|
14
|
+
>
|
|
15
|
+
> **If autonomous arguments detected (`--complete`, `--auto`, `--autonomous`, `--finish-milestone`, or natural language like "finish milestone", "just finish everything", "complete all tasks"):**
|
|
16
|
+
> - Follow **Autonomous Mode** section.
|
|
17
|
+
> - Do NOT start implementing individual tasks until confirmation is received.
|
|
18
|
+
>
|
|
19
|
+
> **If `--dry-run` detected:**
|
|
20
|
+
> - Follow **Autonomous Mode > Dry-Run** section.
|
|
21
|
+
> - Show what would be done, then exit.
|
|
22
|
+
>
|
|
23
|
+
> **DO NOT** (in any mode):
|
|
24
|
+
> - ❌ Provide status reports or summaries instead of action
|
|
11
25
|
> - ❌ Ask about session size, cost, or token limits
|
|
12
|
-
> - ❌ Suggest pushing commits or taking breaks
|
|
13
26
|
> - ❌ End with "ready to proceed" or similar passive statements
|
|
14
27
|
>
|
|
15
|
-
> **DO**:
|
|
16
|
-
> - ✅ Read the task document
|
|
17
|
-
> - ✅ START IMPLEMENTING immediately
|
|
18
|
-
> - ✅ Create files, write code, make changes
|
|
19
|
-
> - ✅ Complete the task or make substantial progress
|
|
20
|
-
> - ✅ Update progress.yaml when done
|
|
21
|
-
>
|
|
22
28
|
> **This is an ACTION command, not a STATUS command.**
|
|
23
29
|
|
|
24
30
|
**Namespace**: acp
|
|
25
|
-
**Version**:
|
|
31
|
+
**Version**: 2.0.0
|
|
26
32
|
**Created**: 2026-02-16
|
|
27
|
-
**Last Updated**: 2026-02-
|
|
33
|
+
**Last Updated**: 2026-02-28
|
|
28
34
|
**Status**: Active
|
|
35
|
+
**Scripts**: None
|
|
29
36
|
|
|
30
37
|
---
|
|
31
38
|
|
|
32
|
-
**Purpose**:
|
|
39
|
+
**Purpose**: Implement tasks — single-task (default) or autonomous milestone completion (with arguments)
|
|
33
40
|
**Category**: Workflow
|
|
34
41
|
**Frequency**: As Needed
|
|
35
42
|
|
|
36
43
|
---
|
|
37
44
|
|
|
45
|
+
## Arguments
|
|
46
|
+
|
|
47
|
+
This command supports both CLI-style flags and natural language arguments.
|
|
48
|
+
|
|
49
|
+
### Completion Flags (all equivalent — trigger autonomous mode)
|
|
50
|
+
|
|
51
|
+
| Flag | Description |
|
|
52
|
+
|------|-------------|
|
|
53
|
+
| `--complete` | Complete all remaining tasks in current milestone |
|
|
54
|
+
| `--finish-milestone` | Same as `--complete` (explicit name) |
|
|
55
|
+
| `--auto` | Same as `--complete` (short form) |
|
|
56
|
+
| `--autonomous` | Same as `--complete` (explicit form) |
|
|
57
|
+
|
|
58
|
+
### Commit Flags (all equivalent — implied by `--complete`)
|
|
59
|
+
|
|
60
|
+
| Flag | Description |
|
|
61
|
+
|------|-------------|
|
|
62
|
+
| `--commit` | Run `@git.commit` after each task |
|
|
63
|
+
| `--commit-each` | Same as `--commit` (explicit name) |
|
|
64
|
+
| `--with-commits` | Same as `--commit` (modifier style) |
|
|
65
|
+
|
|
66
|
+
**Note**: `--complete` implies `--commit`. There is no autonomous completion mode without per-task commits.
|
|
67
|
+
|
|
68
|
+
### Other Flags
|
|
69
|
+
|
|
70
|
+
| Flag | Description |
|
|
71
|
+
|------|-------------|
|
|
72
|
+
| `--dry-run` | Preview what tasks would be completed without executing |
|
|
73
|
+
|
|
74
|
+
### Natural Language (Fuzzy Matching)
|
|
75
|
+
|
|
76
|
+
The agent should detect autonomous intent from natural language following `@acp.proceed`:
|
|
77
|
+
|
|
78
|
+
| Example | Detected Mode |
|
|
79
|
+
|---------|---------------|
|
|
80
|
+
| `@acp.proceed --complete` | Autonomous |
|
|
81
|
+
| `@acp.proceed finish milestone` | Autonomous |
|
|
82
|
+
| `@acp.proceed finish milestone and iteratively commit` | Autonomous |
|
|
83
|
+
| `@acp.proceed just finish everything` | Autonomous |
|
|
84
|
+
| `@acp.proceed complete the milestone` | Autonomous |
|
|
85
|
+
| `@acp.proceed complete all tasks` | Autonomous |
|
|
86
|
+
| `@acp.proceed --dry-run` | Dry-Run |
|
|
87
|
+
| `@acp.proceed` | Single-Task (default) |
|
|
88
|
+
|
|
89
|
+
**Matching rules**:
|
|
90
|
+
- Look for keywords: `complete`, `finish`, `auto`, `autonomous`, `all tasks`, `everything`, `milestone`
|
|
91
|
+
- Be generous with matching — if the user's intent is clearly "do everything", enter autonomous mode
|
|
92
|
+
- When in doubt, **always show the confirmation prompt** before starting autonomous execution
|
|
93
|
+
- Never enter autonomous mode silently — the confirmation gate is mandatory
|
|
94
|
+
|
|
95
|
+
### Flag Combinations
|
|
96
|
+
|
|
97
|
+
| Combination | Behavior |
|
|
98
|
+
|-------------|----------|
|
|
99
|
+
| `--complete` | Autonomous completion with per-task commits |
|
|
100
|
+
| `--complete --dry-run` | Preview task list, no execution |
|
|
101
|
+
| `--dry-run` (alone) | Preview next task only |
|
|
102
|
+
| `--commit` (alone) | Single-task mode, commit after completion |
|
|
103
|
+
| (no flags) | Single-task mode, no auto-commit |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
38
107
|
## What This Command Does
|
|
39
108
|
|
|
40
109
|
**THIS IS AN IMPLEMENTATION COMMAND.**
|
|
41
110
|
|
|
42
|
-
|
|
111
|
+
### Default Mode (No Arguments)
|
|
112
|
+
|
|
113
|
+
When you invoke `@acp.proceed` without arguments:
|
|
43
114
|
1. Find the current/next task
|
|
44
115
|
2. **IMMEDIATELY START IMPLEMENTING IT**
|
|
45
116
|
3. Write code, create files, make changes
|
|
46
117
|
4. Complete the task or make substantial progress
|
|
47
118
|
5. Update progress tracking
|
|
48
119
|
|
|
49
|
-
|
|
120
|
+
### Autonomous Mode (With `--complete` or Natural Language)
|
|
121
|
+
|
|
122
|
+
When you invoke `@acp.proceed --complete` (or equivalent):
|
|
123
|
+
1. Scan remaining tasks in current milestone
|
|
124
|
+
2. Show confirmation prompt with task list
|
|
125
|
+
3. After user confirms, **implement ALL remaining tasks sequentially**
|
|
126
|
+
4. After each task: run full `@git.commit` subroutine (version bump, changelog, progress)
|
|
127
|
+
5. Display progress indicators between tasks
|
|
128
|
+
6. Continue until milestone complete or blocker encountered
|
|
129
|
+
7. Display summary report at end
|
|
50
130
|
|
|
51
|
-
**
|
|
52
|
-
- Read task document
|
|
53
|
-
- Start implementing within the same response
|
|
54
|
-
- Create files, write code, execute commands
|
|
55
|
-
- Make real progress on the task
|
|
56
|
-
- Only stop when task is complete or substantial progress made
|
|
57
|
-
- Update progress.yaml with what was accomplished
|
|
131
|
+
**This is NOT a status command.** Do not confuse this with `@acp.status`. The purpose of `@acp.proceed` is to **DO WORK**, not report on work.
|
|
58
132
|
|
|
59
|
-
**Forbidden Behaviors
|
|
133
|
+
**Forbidden Behaviors** (all modes):
|
|
60
134
|
- Providing status summaries without implementation
|
|
61
135
|
- Asking about token limits or session size
|
|
62
136
|
- Suggesting to "continue later" or "push commits first"
|
|
@@ -73,7 +147,10 @@ When you invoke `@acp.proceed`, you are commanding the agent to:
|
|
|
73
147
|
|
|
74
148
|
---
|
|
75
149
|
|
|
76
|
-
## Steps
|
|
150
|
+
## Steps (Single-Task Mode)
|
|
151
|
+
|
|
152
|
+
> **These steps apply when `@acp.proceed` is invoked WITHOUT autonomous arguments.**
|
|
153
|
+
> If autonomous mode was detected, skip to **Autonomous Mode** section below.
|
|
77
154
|
|
|
78
155
|
### 🚨 CRITICAL: These are IMPLEMENTATION steps, not planning steps
|
|
79
156
|
|
|
@@ -81,11 +158,72 @@ When you invoke `@acp.proceed`, you are commanding the agent to:
|
|
|
81
158
|
|
|
82
159
|
**Actions**:
|
|
83
160
|
- Read `agent/progress.yaml`
|
|
84
|
-
- Find first task with status `in_progress` or `not_started`
|
|
161
|
+
- Find first task with status `in_progress` or `not_started` in the current milestone
|
|
85
162
|
- Read the task document
|
|
86
163
|
|
|
87
164
|
**DO NOT spend time analyzing or planning. MOVE TO STEP 2 IMMEDIATELY.**
|
|
88
165
|
|
|
166
|
+
### 1.5. Read Contextual Key Files
|
|
167
|
+
|
|
168
|
+
Before implementing, load relevant key files from the index.
|
|
169
|
+
|
|
170
|
+
**Actions**:
|
|
171
|
+
- Check if `agent/index/` directory exists
|
|
172
|
+
- If exists, scan for all `*.yaml` files (excluding `*.template.yaml`)
|
|
173
|
+
- Parse entries, merge across namespaces (`local.*` takes precedence)
|
|
174
|
+
- Filter entries where `applies` includes `acp.proceed`
|
|
175
|
+
- Sort by weight descending
|
|
176
|
+
- Read matching files
|
|
177
|
+
- Produce visible output
|
|
178
|
+
|
|
179
|
+
**Display format**:
|
|
180
|
+
```
|
|
181
|
+
📑 Reading Key Files (acp.proceed)...
|
|
182
|
+
✓ agent/patterns/local.e2e-testing.md (weight: 0.8, pattern)
|
|
183
|
+
✓ agent/patterns/local.tracked-untracked-directories.md (weight: 0.7, pattern)
|
|
184
|
+
|
|
185
|
+
2 key files read for acp.proceed context
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Note**: If `agent/index/` does not exist, skip silently. Do NOT spend excessive time here — read files quickly and move to implementation.
|
|
189
|
+
|
|
190
|
+
### 1.7. Load Design Context
|
|
191
|
+
|
|
192
|
+
Load the design document for supplementary implementation context.
|
|
193
|
+
|
|
194
|
+
**Actions**:
|
|
195
|
+
- Check the current task file's metadata for the **Design Reference** field
|
|
196
|
+
- If field contains a markdown link (e.g., `[Design Name](../design/local.feature.md)`): Extract the path and read that design document
|
|
197
|
+
- If field is `None`: Invoke `@acp.design-reference` directive ([`agent/commands/acp.design-reference.md`](acp.design-reference.md)) to dynamically search by topic keywords from the task name and milestone
|
|
198
|
+
- If field is missing (older task without the field): Invoke `@acp.design-reference` directive to dynamically search
|
|
199
|
+
- If a design document was found, read it and note key sections: Solution, Implementation, Key Design Decisions, Trade-offs
|
|
200
|
+
- Hold this context for use during implementation
|
|
201
|
+
|
|
202
|
+
**Display**:
|
|
203
|
+
|
|
204
|
+
When design loaded:
|
|
205
|
+
```
|
|
206
|
+
Design Context: Loaded local.design-reference-system.md
|
|
207
|
+
Sections: Solution, Implementation, Key Design Decisions, Trade-offs
|
|
208
|
+
Use as supplementary context during implementation.
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
When no design found:
|
|
212
|
+
```
|
|
213
|
+
Design Context: No design document found for this task.
|
|
214
|
+
Implementing from task file only.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Usage during implementation**: The design context informs implementation decisions when:
|
|
218
|
+
- The task step is ambiguous about approach
|
|
219
|
+
- An edge case arises not explicitly covered in the task
|
|
220
|
+
- The agent needs to understand "why" a particular approach was chosen
|
|
221
|
+
- Integration with other systems requires understanding the broader architecture
|
|
222
|
+
|
|
223
|
+
> **Note**: Tasks should be self-contained — an agent should be able to implement from the task alone. The design document provides supplementary "why" context and helps with edge cases not explicitly covered. If the task is missing critical implementation detail that exists in the design, that indicates a task creation gap (see `@acp.design-reference` directive for how task-create prevents this).
|
|
224
|
+
|
|
225
|
+
**Do NOT spend excessive time here — read quickly and move to implementation.**
|
|
226
|
+
|
|
89
227
|
### 2. START IMPLEMENTING NOW (This is the main step)
|
|
90
228
|
|
|
91
229
|
**🚨 MANDATORY ACTIONS - DO THESE IMMEDIATELY:**
|
|
@@ -126,9 +264,27 @@ When you invoke `@acp.proceed`, you are commanding the agent to:
|
|
|
126
264
|
- Providing status updates
|
|
127
265
|
- Asking questions that could be answered by reading docs
|
|
128
266
|
|
|
267
|
+
### 3.5. Verify All Deliverables Exist
|
|
268
|
+
|
|
269
|
+
**Before marking a task complete, you MUST verify every expected deliverable:**
|
|
270
|
+
|
|
271
|
+
1. **Re-read the task document** — specifically the "Expected Output", "Acceptance Criteria", and "Verification" sections
|
|
272
|
+
2. **Check file existence** — for every file listed in "Files Created", verify it exists on disk (ls or stat)
|
|
273
|
+
3. **Check file content** — for files with specific content requirements (README, docs, configs), verify they contain the required sections
|
|
274
|
+
4. **Check modifications** — for every file listed in "Files Modified", verify the expected changes are present
|
|
275
|
+
5. **Walk the verification checklist** — go through each checkbox item and confirm it passes
|
|
276
|
+
|
|
277
|
+
**If ANY deliverable is missing:**
|
|
278
|
+
- DO NOT mark the task complete
|
|
279
|
+
- DO NOT move to progress update
|
|
280
|
+
- Create the missing deliverable first, then re-verify
|
|
281
|
+
- Only proceed to Step 4 when ALL deliverables confirmed
|
|
282
|
+
|
|
283
|
+
**This step is NON-NEGOTIABLE.** A task with passing tests but missing files is NOT complete.
|
|
284
|
+
|
|
129
285
|
### 4. Update Progress Tracking
|
|
130
286
|
|
|
131
|
-
**Only after
|
|
287
|
+
**Only after verifying all deliverables**, update `agent/progress.yaml`:
|
|
132
288
|
- Mark task as `completed` (if done) or `in_progress` (if partial)
|
|
133
289
|
- Add completion date (if done)
|
|
134
290
|
- **Ask user for actual hours spent**: "How many hours did this task take? (estimated: X hours)" - Update `actual_hours` field
|
|
@@ -151,27 +307,337 @@ When you invoke `@acp.proceed`, you are commanding the agent to:
|
|
|
151
307
|
|
|
152
308
|
---
|
|
153
309
|
|
|
310
|
+
## Autonomous Mode
|
|
311
|
+
|
|
312
|
+
> **These steps apply when `@acp.proceed` is invoked WITH `--complete`, `--auto`, `--autonomous`, `--finish-milestone`, or natural language indicating autonomous completion.**
|
|
313
|
+
>
|
|
314
|
+
> **🚨 CRITICAL**: Do NOT start implementing tasks until the user confirms the plan.
|
|
315
|
+
|
|
316
|
+
### A1. Scan Remaining Tasks
|
|
317
|
+
|
|
318
|
+
**Actions**:
|
|
319
|
+
- Read `agent/progress.yaml`
|
|
320
|
+
- Identify the current milestone (from `current_milestone` field)
|
|
321
|
+
- Collect all tasks in that milestone with status `not_started` or `in_progress`
|
|
322
|
+
- Read each task document to understand scope
|
|
323
|
+
- Order tasks based on: progress.yaml order, next steps, previously defined priorities, and chat context
|
|
324
|
+
|
|
325
|
+
**Task selection is NOT strictly lowest-ID-first.** Use judgment based on:
|
|
326
|
+
- Dependencies between tasks
|
|
327
|
+
- Progress.yaml ordering and notes
|
|
328
|
+
- Previously defined priorities in milestone or task documents
|
|
329
|
+
- Current chat context (user may have indicated preferences)
|
|
330
|
+
|
|
331
|
+
### A2. Show Confirmation Prompt
|
|
332
|
+
|
|
333
|
+
**🚨 MANDATORY**: Always show this confirmation before starting autonomous execution. Never skip this step.
|
|
334
|
+
|
|
335
|
+
Display the following to the user:
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
339
|
+
Autonomous Completion Mode
|
|
340
|
+
M{X} - {Milestone Name}
|
|
341
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
342
|
+
|
|
343
|
+
{N} remaining tasks:
|
|
344
|
+
|
|
345
|
+
1. Task {id}: {name} ({estimated_hours})
|
|
346
|
+
2. Task {id}: {name} ({estimated_hours})
|
|
347
|
+
3. Task {id}: {name} ({estimated_hours})
|
|
348
|
+
...
|
|
349
|
+
|
|
350
|
+
After each task:
|
|
351
|
+
- Update progress.yaml, CHANGELOG.md, AGENT.md version
|
|
352
|
+
- Run @git.commit (full subroutine)
|
|
353
|
+
- Display progress bar
|
|
354
|
+
|
|
355
|
+
At end of run:
|
|
356
|
+
- Summary report with completion stats
|
|
357
|
+
- Push NOT automatic (you decide when to push)
|
|
358
|
+
|
|
359
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
360
|
+
|
|
361
|
+
Proceed? (yes/no)
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Wait for user confirmation.** If user says no, exit autonomous mode and fall back to single-task mode or stop.
|
|
365
|
+
|
|
366
|
+
### A3. Autonomous Task Loop
|
|
367
|
+
|
|
368
|
+
After user confirms, execute the following loop:
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
FOR each remaining task in planned order:
|
|
372
|
+
|
|
373
|
+
1. DISPLAY progress indicator (see A5)
|
|
374
|
+
|
|
375
|
+
2. READ task document, key files, and design context
|
|
376
|
+
- Re-read progress.yaml at start of each iteration (context freshness)
|
|
377
|
+
- Read contextual key files from agent/index/ (filter by acp.proceed applies)
|
|
378
|
+
- Read the task file
|
|
379
|
+
- Load design context: If task has Design Reference field with a link, read that
|
|
380
|
+
design document. If field is "None" or missing, skip dynamic search in autonomous
|
|
381
|
+
mode (to conserve context window). Use explicit link only.
|
|
382
|
+
|
|
383
|
+
3. IMPLEMENT the task
|
|
384
|
+
- Follow the same implementation approach as Single-Task Steps 2-3
|
|
385
|
+
- Create files, write code, execute commands
|
|
386
|
+
- Run tests if specified in task
|
|
387
|
+
- Complete the task fully
|
|
388
|
+
|
|
389
|
+
4. VERIFY DELIVERABLES
|
|
390
|
+
- Re-read the task's "Expected Output" and "Verification" sections
|
|
391
|
+
- Confirm every file in "Files Created" exists on disk
|
|
392
|
+
- Confirm every file in "Files Modified" has the expected changes
|
|
393
|
+
- Walk each verification checkbox and confirm it passes
|
|
394
|
+
- If anything is missing: create it before proceeding
|
|
395
|
+
- Do NOT skip this step — a task with passing tests but missing files is NOT complete
|
|
396
|
+
|
|
397
|
+
5. CHECK for failure
|
|
398
|
+
- If task fails or encounters blocker → HALT (see A8)
|
|
399
|
+
- If E2E tests fail → HALT (see A8)
|
|
400
|
+
- Do NOT commit partial work
|
|
401
|
+
|
|
402
|
+
6. UPDATE progress tracking
|
|
403
|
+
- Mark task as completed in progress.yaml
|
|
404
|
+
- Add completion date
|
|
405
|
+
- Update milestone progress percentage
|
|
406
|
+
- Add recent_work entry
|
|
407
|
+
|
|
408
|
+
7. RUN @git.commit subroutine
|
|
409
|
+
- Determine version bump (patch for most tasks, minor for features)
|
|
410
|
+
- Update AGENT.md version
|
|
411
|
+
- Update CHANGELOG.md with task completion entry
|
|
412
|
+
- Stage all relevant files
|
|
413
|
+
- Create commit with conventional commit message
|
|
414
|
+
- Do NOT push (push only at end of entire run)
|
|
415
|
+
|
|
416
|
+
8. CONTINUE to next task
|
|
417
|
+
|
|
418
|
+
END FOR
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### A3.5. Milestone Completion Sweep
|
|
422
|
+
|
|
423
|
+
**After ALL tasks in the autonomous loop are done, perform a final deliverables audit:**
|
|
424
|
+
|
|
425
|
+
1. **Re-read each completed task's Expected Output section**
|
|
426
|
+
2. **Verify all files exist** — ls/stat every file listed across all tasks
|
|
427
|
+
3. **Run the full test suite** one final time
|
|
428
|
+
4. **Check for common omissions:**
|
|
429
|
+
- README.md or project documentation
|
|
430
|
+
- Configuration files (.env.example, etc.)
|
|
431
|
+
- Architecture/design documentation if specified
|
|
432
|
+
- Migration guides if specified
|
|
433
|
+
|
|
434
|
+
**If any deliverable from any task is missing:**
|
|
435
|
+
- Create it before generating the Summary Report
|
|
436
|
+
- Re-run verification for the affected task
|
|
437
|
+
- Only proceed to Summary Report when all tasks' deliverables are confirmed
|
|
438
|
+
|
|
439
|
+
This sweep catches files that may have been missed during individual task execution, especially documentation artifacts that are easy to overlook during coding-heavy milestones.
|
|
440
|
+
|
|
441
|
+
### A4. Per-Task Git Commit
|
|
442
|
+
|
|
443
|
+
After each successfully completed task, run the full `@git.commit` subroutine:
|
|
444
|
+
|
|
445
|
+
1. **Analyze changes** — determine version impact (usually patch for individual tasks)
|
|
446
|
+
2. **Bump version** — update AGENT.md version field
|
|
447
|
+
3. **Update CHANGELOG.md** — add entry describing task completion
|
|
448
|
+
4. **Stage files** — all files modified during the task + version files + progress.yaml
|
|
449
|
+
5. **Commit** — conventional commit message referencing the task
|
|
450
|
+
6. **Do NOT push** — commits accumulate locally; push only at end of run
|
|
451
|
+
|
|
452
|
+
**Commit message format**:
|
|
453
|
+
```
|
|
454
|
+
{type}({scope}): {task description}
|
|
455
|
+
|
|
456
|
+
Completed Task {N}: {task name}
|
|
457
|
+
- {change 1}
|
|
458
|
+
- {change 2}
|
|
459
|
+
|
|
460
|
+
Milestone: M{X} - {milestone name} ({completed}/{total} tasks)
|
|
461
|
+
Version: {new version}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### A5. Progress Indicators
|
|
465
|
+
|
|
466
|
+
Between each task, display a visual progress update:
|
|
467
|
+
|
|
468
|
+
```
|
|
469
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
470
|
+
|
|
471
|
+
████████████░░░░░░░░ {completed}/{total} tasks ({percent}%)
|
|
472
|
+
|
|
473
|
+
✅ Task {id}: {name}
|
|
474
|
+
✅ Task {id}: {name}
|
|
475
|
+
✅ Task {id}: {name}
|
|
476
|
+
⏳ Task {id}: {name} ← current
|
|
477
|
+
⬚ Task {id}: {name}
|
|
478
|
+
⬚ Task {id}: {name}
|
|
479
|
+
|
|
480
|
+
Commits: {N} (not pushed)
|
|
481
|
+
|
|
482
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
**Symbols**:
|
|
486
|
+
- ✅ = completed
|
|
487
|
+
- ⏳ = in progress (about to start)
|
|
488
|
+
- ⬚ = pending
|
|
489
|
+
- ❌ = failed
|
|
490
|
+
|
|
491
|
+
### A6. Summary Report
|
|
492
|
+
|
|
493
|
+
At the end of the autonomous run (whether all tasks complete or halted), display:
|
|
494
|
+
|
|
495
|
+
```
|
|
496
|
+
═══════════════════════════════════════════════════════
|
|
497
|
+
Autonomous Run Complete — M{X}: {Milestone Name}
|
|
498
|
+
═══════════════════════════════════════════════════════
|
|
499
|
+
|
|
500
|
+
Progress: ████████████████░░░░ {completed}/{total} ({percent}%)
|
|
501
|
+
|
|
502
|
+
✅ Completed ({N}):
|
|
503
|
+
• Task {id}: {name}
|
|
504
|
+
• Task {id}: {name}
|
|
505
|
+
• Task {id}: {name}
|
|
506
|
+
|
|
507
|
+
❌ Failed ({N}): ← only if failures
|
|
508
|
+
• Task {id}: {name} — {reason}
|
|
509
|
+
|
|
510
|
+
⬚ Remaining ({N}): ← only if incomplete
|
|
511
|
+
• Task {id}: {name}
|
|
512
|
+
|
|
513
|
+
─────────────────────────────────────────
|
|
514
|
+
Commits: {N} (not pushed)
|
|
515
|
+
Version: {old} → {new}
|
|
516
|
+
─────────────────────────────────────────
|
|
517
|
+
|
|
518
|
+
Next steps:
|
|
519
|
+
• git push ← push all commits
|
|
520
|
+
• @acp.proceed ← continue remaining tasks
|
|
521
|
+
• @acp.status ← review project status
|
|
522
|
+
|
|
523
|
+
═══════════════════════════════════════════════════════
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
### A7. Dry-Run Mode
|
|
527
|
+
|
|
528
|
+
When `--dry-run` is specified (alone or with `--complete`):
|
|
529
|
+
|
|
530
|
+
1. Scan remaining tasks (same as A1)
|
|
531
|
+
2. Display the confirmation prompt (same as A2) but with a `(DRY RUN)` label
|
|
532
|
+
3. **Do NOT execute any tasks**
|
|
533
|
+
4. Display what would happen:
|
|
534
|
+
|
|
535
|
+
```
|
|
536
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
537
|
+
DRY RUN — Autonomous Completion Preview
|
|
538
|
+
M{X} - {Milestone Name}
|
|
539
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
540
|
+
|
|
541
|
+
Would complete {N} tasks:
|
|
542
|
+
|
|
543
|
+
1. Task {id}: {name} ({hours}h)
|
|
544
|
+
2. Task {id}: {name} ({hours}h)
|
|
545
|
+
3. Task {id}: {name} ({hours}h)
|
|
546
|
+
|
|
547
|
+
Would create {N} commits (1 per task)
|
|
548
|
+
Would bump version {N} times
|
|
549
|
+
|
|
550
|
+
(dry run — no files were modified)
|
|
551
|
+
|
|
552
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
5. Exit without making any changes
|
|
556
|
+
|
|
557
|
+
### A8. Error Handling & Halting
|
|
558
|
+
|
|
559
|
+
**When to HALT autonomous execution:**
|
|
560
|
+
|
|
561
|
+
| Condition | Action |
|
|
562
|
+
|-----------|--------|
|
|
563
|
+
| Task fails partway through | HALT. Do NOT commit partial work. Seek user input. |
|
|
564
|
+
| E2E tests fail | HALT. Require user intervention guidance. |
|
|
565
|
+
| Blocker requiring user decision | HALT. Present the blocker and ask for guidance. |
|
|
566
|
+
| Agent cannot make a decision | HALT. Ask user for input. |
|
|
567
|
+
| Git commit fails | HALT. Seek user intervention. |
|
|
568
|
+
|
|
569
|
+
**On HALT**:
|
|
570
|
+
1. Stop the autonomous loop
|
|
571
|
+
2. Display the summary report (A6) showing what was completed before the halt
|
|
572
|
+
3. Clearly explain the failure:
|
|
573
|
+
```
|
|
574
|
+
⚠️ Autonomous run halted at Task {id}: {name}
|
|
575
|
+
|
|
576
|
+
Reason: {clear explanation of what went wrong}
|
|
577
|
+
|
|
578
|
+
What was completed before halt:
|
|
579
|
+
✅ Task {id}: {name} (committed)
|
|
580
|
+
✅ Task {id}: {name} (committed)
|
|
581
|
+
|
|
582
|
+
Uncommitted work:
|
|
583
|
+
⚠️ Task {id}: {name} — partial, NOT committed
|
|
584
|
+
|
|
585
|
+
Awaiting your guidance to continue.
|
|
586
|
+
```
|
|
587
|
+
4. Wait for user to provide guidance before continuing
|
|
588
|
+
|
|
589
|
+
**NEVER**:
|
|
590
|
+
- ❌ Skip a failed task and move to the next one
|
|
591
|
+
- ❌ Commit partial work from a failed task
|
|
592
|
+
- ❌ Retry a failed task without user guidance
|
|
593
|
+
- ❌ Auto-resolve errors by discarding changes
|
|
594
|
+
|
|
595
|
+
### A9. Interruption Handling
|
|
596
|
+
|
|
597
|
+
If the user sends a message during autonomous execution:
|
|
598
|
+
|
|
599
|
+
- **Infer user intent** from the message content
|
|
600
|
+
- If the user is providing guidance or a correction → incorporate it and continue
|
|
601
|
+
- If the user wants to stop → halt gracefully (show summary report)
|
|
602
|
+
- If unclear → ask the user what they'd like to do
|
|
603
|
+
- **Never ignore user messages** during autonomous execution
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
154
607
|
## Verification
|
|
155
608
|
|
|
609
|
+
### Single-Task Mode
|
|
156
610
|
- [ ] Current task identified from progress.yaml
|
|
157
611
|
- [ ] Task document read and understood
|
|
158
612
|
- [ ] Prerequisites checked
|
|
159
613
|
- [ ] All task steps executed
|
|
614
|
+
- [ ] All files in task's "Expected Output > Files Created" confirmed to exist
|
|
615
|
+
- [ ] All files in task's "Expected Output > Files Modified" confirmed to have changes
|
|
616
|
+
- [ ] Documentation deliverables (README, docs) contain required sections
|
|
160
617
|
- [ ] Verification checklist completed
|
|
161
618
|
- [ ] progress.yaml updated with completion
|
|
162
619
|
- [ ] Milestone progress percentage updated
|
|
163
620
|
- [ ] Recent work entry added
|
|
164
621
|
- [ ] Next task identified
|
|
165
622
|
|
|
623
|
+
### Autonomous Mode
|
|
624
|
+
- [ ] Arguments correctly detected (flags or natural language)
|
|
625
|
+
- [ ] Remaining tasks scanned from progress.yaml
|
|
626
|
+
- [ ] Confirmation prompt shown and user approved
|
|
627
|
+
- [ ] Each task implemented fully before moving to next
|
|
628
|
+
- [ ] Deliverables verified for each task before marking complete
|
|
629
|
+
- [ ] `@git.commit` ran after each task (version bump, changelog, progress)
|
|
630
|
+
- [ ] Progress indicator displayed between tasks
|
|
631
|
+
- [ ] Milestone completion sweep performed (all deliverables across all tasks verified)
|
|
632
|
+
- [ ] No push until end of run
|
|
633
|
+
- [ ] Summary report displayed at end
|
|
634
|
+
- [ ] Halted correctly on any failures (no partial commits)
|
|
635
|
+
|
|
166
636
|
---
|
|
167
637
|
|
|
168
638
|
## Expected Output
|
|
169
639
|
|
|
170
|
-
###
|
|
171
|
-
- `agent/progress.yaml` - Task marked complete, progress updated, recent work added
|
|
172
|
-
- Task-specific files (as defined in task document)
|
|
173
|
-
|
|
174
|
-
### Console Output
|
|
640
|
+
### Single-Task Mode
|
|
175
641
|
```
|
|
176
642
|
📋 Current Task: task-3-implement-core-logic
|
|
177
643
|
|
|
@@ -187,8 +653,6 @@ Steps:
|
|
|
187
653
|
|
|
188
654
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
189
655
|
|
|
190
|
-
Executing task steps...
|
|
191
|
-
|
|
192
656
|
✅ Step 1: Created service layer classes
|
|
193
657
|
✅ Step 2: Implemented data access methods
|
|
194
658
|
✅ Step 3: Added error handling
|
|
@@ -196,14 +660,6 @@ Executing task steps...
|
|
|
196
660
|
|
|
197
661
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
198
662
|
|
|
199
|
-
Verification:
|
|
200
|
-
✅ All service classes created
|
|
201
|
-
✅ Unit tests pass
|
|
202
|
-
✅ TypeScript compiles without errors
|
|
203
|
-
✅ Code follows project patterns
|
|
204
|
-
|
|
205
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
206
|
-
|
|
207
663
|
✅ Task 3 Complete!
|
|
208
664
|
|
|
209
665
|
Updated progress.yaml:
|
|
@@ -218,47 +674,116 @@ File: agent/tasks/task-4-add-integration-tests.md
|
|
|
218
674
|
Estimated: 3 hours
|
|
219
675
|
```
|
|
220
676
|
|
|
221
|
-
###
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
677
|
+
### Autonomous Mode — Success
|
|
678
|
+
```
|
|
679
|
+
═══════════════════════════════════════════════════════
|
|
680
|
+
Autonomous Run Complete — M10: Command Enhancements
|
|
681
|
+
═══════════════════════════════════════════════════════
|
|
682
|
+
|
|
683
|
+
Progress: ████████████████████ 3/3 (100%)
|
|
684
|
+
|
|
685
|
+
✅ Completed (3):
|
|
686
|
+
• Task 78: Implement @acp.proceed Autonomous Completion
|
|
687
|
+
• Task 79: Add Testing Suite
|
|
688
|
+
• Task 80: Update Documentation
|
|
689
|
+
|
|
690
|
+
─────────────────────────────────────────
|
|
691
|
+
Commits: 3 (not pushed)
|
|
692
|
+
Version: 5.0.1 → 5.0.4
|
|
693
|
+
─────────────────────────────────────────
|
|
694
|
+
|
|
695
|
+
Next steps:
|
|
696
|
+
• git push
|
|
697
|
+
|
|
698
|
+
═══════════════════════════════════════════════════════
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
### Autonomous Mode — Halted
|
|
702
|
+
```
|
|
703
|
+
═══════════════════════════════════════════════════════
|
|
704
|
+
Autonomous Run Halted — M10: Command Enhancements
|
|
705
|
+
═══════════════════════════════════════════════════════
|
|
706
|
+
|
|
707
|
+
Progress: ████████████░░░░░░░░ 2/3 (67%)
|
|
708
|
+
|
|
709
|
+
✅ Completed (2):
|
|
710
|
+
• Task 78: Implement @acp.proceed Autonomous Completion
|
|
711
|
+
• Task 79: Add Testing Suite
|
|
712
|
+
|
|
713
|
+
❌ Failed (1):
|
|
714
|
+
• Task 80: Update Documentation — E2E test failure
|
|
715
|
+
|
|
716
|
+
─────────────────────────────────────────
|
|
717
|
+
Commits: 2 (not pushed)
|
|
718
|
+
Version: 5.0.1 → 5.0.3
|
|
719
|
+
─────────────────────────────────────────
|
|
720
|
+
|
|
721
|
+
Awaiting your guidance to continue.
|
|
722
|
+
|
|
723
|
+
═══════════════════════════════════════════════════════
|
|
724
|
+
```
|
|
225
725
|
|
|
226
726
|
---
|
|
227
727
|
|
|
228
728
|
## Examples
|
|
229
729
|
|
|
230
|
-
### Example 1:
|
|
730
|
+
### Example 1: Single-Task (Default)
|
|
731
|
+
|
|
732
|
+
**Context**: You want to implement the next task
|
|
733
|
+
|
|
734
|
+
**Invocation**: `@acp.proceed`
|
|
735
|
+
|
|
736
|
+
**Result**: Identifies next task, immediately starts implementing, completes task, updates progress
|
|
737
|
+
|
|
738
|
+
### Example 2: Autonomous Completion with Flags
|
|
739
|
+
|
|
740
|
+
**Context**: Milestone has 5 remaining tasks, you want them all done
|
|
741
|
+
|
|
742
|
+
**Invocation**: `@acp.proceed --complete`
|
|
743
|
+
|
|
744
|
+
**Result**: Shows confirmation with 5 tasks listed, user confirms, agent implements all 5 tasks with per-task commits, displays summary
|
|
745
|
+
|
|
746
|
+
### Example 3: Autonomous with Natural Language
|
|
747
|
+
|
|
748
|
+
**Context**: Same as above but using natural language
|
|
231
749
|
|
|
232
|
-
**
|
|
750
|
+
**Invocation**: `@acp.proceed just finish everything`
|
|
233
751
|
|
|
234
|
-
**
|
|
752
|
+
**Result**: Same as `--complete` — agent detects autonomous intent, shows confirmation, implements all tasks
|
|
235
753
|
|
|
236
|
-
|
|
754
|
+
### Example 4: Dry-Run Preview
|
|
237
755
|
|
|
238
|
-
|
|
756
|
+
**Context**: You want to see what would be done without executing
|
|
239
757
|
|
|
240
|
-
**
|
|
758
|
+
**Invocation**: `@acp.proceed --complete --dry-run`
|
|
241
759
|
|
|
242
|
-
**
|
|
760
|
+
**Result**: Shows task list with estimates, exits without making changes
|
|
243
761
|
|
|
244
|
-
|
|
762
|
+
### Example 5: Autonomous with Halt
|
|
245
763
|
|
|
246
|
-
|
|
764
|
+
**Context**: Milestone has 5 tasks, task 3 fails
|
|
247
765
|
|
|
248
|
-
**
|
|
766
|
+
**Invocation**: `@acp.proceed --complete`
|
|
249
767
|
|
|
250
|
-
**
|
|
768
|
+
**Result**: Completes tasks 1-2 with commits, halts at task 3, shows summary with 2 completed + 1 failed, waits for user guidance
|
|
251
769
|
|
|
252
|
-
|
|
770
|
+
### Example 6: Single-Task with Commit
|
|
771
|
+
|
|
772
|
+
**Context**: You want to implement one task and commit
|
|
773
|
+
|
|
774
|
+
**Invocation**: `@acp.proceed --commit`
|
|
775
|
+
|
|
776
|
+
**Result**: Implements next task, runs `@git.commit` after completion
|
|
253
777
|
|
|
254
778
|
---
|
|
255
779
|
|
|
256
780
|
## Related Commands
|
|
257
781
|
|
|
258
|
-
- [`@acp
|
|
259
|
-
- [`@acp
|
|
260
|
-
- [`@acp
|
|
261
|
-
- [`@acp
|
|
782
|
+
- [`@acp.init`](acp.init.md) - Use before proceeding to ensure full context loaded
|
|
783
|
+
- [`@acp.status`](acp.status.md) - Use to check which task is current before proceeding
|
|
784
|
+
- [`@acp.update`](acp.update.md) - Use to manually update progress if needed
|
|
785
|
+
- [`@acp.sync`](acp.sync.md) - Use after completing tasks to sync documentation
|
|
786
|
+
- [`@git.commit`](git.commit.md) - Git commit subroutine (used per-task in autonomous mode)
|
|
262
787
|
|
|
263
788
|
---
|
|
264
789
|
|
|
@@ -286,7 +811,7 @@ Estimated: 3 hours
|
|
|
286
811
|
|
|
287
812
|
**Cause**: Task has dependencies that aren't satisfied yet
|
|
288
813
|
|
|
289
|
-
**Solution**: Complete prerequisite tasks first, or resolve the dependencies, then run `@acp
|
|
814
|
+
**Solution**: Complete prerequisite tasks first, or resolve the dependencies, then run `@acp.proceed` again
|
|
290
815
|
|
|
291
816
|
### Issue 4: Verification fails
|
|
292
817
|
|
|
@@ -296,18 +821,34 @@ Estimated: 3 hours
|
|
|
296
821
|
|
|
297
822
|
**Solution**: Review the failed verification items, fix issues, then re-run verification steps
|
|
298
823
|
|
|
824
|
+
### Issue 5: Autonomous mode not detected
|
|
825
|
+
|
|
826
|
+
**Symptom**: Agent starts single-task mode despite passing `--complete`
|
|
827
|
+
|
|
828
|
+
**Cause**: Arguments not parsed correctly or natural language not recognized
|
|
829
|
+
|
|
830
|
+
**Solution**: Use explicit flag `--complete` instead of natural language. Ensure flag appears after `@acp.proceed`.
|
|
831
|
+
|
|
832
|
+
### Issue 6: Context window exhaustion during autonomous run
|
|
833
|
+
|
|
834
|
+
**Symptom**: Agent loses context after completing several tasks
|
|
835
|
+
|
|
836
|
+
**Cause**: Long autonomous runs consume context window
|
|
837
|
+
|
|
838
|
+
**Solution**: Agent re-reads progress.yaml and task files at the start of each iteration to maintain context freshness. If context is truly exhausted, the run will halt and can be resumed with `@acp.proceed --complete` in a new session.
|
|
839
|
+
|
|
299
840
|
---
|
|
300
841
|
|
|
301
842
|
## Security Considerations
|
|
302
843
|
|
|
303
844
|
### File Access
|
|
304
|
-
- **Reads**: `agent/progress.yaml`,
|
|
305
|
-
- **Writes**: `agent/progress.yaml
|
|
306
|
-
- **Executes**: May execute commands as specified in task steps (e.g., `npm test`, `npm run build`)
|
|
845
|
+
- **Reads**: `agent/progress.yaml`, task documents, design documents, AGENT.md, CHANGELOG.md
|
|
846
|
+
- **Writes**: `agent/progress.yaml`, task-specific files, AGENT.md (version), CHANGELOG.md (entries)
|
|
847
|
+
- **Executes**: May execute commands as specified in task steps (e.g., `npm test`, `npm run build`), git commands for commits
|
|
307
848
|
|
|
308
849
|
### Network Access
|
|
309
850
|
- **APIs**: May make API calls if task requires it
|
|
310
|
-
- **Repositories**:
|
|
851
|
+
- **Repositories**: Interacts with git for commits (does NOT push in autonomous mode until end of run)
|
|
311
852
|
|
|
312
853
|
### Sensitive Data
|
|
313
854
|
- **Secrets**: Should not access secrets unless task explicitly requires configuration
|
|
@@ -317,20 +858,25 @@ Estimated: 3 hours
|
|
|
317
858
|
|
|
318
859
|
## Notes
|
|
319
860
|
|
|
320
|
-
-
|
|
321
|
-
-
|
|
322
|
-
-
|
|
323
|
-
-
|
|
324
|
-
-
|
|
861
|
+
- **Default behavior unchanged**: `@acp.proceed` without arguments works exactly as before (single-task)
|
|
862
|
+
- **`--complete` implies `--commit`**: There is no autonomous mode without per-task commits
|
|
863
|
+
- **Confirmation is mandatory**: Agent MUST show confirmation prompt before autonomous execution
|
|
864
|
+
- **No max task limit**: Agent runs until milestone complete or blocker encountered
|
|
865
|
+
- **Push only at end**: Commits accumulate locally; agent never pushes during autonomous run
|
|
866
|
+
- **Context freshness**: Agent re-reads progress.yaml at start of each task iteration
|
|
867
|
+
- **Interruption**: Agent infers user intent from any messages received during autonomous run
|
|
868
|
+
- **Error policy**: Halt on any failure, never commit partial work, always seek user guidance
|
|
869
|
+
- Task execution may create, modify, or delete files as specified in task documents
|
|
870
|
+
- Use `@acp.status` first to see which task is current
|
|
325
871
|
- Update progress.yaml manually if command doesn't complete successfully
|
|
326
872
|
|
|
327
873
|
---
|
|
328
874
|
|
|
329
875
|
**Namespace**: acp
|
|
330
876
|
**Command**: proceed
|
|
331
|
-
**Version**:
|
|
877
|
+
**Version**: 2.0.0
|
|
332
878
|
**Created**: 2026-02-16
|
|
333
|
-
**Last Updated**: 2026-02-
|
|
879
|
+
**Last Updated**: 2026-02-28
|
|
334
880
|
**Status**: Active
|
|
335
|
-
**Compatibility**: ACP
|
|
881
|
+
**Compatibility**: ACP 5.0.0+
|
|
336
882
|
**Author**: ACP Project
|