@prmichaelsen/remember-mcp 3.15.4 → 3.15.6
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 +1977 -100
- package/dist/server.js +1174 -51
- 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
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
**Created**: 2026-02-16
|
|
10
10
|
**Last Updated**: 2026-02-16
|
|
11
11
|
**Status**: Active
|
|
12
|
+
**Scripts**: None
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
@@ -155,6 +156,18 @@ Write report to file.
|
|
|
155
156
|
|
|
156
157
|
**Expected Outcome**: Report saved
|
|
157
158
|
|
|
159
|
+
### 10. Deregister Session (Optional)
|
|
160
|
+
|
|
161
|
+
End the current agent session.
|
|
162
|
+
|
|
163
|
+
**Actions**:
|
|
164
|
+
- If `./agent/scripts/acp.sessions.sh` exists, run `./agent/scripts/acp.sessions.sh deregister`
|
|
165
|
+
- Display: `"Session deregistered"` in report footer
|
|
166
|
+
|
|
167
|
+
**Expected Outcome**: Session deregistered
|
|
168
|
+
|
|
169
|
+
**Note**: If `./agent/scripts/acp.sessions.sh` does not exist, skip this step silently.
|
|
170
|
+
|
|
158
171
|
---
|
|
159
172
|
|
|
160
173
|
## Verification
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
**Created**: 2026-02-21
|
|
10
10
|
**Last Updated**: 2026-02-21
|
|
11
11
|
**Status**: Active
|
|
12
|
+
**Scripts**: None
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
@@ -48,11 +49,12 @@ Run the initialization workflow to load complete project context.
|
|
|
48
49
|
- Execute `@acp.init` workflow
|
|
49
50
|
- Check for ACP updates
|
|
50
51
|
- Read all agent documentation
|
|
52
|
+
- Read key files from `agent/index/` (via `@acp.init` step 2.8)
|
|
51
53
|
- Review key source files
|
|
52
54
|
- Update stale documentation
|
|
53
55
|
- Refresh progress tracking
|
|
54
56
|
|
|
55
|
-
**Expected Outcome**: Complete project context loaded
|
|
57
|
+
**Expected Outcome**: Complete project context loaded (including key file index)
|
|
56
58
|
|
|
57
59
|
### 2. Read Latest Session Report
|
|
58
60
|
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Command: sessions
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.sessions` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
> Pretend this command was entered with this additional context: "Execute directive `@acp-sessions` 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.sessions`, detect the subcommand before doing anything else.
|
|
9
|
+
> See the **Arguments** section below for flag definitions and natural language patterns.
|
|
10
|
+
> If no arguments, default to `list`.
|
|
11
|
+
|
|
12
|
+
**Namespace**: acp
|
|
13
|
+
**Version**: 1.0.0
|
|
14
|
+
**Created**: 2026-03-01
|
|
15
|
+
**Last Updated**: 2026-03-01
|
|
16
|
+
**Status**: Active
|
|
17
|
+
**Scripts**: acp.sessions.sh, acp.common.sh, acp.yaml-parser.sh
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
**Purpose**: Manage and view active agent sessions across projects
|
|
22
|
+
**Category**: Workflow
|
|
23
|
+
**Frequency**: As Needed
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Arguments
|
|
28
|
+
|
|
29
|
+
This command supports both CLI-style flags and natural language arguments.
|
|
30
|
+
|
|
31
|
+
**CLI-Style Arguments**:
|
|
32
|
+
- `list` (default) — list all active sessions
|
|
33
|
+
- `clean` — remove stale sessions (dead PIDs, timed out)
|
|
34
|
+
- `deregister` — end current session
|
|
35
|
+
- `count` — output number of active sessions
|
|
36
|
+
- `--project <name>` — filter by project name (used with `list`)
|
|
37
|
+
- `--id <session-id>` — target specific session (used with `deregister`)
|
|
38
|
+
|
|
39
|
+
**Natural Language Arguments**:
|
|
40
|
+
- "what's running?" → list
|
|
41
|
+
- "show remember-core" → list --project remember-core
|
|
42
|
+
- "stop my session" → deregister
|
|
43
|
+
- "clean up" → clean
|
|
44
|
+
- "how many sessions?" → count
|
|
45
|
+
- "what's active?" → list
|
|
46
|
+
- "end session" → deregister
|
|
47
|
+
|
|
48
|
+
**Argument Mapping**:
|
|
49
|
+
The agent infers intent from context:
|
|
50
|
+
1. Parse explicit CLI-style subcommands/flags if present
|
|
51
|
+
2. Extract intent from natural language keywords: `running`, `active`, `stop`, `end`, `clean`, `how many`, `count`
|
|
52
|
+
3. Project names after `show` or `for` map to `--project` filter
|
|
53
|
+
4. Default to `list` if no subcommand is detected
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## What This Command Does
|
|
58
|
+
|
|
59
|
+
This command provides a user-friendly interface for managing agent sessions tracked in `~/.acp/sessions.yaml`. It wraps the `acp.sessions.sh` script subcommands with NLP argument parsing and formatted output.
|
|
60
|
+
|
|
61
|
+
Sessions are registered when `@acp.init` runs and deregistered when `@acp.report` runs. Between those, this command lets you see what's active, clean stale sessions, or manually end a session.
|
|
62
|
+
|
|
63
|
+
Use this command when you want to see what other agents are working on, check if stale sessions need cleanup, or manage your current session. The default behavior (`list`) always runs stale cleanup first to show accurate state.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Prerequisites
|
|
68
|
+
|
|
69
|
+
- [ ] ACP installed in project
|
|
70
|
+
- [ ] `./agent/scripts/acp.sessions.sh` exists and is executable
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Steps
|
|
75
|
+
|
|
76
|
+
### 1. Parse Arguments
|
|
77
|
+
|
|
78
|
+
Determine the requested action from CLI flags or natural language.
|
|
79
|
+
|
|
80
|
+
**Actions**:
|
|
81
|
+
- Check for explicit subcommand: `list`, `clean`, `deregister`, `count`
|
|
82
|
+
- Check for `--project` and `--id` flags
|
|
83
|
+
- Apply natural language mapping if no explicit subcommand
|
|
84
|
+
- Default to `list` if no subcommand detected
|
|
85
|
+
|
|
86
|
+
**Expected Outcome**: Subcommand and options determined
|
|
87
|
+
|
|
88
|
+
### 2. Run Stale Cleanup
|
|
89
|
+
|
|
90
|
+
Always clean stale sessions before displaying results.
|
|
91
|
+
|
|
92
|
+
**Actions**:
|
|
93
|
+
- Run `./agent/scripts/acp.sessions.sh clean` (silently, unless `clean` is the explicit subcommand)
|
|
94
|
+
- This removes sessions with dead PIDs or inactive for 2+ hours
|
|
95
|
+
|
|
96
|
+
**Expected Outcome**: Stale sessions removed
|
|
97
|
+
|
|
98
|
+
### 3. Execute Requested Subcommand
|
|
99
|
+
|
|
100
|
+
Run the appropriate `acp.sessions.sh` subcommand.
|
|
101
|
+
|
|
102
|
+
**Actions**:
|
|
103
|
+
- **list** (default): Run `./agent/scripts/acp.sessions.sh list [--project <name>]`
|
|
104
|
+
- **clean**: Run `./agent/scripts/acp.sessions.sh clean` (verbose output)
|
|
105
|
+
- **deregister**: Run `./agent/scripts/acp.sessions.sh deregister [--id <session-id>]`
|
|
106
|
+
- **count**: Run `./agent/scripts/acp.sessions.sh count`
|
|
107
|
+
|
|
108
|
+
**Expected Outcome**: Subcommand executed successfully
|
|
109
|
+
|
|
110
|
+
### 4. Display Formatted Output
|
|
111
|
+
|
|
112
|
+
Present results in a clear format.
|
|
113
|
+
|
|
114
|
+
**List output**:
|
|
115
|
+
```
|
|
116
|
+
Active Sessions (3):
|
|
117
|
+
|
|
118
|
+
sess_a1b2c3 remember-core
|
|
119
|
+
Task 12: Implement Auth Middleware
|
|
120
|
+
Started 45m ago, last active 2m ago
|
|
121
|
+
|
|
122
|
+
sess_d4e5f6 agent-context-protocol (this session)
|
|
123
|
+
Task 91: Sessions Infrastructure
|
|
124
|
+
Started 10m ago, last active now
|
|
125
|
+
|
|
126
|
+
sess_g7h8i9 agentbase.me
|
|
127
|
+
Task 5: Fix API Routes
|
|
128
|
+
Started 1h ago, last active 20m ago
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Clean output**:
|
|
132
|
+
```
|
|
133
|
+
Cleaned 2 stale sessions:
|
|
134
|
+
sess_x1y2z3 old-project (PID 12345 not running)
|
|
135
|
+
sess_m4n5o6 test-project (inactive for 3h)
|
|
136
|
+
|
|
137
|
+
Active sessions remaining: 3
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Deregister output**:
|
|
141
|
+
```
|
|
142
|
+
Session sess_a1b2c3 deregistered.
|
|
143
|
+
Active sessions remaining: 2
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Count output**:
|
|
147
|
+
```
|
|
148
|
+
3
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Expected Outcome**: User sees formatted session information
|
|
152
|
+
|
|
153
|
+
### 5. Suggest Next Actions
|
|
154
|
+
|
|
155
|
+
If relevant, suggest follow-up actions.
|
|
156
|
+
|
|
157
|
+
**Actions**:
|
|
158
|
+
- If sessions are stale: "Run `@acp.sessions clean` to remove stale sessions"
|
|
159
|
+
- If no sessions: "Run `@acp.init` to register a new session"
|
|
160
|
+
- If showing list: No suggestions needed (informational)
|
|
161
|
+
|
|
162
|
+
**Expected Outcome**: User knows what to do next (if applicable)
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Verification
|
|
167
|
+
|
|
168
|
+
- [ ] Arguments parsed correctly (CLI or NLP)
|
|
169
|
+
- [ ] Stale cleanup ran before list/count
|
|
170
|
+
- [ ] Subcommand executed with correct flags
|
|
171
|
+
- [ ] Output formatted clearly
|
|
172
|
+
- [ ] Edge cases handled (no sessions, missing script)
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Expected Output
|
|
177
|
+
|
|
178
|
+
### Files Modified
|
|
179
|
+
- `~/.acp/sessions.yaml` — updated by clean/deregister subcommands
|
|
180
|
+
|
|
181
|
+
### Console Output
|
|
182
|
+
See output formats in Step 4 above.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Examples
|
|
187
|
+
|
|
188
|
+
### Example 1: List All Sessions (Default)
|
|
189
|
+
|
|
190
|
+
**Context**: You want to see what's currently running
|
|
191
|
+
|
|
192
|
+
**Invocation**: `@acp.sessions`
|
|
193
|
+
|
|
194
|
+
**Result**: Shows all active sessions with project, description, and timing info
|
|
195
|
+
|
|
196
|
+
### Example 2: Filter by Project
|
|
197
|
+
|
|
198
|
+
**Context**: You want to see sessions for a specific project
|
|
199
|
+
|
|
200
|
+
**Invocation**: `@acp.sessions --project remember-core`
|
|
201
|
+
|
|
202
|
+
**Result**: Shows only sessions for remember-core
|
|
203
|
+
|
|
204
|
+
### Example 3: Clean Stale Sessions
|
|
205
|
+
|
|
206
|
+
**Context**: You suspect some sessions are stale
|
|
207
|
+
|
|
208
|
+
**Invocation**: `@acp.sessions clean`
|
|
209
|
+
|
|
210
|
+
**Result**: Removes dead-PID and timed-out sessions, shows what was cleaned
|
|
211
|
+
|
|
212
|
+
### Example 4: Natural Language Usage
|
|
213
|
+
|
|
214
|
+
**Context**: You want to check what's running using natural language
|
|
215
|
+
|
|
216
|
+
**Invocation**: `@acp.sessions what's running?`
|
|
217
|
+
|
|
218
|
+
**Result**: Same as `@acp.sessions list` — shows all active sessions
|
|
219
|
+
|
|
220
|
+
### Example 5: End Current Session
|
|
221
|
+
|
|
222
|
+
**Context**: You're done working and want to deregister
|
|
223
|
+
|
|
224
|
+
**Invocation**: `@acp.sessions stop my session`
|
|
225
|
+
|
|
226
|
+
**Result**: Deregisters the current session, shows remaining count
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Related Commands
|
|
231
|
+
|
|
232
|
+
- [`@acp.init`](acp.init.md) — Registers session automatically at start
|
|
233
|
+
- [`@acp.status`](acp.status.md) — Shows session count in status output
|
|
234
|
+
- [`@acp.report`](acp.report.md) — Deregisters session automatically at end
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Troubleshooting
|
|
239
|
+
|
|
240
|
+
### Issue 1: "acp.sessions.sh not found"
|
|
241
|
+
|
|
242
|
+
**Symptom**: Command reports script not found
|
|
243
|
+
|
|
244
|
+
**Cause**: Sessions script not installed or path incorrect
|
|
245
|
+
|
|
246
|
+
**Solution**: Verify `./agent/scripts/acp.sessions.sh` exists and is executable. Run `chmod +x agent/scripts/acp.sessions.sh` if needed.
|
|
247
|
+
|
|
248
|
+
### Issue 2: Sessions disappear immediately
|
|
249
|
+
|
|
250
|
+
**Symptom**: Registered sessions are gone on next list
|
|
251
|
+
|
|
252
|
+
**Cause**: Stale cleanup removing sessions because the registering process PID is dead
|
|
253
|
+
|
|
254
|
+
**Solution**: Use `--pid <pid>` when registering to track the long-lived parent process (terminal/agent) instead of the script's own PID.
|
|
255
|
+
|
|
256
|
+
### Issue 3: "No active sessions" when sessions should exist
|
|
257
|
+
|
|
258
|
+
**Symptom**: List shows no sessions despite recent registration
|
|
259
|
+
|
|
260
|
+
**Cause**: Sessions were registered under a different process tree and stale cleanup removed them
|
|
261
|
+
|
|
262
|
+
**Solution**: Re-register with `@acp.init` or manually via `./agent/scripts/acp.sessions.sh register --project <name> --pid <pid>`
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Security Considerations
|
|
267
|
+
|
|
268
|
+
### File Access
|
|
269
|
+
- **Reads**: `~/.acp/sessions.yaml`
|
|
270
|
+
- **Writes**: `~/.acp/sessions.yaml` (clean, deregister modify the file)
|
|
271
|
+
- **Executes**: `./agent/scripts/acp.sessions.sh`
|
|
272
|
+
|
|
273
|
+
### Network Access
|
|
274
|
+
- **APIs**: None
|
|
275
|
+
- **Repositories**: None
|
|
276
|
+
|
|
277
|
+
### Sensitive Data
|
|
278
|
+
- **Secrets**: Does not access secrets or credentials
|
|
279
|
+
- **Credentials**: Does not access credentials files
|
|
280
|
+
- **PIDs**: Stores process IDs for stale detection (not sensitive)
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Notes
|
|
285
|
+
|
|
286
|
+
- Mark current session with "(this session)" indicator in list output
|
|
287
|
+
- NLP parsing should be forgiving — "sessions", "what's active", "running" all map to list
|
|
288
|
+
- Always run `clean` before `list` to show accurate state
|
|
289
|
+
- Sessions are advisory only — no locking or coordination
|
|
290
|
+
- `~/.acp/sessions.yaml` is auto-created on first register
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
**Namespace**: acp
|
|
295
|
+
**Command**: sessions
|
|
296
|
+
**Version**: 1.0.0
|
|
297
|
+
**Created**: 2026-03-01
|
|
298
|
+
**Last Updated**: 2026-03-01
|
|
299
|
+
**Status**: Active
|
|
300
|
+
**Compatibility**: ACP 5.9.1+
|
|
301
|
+
**Author**: ACP Project
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
**Created**: 2026-02-16
|
|
8
8
|
**Last Updated**: 2026-02-16
|
|
9
9
|
**Status**: Active
|
|
10
|
+
**Scripts**: None
|
|
10
11
|
|
|
11
12
|
---
|
|
12
13
|
|
|
@@ -92,6 +93,18 @@ Show what needs to be done next.
|
|
|
92
93
|
|
|
93
94
|
**Expected Outcome**: User knows what to work on next
|
|
94
95
|
|
|
96
|
+
### 5.5. Display Active Sessions (Optional)
|
|
97
|
+
|
|
98
|
+
Show the count of active agent sessions.
|
|
99
|
+
|
|
100
|
+
**Actions**:
|
|
101
|
+
- If `./agent/scripts/acp.sessions.sh` exists, run `./agent/scripts/acp.sessions.sh count`
|
|
102
|
+
- Display: `"Sessions: N active"` in status output
|
|
103
|
+
|
|
104
|
+
**Expected Outcome**: Session count displayed
|
|
105
|
+
|
|
106
|
+
**Note**: If `./agent/scripts/acp.sessions.sh` does not exist, omit the Sessions line.
|
|
107
|
+
|
|
95
108
|
### 6. Display Blockers
|
|
96
109
|
|
|
97
110
|
Show any current blockers or issues.
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
**Created**: 2026-02-21
|
|
14
14
|
**Last Updated**: 2026-02-21
|
|
15
15
|
**Status**: Active
|
|
16
|
+
**Scripts**: None
|
|
16
17
|
|
|
17
18
|
---
|
|
18
19
|
|
|
@@ -46,6 +47,22 @@ This command creates a new task file with proper structure, milestone linking, a
|
|
|
46
47
|
|
|
47
48
|
---
|
|
48
49
|
|
|
50
|
+
## Arguments
|
|
51
|
+
|
|
52
|
+
**Context Capture Arguments** (optional — passed to `@acp.clarification-capture` directive):
|
|
53
|
+
|
|
54
|
+
| Argument | Alias | Behavior |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| `--from-clarification <file>` | `--from-clar` | Capture decisions from a specific clarification file |
|
|
57
|
+
| `--from-clarifications` | `--from-clars` | Capture from all recent clarifications |
|
|
58
|
+
| `--from-chat-context` | `--from-chat` | Capture decisions from chat conversation |
|
|
59
|
+
| `--from-context` | (none) | Shorthand for all sources (clarifications + chat) |
|
|
60
|
+
| `--include-clarifications` | (none) | Alias for `--from-clars` |
|
|
61
|
+
|
|
62
|
+
**Default behavior** (no flags): Auto-detect clarifications and context in session.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
49
66
|
## Steps
|
|
50
67
|
|
|
51
68
|
### 1. Detect Current Milestone
|
|
@@ -72,6 +89,33 @@ Find the next available task number:
|
|
|
72
89
|
|
|
73
90
|
**Expected Outcome**: Next task number determined (e.g., task-25)
|
|
74
91
|
|
|
92
|
+
### 2.5. Read Contextual Key Files
|
|
93
|
+
|
|
94
|
+
Before creating content, load relevant key files from the index.
|
|
95
|
+
|
|
96
|
+
**Actions**:
|
|
97
|
+
- Check if `agent/index/` directory exists
|
|
98
|
+
- If exists, scan for all `*.yaml` files (excluding `*.template.yaml`)
|
|
99
|
+
- Filter entries where `applies` includes `acp.task-create`
|
|
100
|
+
- Sort by weight descending, read matching files
|
|
101
|
+
- Produce visible output
|
|
102
|
+
|
|
103
|
+
**Note**: If `agent/index/` does not exist, skip silently.
|
|
104
|
+
|
|
105
|
+
### 2.7. Capture Clarification Context
|
|
106
|
+
|
|
107
|
+
Invoke the `@acp.clarification-capture` shared directive to capture decisions from clarifications and/or chat context.
|
|
108
|
+
|
|
109
|
+
**Actions**:
|
|
110
|
+
- Read and follow the directive in [`agent/commands/acp.clarification-capture.md`](acp.clarification-capture.md)
|
|
111
|
+
- Pass through any `--from-*` arguments from this command's invocation
|
|
112
|
+
- If no `--from-*` flags specified: auto-detect clarifications in session (default behavior)
|
|
113
|
+
- If uncaptured clarifications detected, show warning and ask user whether to include
|
|
114
|
+
- Directive returns a "Key Design Decisions" markdown section (or nothing if no context)
|
|
115
|
+
- Hold the generated section for insertion during Step 6 (Generate Task File)
|
|
116
|
+
|
|
117
|
+
**Expected Outcome**: Key Design Decisions section generated (if context available), or skipped cleanly
|
|
118
|
+
|
|
75
119
|
### 3. Check for Draft File
|
|
76
120
|
|
|
77
121
|
Check if draft file was provided as argument:
|
|
@@ -126,6 +170,29 @@ If draft file was provided, create clarification if needed:
|
|
|
126
170
|
|
|
127
171
|
**Expected Outcome**: Clarification created and answered (if needed)
|
|
128
172
|
|
|
173
|
+
### 5.5. Cross-Reference Design Documents
|
|
174
|
+
|
|
175
|
+
Invoke the `@acp.design-reference` shared directive to discover and extract design document context.
|
|
176
|
+
|
|
177
|
+
**Actions**:
|
|
178
|
+
- Read and follow the directive in [`agent/commands/acp.design-reference.md`](acp.design-reference.md)
|
|
179
|
+
- Pass context from this command:
|
|
180
|
+
- `topic_keywords`: Keywords from task name and milestone name
|
|
181
|
+
- `milestone_name`: Current milestone name (from Step 1)
|
|
182
|
+
- `user_description`: User's task description (from Step 4)
|
|
183
|
+
- `draft_content`: Draft file content (from Step 3, if provided)
|
|
184
|
+
- The directive will:
|
|
185
|
+
1. Search `agent/design/` for relevant documents by keyword matching
|
|
186
|
+
2. Report what was found/skipped
|
|
187
|
+
3. Extract design elements across 8 categories (implementation steps, argument tables, UX specs, edge cases, format specs, integration points, lifecycle rules, decision rationale)
|
|
188
|
+
4. Flag any design gaps (suggest clarification if needed)
|
|
189
|
+
5. Return structured data: design elements, gaps, and paths
|
|
190
|
+
- Hold the returned design elements for use in Step 6
|
|
191
|
+
|
|
192
|
+
**If no design found**: The directive warns and returns empty. Proceed to Step 6 with available context only (user input, draft, clarifications).
|
|
193
|
+
|
|
194
|
+
**Expected Outcome**: Design elements extracted and ready for task generation, or skipped cleanly with warning
|
|
195
|
+
|
|
129
196
|
### 6. Generate Task File
|
|
130
197
|
|
|
131
198
|
Create task file from template:
|
|
@@ -141,19 +208,39 @@ Create task file from template:
|
|
|
141
208
|
- Fill in metadata:
|
|
142
209
|
- Task number and name
|
|
143
210
|
- Milestone link
|
|
211
|
+
- **Design Reference**: If Step 5.5 found a design document, link to it: `[{Design Name}](../design/{namespace}.{design-name}.md)`. If none found, set to `None`.
|
|
144
212
|
- Estimated time
|
|
145
213
|
- Dependencies
|
|
146
214
|
- Status: "Not Started"
|
|
147
215
|
- Fill in sections:
|
|
148
216
|
- Objective (from collected info)
|
|
149
217
|
- Context (from collected info or draft)
|
|
150
|
-
- Steps
|
|
151
|
-
|
|
218
|
+
- **Steps** — must include implementation-level detail:
|
|
219
|
+
- Each step should be concrete and actionable, not a vague summary
|
|
220
|
+
- Include specific sub-steps for complex operations
|
|
221
|
+
- If Step 5.5 returned design elements, integrate them:
|
|
222
|
+
- Preserve argument/parameter tables from the design — include verbatim or as detailed prose
|
|
223
|
+
- Preserve UX specifications — exact warning text, prompt formats, display output
|
|
224
|
+
- Preserve format specifications — output structure, naming conventions, file format rules
|
|
225
|
+
- Include integration points — which other commands/systems are affected and how
|
|
226
|
+
- Include lifecycle rules — status transitions, cleanup behavior, ordering constraints
|
|
227
|
+
- Include decision rationale inline where it aids implementation
|
|
228
|
+
- If the design describes N distinct operations, the task should have corresponding steps covering all N (grouping related operations into fewer steps is acceptable, but no operation may be omitted)
|
|
229
|
+
- **Verification checklist** — must cover every design requirement:
|
|
230
|
+
- One verification item per design requirement from the design document
|
|
231
|
+
- Include edge cases from the design (partial data, conflicts, empty state, missing files)
|
|
232
|
+
- Include format verification (output matches specified format)
|
|
233
|
+
- Include integration verification (affected commands updated correctly)
|
|
234
|
+
- If the design has a Testing Strategy section, map each test scenario to a verification item
|
|
235
|
+
- If Key Design Decisions section was generated in Step 2.7: Insert it into the task document
|
|
236
|
+
- If Step 5.5 returned design decisions (from the design doc's Key Design Decisions section): Carry relevant decisions into the task's Key Design Decisions section
|
|
152
237
|
- Save to appropriate path (milestone subdirectory or unassigned/)
|
|
153
238
|
|
|
239
|
+
> **Self-Contained Task Principle**: After generating the task, verify that an agent reading ONLY this task file could implement the feature without needing to read the design document. If any design element is missing from the task, add it before saving.
|
|
240
|
+
|
|
154
241
|
**Note**: Older tasks may use flat structure (`agent/tasks/task-{N}-{name}.md`) for historical reasons. New tasks should use milestone subdirectories.
|
|
155
242
|
|
|
156
|
-
**Expected Outcome**: Task file created in milestone subdirectory
|
|
243
|
+
**Expected Outcome**: Task file created in milestone subdirectory with complete design coverage
|
|
157
244
|
|
|
158
245
|
### 7. Update progress.yaml
|
|
159
246
|
|
|
@@ -215,6 +302,21 @@ Next steps:
|
|
|
215
302
|
|
|
216
303
|
**Expected Outcome**: User knows task was created successfully
|
|
217
304
|
|
|
305
|
+
### 10. Prompt to Add to Key File Index
|
|
306
|
+
|
|
307
|
+
After successful creation, offer to add the new file to the index (if `agent/index/` exists).
|
|
308
|
+
|
|
309
|
+
**Display**:
|
|
310
|
+
```
|
|
311
|
+
Would you like to add this to the key file index?
|
|
312
|
+
- Yes, add to agent/index/local.main.yaml
|
|
313
|
+
- No, skip
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
If yes, prompt for weight, description, rationale, and applies values. Add entry to `agent/index/local.main.yaml`.
|
|
317
|
+
|
|
318
|
+
**Note**: Skip silently if `agent/index/` does not exist.
|
|
319
|
+
|
|
218
320
|
---
|
|
219
321
|
|
|
220
322
|
## Verification
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
**Created**: 2026-02-16
|
|
10
10
|
**Last Updated**: 2026-02-21
|
|
11
11
|
**Status**: Active
|
|
12
|
+
**Scripts**: None
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
@@ -173,7 +174,35 @@ Check namespace usage across all files.
|
|
|
173
174
|
|
|
174
175
|
**Expected Outcome**: Namespace conventions validated, errors reported for violations
|
|
175
176
|
|
|
176
|
-
### 9.
|
|
177
|
+
### 9. Validate Key File Index
|
|
178
|
+
|
|
179
|
+
Check index files in `agent/index/` for schema correctness and referential integrity.
|
|
180
|
+
|
|
181
|
+
**Actions**:
|
|
182
|
+
- Check that `agent/index/` directory exists (warn if missing)
|
|
183
|
+
- For each `*.yaml` file in `agent/index/` (skip `*.template.yaml`):
|
|
184
|
+
- Verify filename follows `{namespace}.{qualifier}.yaml` naming
|
|
185
|
+
- Parse the index entries under the top-level key
|
|
186
|
+
- For each entry, verify required fields present: `path`, `weight`, `kind`, `description`, `rationale`, `applies`
|
|
187
|
+
- Validate `weight` is a number in range 0.0-1.0
|
|
188
|
+
- Validate `kind` is one of: pattern, command, design, requirements
|
|
189
|
+
- Validate `applies` values use fully qualified command names (contain a dot, e.g. `acp.proceed`)
|
|
190
|
+
- Check that each `path` actually exists in the project
|
|
191
|
+
- Warn on missing paths (file may have been moved or deleted)
|
|
192
|
+
- Check total indexed entries across all files (warn if > 20)
|
|
193
|
+
- Check per-namespace entry count (warn if > 10)
|
|
194
|
+
|
|
195
|
+
**Output format**:
|
|
196
|
+
```
|
|
197
|
+
📑 Index Validation:
|
|
198
|
+
✓ agent/index/local.main.yaml (5 entries, all valid)
|
|
199
|
+
⚠️ agent/index/core-sdk.main.yaml: path not found: agent/patterns/core-sdk.deleted.md
|
|
200
|
+
✓ Total: 8 entries across 2 namespaces (within limits)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Expected Outcome**: Index files validated for schema and referential integrity
|
|
204
|
+
|
|
205
|
+
### 10. Check Cross-References
|
|
177
206
|
|
|
178
207
|
Validate links between documents.
|
|
179
208
|
|
|
@@ -187,7 +216,7 @@ Validate links between documents.
|
|
|
187
216
|
|
|
188
217
|
**Expected Outcome**: All links are valid
|
|
189
218
|
|
|
190
|
-
###
|
|
219
|
+
### 11. Generate Validation Report
|
|
191
220
|
|
|
192
221
|
Summarize validation results.
|
|
193
222
|
|
|
@@ -214,6 +243,7 @@ Summarize validation results.
|
|
|
214
243
|
- [ ] All command documents are valid
|
|
215
244
|
- [ ] Namespace conventions validated
|
|
216
245
|
- [ ] Reserved names checked
|
|
246
|
+
- [ ] Key file index validated (schema, paths, limits)
|
|
217
247
|
- [ ] No broken internal links
|
|
218
248
|
- [ ] Validation report generated
|
|
219
249
|
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
**Created**: YYYY-MM-DD
|
|
10
10
|
**Last Updated**: YYYY-MM-DD
|
|
11
11
|
**Status**: [Draft | Active | Deprecated]
|
|
12
|
+
**Scripts**: {namespace}.{command-name}.sh, acp.common.sh, acp.yaml-parser.sh
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
**Note**: The `**Scripts**:` field is REQUIRED and must list ALL script dependencies (direct + shared utilities). This must match the `scripts` array in package.yaml exactly. If the command has no script dependencies, use `**Scripts**: None`.
|
|
12
17
|
|
|
13
18
|
---
|
|
14
19
|
|
|
@@ -290,6 +295,24 @@ Example output message or status report
|
|
|
290
295
|
|
|
291
296
|
---
|
|
292
297
|
|
|
298
|
+
## Key Design Decisions (Optional)
|
|
299
|
+
|
|
300
|
+
<!-- This section is populated by @acp.clarification-capture when
|
|
301
|
+
create commands are invoked with --from-clar, --from-chat, or
|
|
302
|
+
--from-context. It can also be manually authored.
|
|
303
|
+
Omit this section entirely if no decisions to capture.
|
|
304
|
+
|
|
305
|
+
Group decisions by agent-inferred category using tables:
|
|
306
|
+
|
|
307
|
+
### {Category}
|
|
308
|
+
|
|
309
|
+
| Decision | Choice | Rationale |
|
|
310
|
+
|---|---|---|
|
|
311
|
+
| {decision} | {choice} | {rationale} |
|
|
312
|
+
-->
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
293
316
|
## Notes
|
|
294
317
|
|
|
295
318
|
[Any additional context, warnings, or considerations:]
|