@prmichaelsen/acp-visualizer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/agent/commands/acp.clarification-address.md +417 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +437 -0
- package/agent/commands/acp.clarifications-research.md +326 -0
- package/agent/commands/acp.command-create.md +432 -0
- package/agent/commands/acp.design-create.md +286 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.handoff.md +270 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +546 -0
- package/agent/commands/acp.package-create.md +895 -0
- package/agent/commands/acp.package-info.md +212 -0
- package/agent/commands/acp.package-install.md +539 -0
- package/agent/commands/acp.package-list.md +280 -0
- package/agent/commands/acp.package-publish.md +541 -0
- package/agent/commands/acp.package-remove.md +293 -0
- package/agent/commands/acp.package-search.md +307 -0
- package/agent/commands/acp.package-update.md +361 -0
- package/agent/commands/acp.package-validate.md +540 -0
- package/agent/commands/acp.pattern-create.md +386 -0
- package/agent/commands/acp.plan.md +587 -0
- package/agent/commands/acp.proceed.md +882 -0
- package/agent/commands/acp.project-create.md +675 -0
- package/agent/commands/acp.project-info.md +312 -0
- package/agent/commands/acp.project-list.md +226 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +227 -0
- package/agent/commands/acp.project-update.md +307 -0
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +407 -0
- package/agent/commands/acp.resume.md +239 -0
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +293 -0
- package/agent/commands/acp.sync.md +364 -0
- package/agent/commands/acp.task-create.md +500 -0
- package/agent/commands/acp.update.md +302 -0
- package/agent/commands/acp.validate.md +466 -0
- package/agent/commands/acp.version-check-for-updates.md +276 -0
- package/agent/commands/acp.version-check.md +191 -0
- package/agent/commands/acp.version-update.md +289 -0
- package/agent/commands/command.template.md +339 -0
- package/agent/commands/git.commit.md +526 -0
- package/agent/commands/git.init.md +514 -0
- package/agent/commands/tanstack-cloudflare.deploy.md +272 -0
- package/agent/commands/tanstack-cloudflare.tail.md +275 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +154 -0
- package/agent/design/local.dashboard-layout-routing.md +288 -0
- package/agent/design/local.data-model-yaml-parsing.md +310 -0
- package/agent/design/local.search-filtering.md +331 -0
- package/agent/design/local.server-api-auto-refresh.md +235 -0
- package/agent/design/local.table-tree-views.md +299 -0
- package/agent/design/local.visualizer-requirements.md +349 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/index/.gitkeep +0 -0
- package/agent/index/acp.core.yaml +137 -0
- package/agent/index/local.main.template.yaml +37 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +302 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-project-scaffold-data-pipeline.md +67 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/milestones/milestone-2-dashboard-views-interaction.md +79 -0
- package/agent/package.template.yaml +86 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/pattern.template.md +382 -0
- package/agent/patterns/tanstack-cloudflare.acl-permissions.md +332 -0
- package/agent/patterns/tanstack-cloudflare.action-bar-item.md +416 -0
- package/agent/patterns/tanstack-cloudflare.api-route-handlers.md +401 -0
- package/agent/patterns/tanstack-cloudflare.auth-session-management.md +387 -0
- package/agent/patterns/tanstack-cloudflare.card-and-list.md +271 -0
- package/agent/patterns/tanstack-cloudflare.chat-engine.md +353 -0
- package/agent/patterns/tanstack-cloudflare.confirmation-tokens.md +346 -0
- package/agent/patterns/tanstack-cloudflare.durable-objects-websocket.md +516 -0
- package/agent/patterns/tanstack-cloudflare.email-service.md +431 -0
- package/agent/patterns/tanstack-cloudflare.expander.md +98 -0
- package/agent/patterns/tanstack-cloudflare.fcm-push.md +115 -0
- package/agent/patterns/tanstack-cloudflare.firebase-anonymous-sessions.md +441 -0
- package/agent/patterns/tanstack-cloudflare.firebase-auth.md +348 -0
- package/agent/patterns/tanstack-cloudflare.firebase-firestore.md +550 -0
- package/agent/patterns/tanstack-cloudflare.firebase-storage.md +369 -0
- package/agent/patterns/tanstack-cloudflare.form-controls.md +145 -0
- package/agent/patterns/tanstack-cloudflare.global-search-context.md +93 -0
- package/agent/patterns/tanstack-cloudflare.image-carousel.md +126 -0
- package/agent/patterns/tanstack-cloudflare.library-services.md +553 -0
- package/agent/patterns/tanstack-cloudflare.lightbox.md +169 -0
- package/agent/patterns/tanstack-cloudflare.markdown-content.md +115 -0
- package/agent/patterns/tanstack-cloudflare.mention-suggestions.md +98 -0
- package/agent/patterns/tanstack-cloudflare.modal.md +156 -0
- package/agent/patterns/tanstack-cloudflare.nextjs-to-tanstack-routing.md +461 -0
- package/agent/patterns/tanstack-cloudflare.notifications-engine.md +151 -0
- package/agent/patterns/tanstack-cloudflare.oauth-token-refresh.md +90 -0
- package/agent/patterns/tanstack-cloudflare.og-metadata.md +296 -0
- package/agent/patterns/tanstack-cloudflare.pagination.md +442 -0
- package/agent/patterns/tanstack-cloudflare.pill-input.md +220 -0
- package/agent/patterns/tanstack-cloudflare.provider-adapter.md +401 -0
- package/agent/patterns/tanstack-cloudflare.rate-limiting.md +323 -0
- package/agent/patterns/tanstack-cloudflare.scheduled-tasks.md +338 -0
- package/agent/patterns/tanstack-cloudflare.searchable-settings.md +375 -0
- package/agent/patterns/tanstack-cloudflare.slide-over.md +129 -0
- package/agent/patterns/tanstack-cloudflare.ssr-preload.md +571 -0
- package/agent/patterns/tanstack-cloudflare.third-party-api-integration.md +508 -0
- package/agent/patterns/tanstack-cloudflare.toast-system.md +142 -0
- package/agent/patterns/tanstack-cloudflare.unified-header.md +280 -0
- package/agent/patterns/tanstack-cloudflare.user-scoped-collections.md +628 -0
- package/agent/patterns/tanstack-cloudflare.websocket-manager.md +237 -0
- package/agent/patterns/tanstack-cloudflare.wrangler-configuration.md +358 -0
- package/agent/patterns/tanstack-cloudflare.zod-schema-validation.md +336 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +145 -0
- package/agent/schemas/package.schema.yaml +276 -0
- package/agent/scripts/acp.common.sh +1781 -0
- package/agent/scripts/acp.install.sh +333 -0
- package/agent/scripts/acp.package-create.sh +924 -0
- package/agent/scripts/acp.package-info.sh +288 -0
- package/agent/scripts/acp.package-install.sh +893 -0
- package/agent/scripts/acp.package-list.sh +311 -0
- package/agent/scripts/acp.package-publish.sh +420 -0
- package/agent/scripts/acp.package-remove.sh +348 -0
- package/agent/scripts/acp.package-search.sh +156 -0
- package/agent/scripts/acp.package-update.sh +517 -0
- package/agent/scripts/acp.package-validate.sh +1018 -0
- package/agent/scripts/acp.uninstall.sh +85 -0
- package/agent/scripts/acp.version-check-for-updates.sh +98 -0
- package/agent/scripts/acp.version-check.sh +47 -0
- package/agent/scripts/acp.version-update.sh +176 -0
- package/agent/scripts/acp.yaml-parser.sh +985 -0
- package/agent/scripts/acp.yaml-validate.sh +205 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-1-initialize-tanstack-start-project.md +210 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-2-implement-data-model-yaml-parser.md +294 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-3-build-server-api-data-loading.md +193 -0
- package/agent/tasks/milestone-1-project-scaffold-data-pipeline/task-4-add-auto-refresh-sse.md +262 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-10-polish-integration-testing.md +156 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-5-build-dashboard-layout-routing.md +178 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-6-build-overview-page.md +141 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-7-implement-milestone-table-view.md +153 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-8-implement-milestone-tree-view.md +174 -0
- package/agent/tasks/milestone-2-dashboard-views-interaction/task-9-implement-search-filtering.md +233 -0
- package/agent/tasks/task-1-{title}.template.md +244 -0
- package/bin/visualize.mjs +84 -0
- package/package.json +48 -0
- package/src/components/ExtraFieldsBadge.tsx +15 -0
- package/src/components/FilterBar.tsx +33 -0
- package/src/components/Header.tsx +23 -0
- package/src/components/MilestoneTable.tsx +167 -0
- package/src/components/MilestoneTree.tsx +84 -0
- package/src/components/ProgressBar.tsx +20 -0
- package/src/components/SearchInput.tsx +22 -0
- package/src/components/Sidebar.tsx +54 -0
- package/src/components/StatusBadge.tsx +23 -0
- package/src/components/StatusDot.tsx +12 -0
- package/src/components/TaskList.tsx +36 -0
- package/src/components/ViewToggle.tsx +31 -0
- package/src/lib/config.ts +8 -0
- package/src/lib/file-watcher.ts +43 -0
- package/src/lib/search.ts +48 -0
- package/src/lib/types.ts +73 -0
- package/src/lib/useAutoRefresh.ts +31 -0
- package/src/lib/useCollapse.ts +31 -0
- package/src/lib/useFilteredData.ts +55 -0
- package/src/lib/yaml-loader-real.spec.ts +47 -0
- package/src/lib/yaml-loader.spec.ts +201 -0
- package/src/lib/yaml-loader.ts +265 -0
- package/src/routeTree.gen.ts +140 -0
- package/src/router.tsx +10 -0
- package/src/routes/__root.tsx +75 -0
- package/src/routes/api/watch.ts +29 -0
- package/src/routes/index.tsx +115 -0
- package/src/routes/milestones.tsx +50 -0
- package/src/routes/search.tsx +84 -0
- package/src/routes/tasks.tsx +63 -0
- package/src/services/progress-database.service.ts +46 -0
- package/src/styles.css +25 -0
- package/tsconfig.json +24 -0
- package/vite.config.ts +16 -0
- package/vitest.config.ts +27 -0
|
@@ -0,0 +1,882 @@
|
|
|
1
|
+
# Command: proceed
|
|
2
|
+
|
|
3
|
+
> **🤖 CRITICAL AGENT DIRECTIVE**: You are reading this file because `@acp.proceed` has been invoked.
|
|
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
|
+
> 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
|
+
>
|
|
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.
|
|
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
|
|
25
|
+
> - ❌ Ask about session size, cost, or token limits
|
|
26
|
+
> - ❌ End with "ready to proceed" or similar passive statements
|
|
27
|
+
>
|
|
28
|
+
> **This is an ACTION command, not a STATUS command.**
|
|
29
|
+
|
|
30
|
+
**Namespace**: acp
|
|
31
|
+
**Version**: 2.0.0
|
|
32
|
+
**Created**: 2026-02-16
|
|
33
|
+
**Last Updated**: 2026-02-28
|
|
34
|
+
**Status**: Active
|
|
35
|
+
**Scripts**: None
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
**Purpose**: Implement tasks — single-task (default) or autonomous milestone completion (with arguments)
|
|
40
|
+
**Category**: Workflow
|
|
41
|
+
**Frequency**: As Needed
|
|
42
|
+
|
|
43
|
+
---
|
|
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
|
+
|
|
107
|
+
## What This Command Does
|
|
108
|
+
|
|
109
|
+
**THIS IS AN IMPLEMENTATION COMMAND.**
|
|
110
|
+
|
|
111
|
+
### Default Mode (No Arguments)
|
|
112
|
+
|
|
113
|
+
When you invoke `@acp.proceed` without arguments:
|
|
114
|
+
1. Find the current/next task
|
|
115
|
+
2. **IMMEDIATELY START IMPLEMENTING IT**
|
|
116
|
+
3. Write code, create files, make changes
|
|
117
|
+
4. Complete the task or make substantial progress
|
|
118
|
+
5. Update progress tracking
|
|
119
|
+
|
|
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
|
|
130
|
+
|
|
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.
|
|
132
|
+
|
|
133
|
+
**Forbidden Behaviors** (all modes):
|
|
134
|
+
- Providing status summaries without implementation
|
|
135
|
+
- Asking about token limits or session size
|
|
136
|
+
- Suggesting to "continue later" or "push commits first"
|
|
137
|
+
- Ending with "ready to proceed" (you ARE proceeding!)
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Prerequisites
|
|
142
|
+
|
|
143
|
+
- [ ] ACP installed in project
|
|
144
|
+
- [ ] `agent/progress.yaml` exists and has current task defined
|
|
145
|
+
- [ ] Current task document exists in `agent/tasks/`
|
|
146
|
+
- [ ] Context initialized (recommended to run `@acp-init` first)
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
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.
|
|
154
|
+
|
|
155
|
+
### 🚨 CRITICAL: These are IMPLEMENTATION steps, not planning steps
|
|
156
|
+
|
|
157
|
+
### 1. Identify Current Task (30 seconds max)
|
|
158
|
+
|
|
159
|
+
**Actions**:
|
|
160
|
+
- Read `agent/progress.yaml`
|
|
161
|
+
- Find first task with status `in_progress` or `not_started` in the current milestone
|
|
162
|
+
- Read the task document
|
|
163
|
+
|
|
164
|
+
**DO NOT spend time analyzing or planning. MOVE TO STEP 2 IMMEDIATELY.**
|
|
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
|
+
|
|
227
|
+
### 2. START IMPLEMENTING NOW (This is the main step)
|
|
228
|
+
|
|
229
|
+
**🚨 MANDATORY ACTIONS - DO THESE IMMEDIATELY:**
|
|
230
|
+
|
|
231
|
+
- **Create files** that the task requires
|
|
232
|
+
- **Write code** specified in the task
|
|
233
|
+
- **Execute commands** needed for the task
|
|
234
|
+
- **Make changes** to existing files
|
|
235
|
+
- **Install dependencies** if needed
|
|
236
|
+
- **Run tests** if specified
|
|
237
|
+
- **Verify functionality** as you go
|
|
238
|
+
|
|
239
|
+
**DO NOT**:
|
|
240
|
+
- ❌ Provide summaries of what you "will" do
|
|
241
|
+
- ❌ Ask if the user wants to proceed
|
|
242
|
+
- ❌ Mention token limits, costs, or session size
|
|
243
|
+
- ❌ Suggest breaking the task into smaller pieces
|
|
244
|
+
- ❌ End with "ready to implement" or similar
|
|
245
|
+
|
|
246
|
+
**YOU ARE IMPLEMENTING. START NOW. NO EXCUSES.**
|
|
247
|
+
|
|
248
|
+
### 3. Complete the Task or Make Substantial Progress
|
|
249
|
+
|
|
250
|
+
**Keep working until**:
|
|
251
|
+
- ✅ Task is complete, OR
|
|
252
|
+
- ✅ You've made substantial progress (50%+ of task done), OR
|
|
253
|
+
- ✅ You encounter a genuine blocker that requires user input
|
|
254
|
+
|
|
255
|
+
**"Substantial progress" means**:
|
|
256
|
+
- Multiple files created/modified
|
|
257
|
+
- Core functionality implemented
|
|
258
|
+
- Verification steps passing
|
|
259
|
+
- Clear advancement toward task completion
|
|
260
|
+
|
|
261
|
+
**NOT substantial**:
|
|
262
|
+
- Reading files
|
|
263
|
+
- Planning what to do
|
|
264
|
+
- Providing status updates
|
|
265
|
+
- Asking questions that could be answered by reading docs
|
|
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
|
+
|
|
285
|
+
### 4. Update Progress Tracking
|
|
286
|
+
|
|
287
|
+
**Only after verifying all deliverables**, update `agent/progress.yaml`:
|
|
288
|
+
- Mark task as `completed` (if done) or `in_progress` (if partial)
|
|
289
|
+
- Add completion date (if done)
|
|
290
|
+
- **Ask user for actual hours spent**: "How many hours did this task take? (estimated: X hours)" - Update `actual_hours` field
|
|
291
|
+
- Update milestone progress percentage
|
|
292
|
+
- Add `recent_work` entry describing what was IMPLEMENTED
|
|
293
|
+
- Update `next_steps`
|
|
294
|
+
|
|
295
|
+
### 5. Report What Was IMPLEMENTED (Not What Will Be Done)
|
|
296
|
+
|
|
297
|
+
**Provide a completion report showing**:
|
|
298
|
+
- What files were created/modified
|
|
299
|
+
- What functionality was implemented
|
|
300
|
+
- What verification steps passed
|
|
301
|
+
- What remains (if task incomplete)
|
|
302
|
+
|
|
303
|
+
**DO NOT**:
|
|
304
|
+
- ❌ End with "ready to continue"
|
|
305
|
+
- ❌ Ask if user wants to proceed
|
|
306
|
+
- ❌ Suggest next steps without implementing them
|
|
307
|
+
|
|
308
|
+
---
|
|
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
|
+
|
|
607
|
+
## Verification
|
|
608
|
+
|
|
609
|
+
### Single-Task Mode
|
|
610
|
+
- [ ] Current task identified from progress.yaml
|
|
611
|
+
- [ ] Task document read and understood
|
|
612
|
+
- [ ] Prerequisites checked
|
|
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
|
|
617
|
+
- [ ] Verification checklist completed
|
|
618
|
+
- [ ] progress.yaml updated with completion
|
|
619
|
+
- [ ] Milestone progress percentage updated
|
|
620
|
+
- [ ] Recent work entry added
|
|
621
|
+
- [ ] Next task identified
|
|
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
|
+
|
|
636
|
+
---
|
|
637
|
+
|
|
638
|
+
## Expected Output
|
|
639
|
+
|
|
640
|
+
### Single-Task Mode
|
|
641
|
+
```
|
|
642
|
+
📋 Current Task: task-3-implement-core-logic
|
|
643
|
+
|
|
644
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
645
|
+
|
|
646
|
+
Objective: Implement the core business logic for the application
|
|
647
|
+
|
|
648
|
+
Steps:
|
|
649
|
+
1. Create service layer classes
|
|
650
|
+
2. Implement data access methods
|
|
651
|
+
3. Add error handling
|
|
652
|
+
4. Write unit tests
|
|
653
|
+
|
|
654
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
655
|
+
|
|
656
|
+
✅ Step 1: Created service layer classes
|
|
657
|
+
✅ Step 2: Implemented data access methods
|
|
658
|
+
✅ Step 3: Added error handling
|
|
659
|
+
✅ Step 4: Wrote unit tests
|
|
660
|
+
|
|
661
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
662
|
+
|
|
663
|
+
✅ Task 3 Complete!
|
|
664
|
+
|
|
665
|
+
Updated progress.yaml:
|
|
666
|
+
- Task 3: completed (2026-02-16)
|
|
667
|
+
- Milestone 1: 60% complete (3/5 tasks)
|
|
668
|
+
- Added to recent work
|
|
669
|
+
|
|
670
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
671
|
+
|
|
672
|
+
🎯 Next Task: task-4-add-integration-tests
|
|
673
|
+
File: agent/tasks/task-4-add-integration-tests.md
|
|
674
|
+
Estimated: 3 hours
|
|
675
|
+
```
|
|
676
|
+
|
|
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
|
+
```
|
|
725
|
+
|
|
726
|
+
---
|
|
727
|
+
|
|
728
|
+
## Examples
|
|
729
|
+
|
|
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
|
|
749
|
+
|
|
750
|
+
**Invocation**: `@acp.proceed just finish everything`
|
|
751
|
+
|
|
752
|
+
**Result**: Same as `--complete` — agent detects autonomous intent, shows confirmation, implements all tasks
|
|
753
|
+
|
|
754
|
+
### Example 4: Dry-Run Preview
|
|
755
|
+
|
|
756
|
+
**Context**: You want to see what would be done without executing
|
|
757
|
+
|
|
758
|
+
**Invocation**: `@acp.proceed --complete --dry-run`
|
|
759
|
+
|
|
760
|
+
**Result**: Shows task list with estimates, exits without making changes
|
|
761
|
+
|
|
762
|
+
### Example 5: Autonomous with Halt
|
|
763
|
+
|
|
764
|
+
**Context**: Milestone has 5 tasks, task 3 fails
|
|
765
|
+
|
|
766
|
+
**Invocation**: `@acp.proceed --complete`
|
|
767
|
+
|
|
768
|
+
**Result**: Completes tasks 1-2 with commits, halts at task 3, shows summary with 2 completed + 1 failed, waits for user guidance
|
|
769
|
+
|
|
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
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
## Related Commands
|
|
781
|
+
|
|
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)
|
|
787
|
+
|
|
788
|
+
---
|
|
789
|
+
|
|
790
|
+
## Troubleshooting
|
|
791
|
+
|
|
792
|
+
### Issue 1: No current task found
|
|
793
|
+
|
|
794
|
+
**Symptom**: Error message "No current task identified"
|
|
795
|
+
|
|
796
|
+
**Cause**: All tasks are completed or progress.yaml doesn't have a current task
|
|
797
|
+
|
|
798
|
+
**Solution**: Review progress.yaml and either mark a task as `in_progress` or create new tasks for the next milestone
|
|
799
|
+
|
|
800
|
+
### Issue 2: Task document not found
|
|
801
|
+
|
|
802
|
+
**Symptom**: Error message "Cannot read task file"
|
|
803
|
+
|
|
804
|
+
**Cause**: Task file path in progress.yaml is incorrect or file doesn't exist
|
|
805
|
+
|
|
806
|
+
**Solution**: Verify the file path in progress.yaml matches the actual task file location, or create the missing task document
|
|
807
|
+
|
|
808
|
+
### Issue 3: Prerequisites not met
|
|
809
|
+
|
|
810
|
+
**Symptom**: Command reports missing prerequisites
|
|
811
|
+
|
|
812
|
+
**Cause**: Task has dependencies that aren't satisfied yet
|
|
813
|
+
|
|
814
|
+
**Solution**: Complete prerequisite tasks first, or resolve the dependencies, then run `@acp.proceed` again
|
|
815
|
+
|
|
816
|
+
### Issue 4: Verification fails
|
|
817
|
+
|
|
818
|
+
**Symptom**: Some verification items don't pass
|
|
819
|
+
|
|
820
|
+
**Cause**: Task steps weren't completed correctly or there are errors
|
|
821
|
+
|
|
822
|
+
**Solution**: Review the failed verification items, fix issues, then re-run verification steps
|
|
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
|
+
|
|
840
|
+
---
|
|
841
|
+
|
|
842
|
+
## Security Considerations
|
|
843
|
+
|
|
844
|
+
### File Access
|
|
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
|
|
848
|
+
|
|
849
|
+
### Network Access
|
|
850
|
+
- **APIs**: May make API calls if task requires it
|
|
851
|
+
- **Repositories**: Interacts with git for commits (does NOT push in autonomous mode until end of run)
|
|
852
|
+
|
|
853
|
+
### Sensitive Data
|
|
854
|
+
- **Secrets**: Should not access secrets unless task explicitly requires configuration
|
|
855
|
+
- **Credentials**: Should not access credentials files
|
|
856
|
+
|
|
857
|
+
---
|
|
858
|
+
|
|
859
|
+
## Notes
|
|
860
|
+
|
|
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
|
|
871
|
+
- Update progress.yaml manually if command doesn't complete successfully
|
|
872
|
+
|
|
873
|
+
---
|
|
874
|
+
|
|
875
|
+
**Namespace**: acp
|
|
876
|
+
**Command**: proceed
|
|
877
|
+
**Version**: 2.0.0
|
|
878
|
+
**Created**: 2026-02-16
|
|
879
|
+
**Last Updated**: 2026-02-28
|
|
880
|
+
**Status**: Active
|
|
881
|
+
**Compatibility**: ACP 5.0.0+
|
|
882
|
+
**Author**: ACP Project
|