agentpack-cli 0.1.8 → 0.1.9
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 +2 -2
- package/dist/src/cli/index.js +101 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/core/resume.js +50 -1
- package/dist/src/core/resume.js.map +1 -1
- package/dist/src/core/tasks.d.ts +42 -0
- package/dist/src/core/tasks.js +296 -0
- package/dist/src/core/tasks.js.map +1 -0
- package/dist/src/core/types.d.ts +35 -0
- package/dist/src/mcp/server.js +18 -0
- package/dist/src/mcp/server.js.map +1 -1
- package/docs/CLI.md +19 -0
- package/docs/MCP.md +4 -0
- package/docs/ROADMAP.md +39 -7
- package/docs/TASK-PASSPORT.md +227 -0
- package/docs/VISION.md +28 -7
- package/package.json +1 -1
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, realpathSync, readdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { getGitInfo } from "./git.js";
|
|
4
|
+
import { normalizePath } from "./hash.js";
|
|
5
|
+
import { createId } from "./ids.js";
|
|
6
|
+
import { getPackPath, readJson, SCHEMA_VERSION, withPackWriteLock, writeJson } from "./store.js";
|
|
7
|
+
const CLOSED_STATUSES = new Set(["completed", "abandoned"]);
|
|
8
|
+
export function startTask(root, options) {
|
|
9
|
+
if (!options.title.trim()) {
|
|
10
|
+
throw new Error("task start requires a title");
|
|
11
|
+
}
|
|
12
|
+
return withPackWriteLock(root, () => {
|
|
13
|
+
ensureTasksDir(root);
|
|
14
|
+
const now = new Date().toISOString();
|
|
15
|
+
const git = getGitInfo(root);
|
|
16
|
+
const id = createTaskId(options.title);
|
|
17
|
+
const passport = {
|
|
18
|
+
schemaVersion: SCHEMA_VERSION,
|
|
19
|
+
id,
|
|
20
|
+
title: options.title.trim(),
|
|
21
|
+
status: "active",
|
|
22
|
+
createdAt: now,
|
|
23
|
+
updatedAt: now,
|
|
24
|
+
closedAt: null,
|
|
25
|
+
objective: options.objective?.trim() || options.title.trim(),
|
|
26
|
+
constraints: uniqueStrings(options.constraints || []),
|
|
27
|
+
branch: git.branch,
|
|
28
|
+
baseHead: git.head,
|
|
29
|
+
currentHead: git.head,
|
|
30
|
+
worktree: root,
|
|
31
|
+
writeScope: normalizeWriteScope(root, options.writeScope || []),
|
|
32
|
+
risk: options.risk || "unknown",
|
|
33
|
+
roles: {},
|
|
34
|
+
verification: {
|
|
35
|
+
status: "unknown",
|
|
36
|
+
evidence: [],
|
|
37
|
+
summary: ""
|
|
38
|
+
},
|
|
39
|
+
nextActions: uniqueStrings(options.nextActions || []),
|
|
40
|
+
tags: uniqueStrings(options.tags || [])
|
|
41
|
+
};
|
|
42
|
+
writePassport(root, passport);
|
|
43
|
+
writeCurrentTaskId(root, passport.id);
|
|
44
|
+
appendTaskEvent(root, passport.id, "task-start", {
|
|
45
|
+
title: passport.title,
|
|
46
|
+
status: passport.status,
|
|
47
|
+
writeScope: passport.writeScope
|
|
48
|
+
});
|
|
49
|
+
return passport;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export function listTasks(root) {
|
|
53
|
+
const current = readCurrentTaskId(root);
|
|
54
|
+
return listTaskIds(root)
|
|
55
|
+
.map((id) => readPassport(root, id))
|
|
56
|
+
.sort((left, right) => right.updatedAt.localeCompare(left.updatedAt))
|
|
57
|
+
.map((passport) => ({
|
|
58
|
+
id: passport.id,
|
|
59
|
+
title: passport.title,
|
|
60
|
+
status: passport.status,
|
|
61
|
+
branch: passport.branch,
|
|
62
|
+
current: passport.id === current,
|
|
63
|
+
updatedAt: passport.updatedAt,
|
|
64
|
+
writeScope: passport.writeScope
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
export function getCurrentPassport(root) {
|
|
68
|
+
const current = readCurrentTaskId(root);
|
|
69
|
+
return current ? readPassport(root, current) : null;
|
|
70
|
+
}
|
|
71
|
+
export function readPassport(root, taskId) {
|
|
72
|
+
const passport = readJson(passportPath(root, taskId), null);
|
|
73
|
+
if (!passport) {
|
|
74
|
+
throw new Error(`Task passport not found: ${taskId}`);
|
|
75
|
+
}
|
|
76
|
+
return passport;
|
|
77
|
+
}
|
|
78
|
+
export function switchTask(root, taskId) {
|
|
79
|
+
return withPackWriteLock(root, () => {
|
|
80
|
+
const passport = readPassport(root, taskId);
|
|
81
|
+
if (CLOSED_STATUSES.has(passport.status)) {
|
|
82
|
+
throw new Error(`Cannot switch to closed task ${taskId}`);
|
|
83
|
+
}
|
|
84
|
+
writeCurrentTaskId(root, passport.id);
|
|
85
|
+
appendTaskEvent(root, passport.id, "task-switch", {
|
|
86
|
+
status: passport.status
|
|
87
|
+
});
|
|
88
|
+
return passport;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export function parkCurrentTask(root) {
|
|
92
|
+
return updateCurrentTask(root, "parked", "task-park");
|
|
93
|
+
}
|
|
94
|
+
export function blockCurrentTask(root, reason = "") {
|
|
95
|
+
return updateCurrentTask(root, "blocked", "task-block", {
|
|
96
|
+
blockedReason: reason
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
export function verifyCurrentTask(root) {
|
|
100
|
+
return updateCurrentTask(root, "verifying", "task-verify", {
|
|
101
|
+
verification: {
|
|
102
|
+
status: "pending",
|
|
103
|
+
evidence: [],
|
|
104
|
+
summary: ""
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export function closeCurrentTask(root) {
|
|
109
|
+
return updateCurrentTask(root, "completed", "task-close", {
|
|
110
|
+
closedAt: new Date().toISOString()
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export function auditCurrentTask(root, sourceStatuses = []) {
|
|
114
|
+
const issues = [];
|
|
115
|
+
let passport;
|
|
116
|
+
try {
|
|
117
|
+
passport = getCurrentPassport(root);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return {
|
|
121
|
+
passport: null,
|
|
122
|
+
issues: [
|
|
123
|
+
{ level: "warn", message: `Cannot read current task passport: ${error instanceof Error ? error.message : String(error)}` }
|
|
124
|
+
]
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
if (!passport) {
|
|
128
|
+
return {
|
|
129
|
+
passport,
|
|
130
|
+
issues: [
|
|
131
|
+
{ level: "warn", message: "No current task passport. Run `agentpack task start <title>` before relying on task-scoped handoff." }
|
|
132
|
+
]
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const git = getGitInfo(root);
|
|
136
|
+
const staleSources = sourceStatuses.filter((source) => source.status !== "unchanged");
|
|
137
|
+
issues.push({ level: "ok", message: `Current task: ${passport.id} [${passport.status}] ${passport.title}` });
|
|
138
|
+
if (CLOSED_STATUSES.has(passport.status)) {
|
|
139
|
+
issues.push({ level: "warn", message: "Current task is closed. Start or switch to an open task before continuing work." });
|
|
140
|
+
}
|
|
141
|
+
if (!passport.nextActions.length) {
|
|
142
|
+
issues.push({ level: "warn", message: "Task has no next actions." });
|
|
143
|
+
}
|
|
144
|
+
if (passport.verification.status === "unknown" || passport.verification.status === "pending") {
|
|
145
|
+
issues.push({ level: "warn", message: `Verification is ${passport.verification.status}. Attach evidence or close the loop before handoff.` });
|
|
146
|
+
}
|
|
147
|
+
if (!passport.writeScope.length) {
|
|
148
|
+
issues.push({ level: "warn", message: "Task has no write scope; future agents may not know the intended blast radius." });
|
|
149
|
+
}
|
|
150
|
+
if (git.available) {
|
|
151
|
+
if (passport.branch && git.branch && passport.branch !== git.branch) {
|
|
152
|
+
issues.push({ level: "warn", message: `Branch drift: passport branch is ${passport.branch}, current branch is ${git.branch}.` });
|
|
153
|
+
}
|
|
154
|
+
if (passport.currentHead && git.head && passport.currentHead !== git.head) {
|
|
155
|
+
issues.push({ level: "warn", message: `HEAD drift: passport head is ${passport.currentHead}, current head is ${git.head}.` });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
issues.push({ level: "warn", message: "Git repository not detected; branch/head drift cannot be checked." });
|
|
160
|
+
}
|
|
161
|
+
if (!samePath(root, passport.worktree)) {
|
|
162
|
+
issues.push({ level: "warn", message: "Worktree path differs from the current pack root; verify this passport belongs to this workspace." });
|
|
163
|
+
}
|
|
164
|
+
if (staleSources.length > 0) {
|
|
165
|
+
issues.push({ level: "warn", message: `Source cache has ${staleSources.length} changed or missing record(s): ${staleSources.map((source) => source.path).join(", ")}.` });
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
issues.push({ level: "ok", message: "No changed or missing recorded source conclusions." });
|
|
169
|
+
}
|
|
170
|
+
if (issues.every((issue) => issue.level === "ok")) {
|
|
171
|
+
issues.push({ level: "ok", message: "No task audit warnings." });
|
|
172
|
+
}
|
|
173
|
+
return { passport, issues };
|
|
174
|
+
}
|
|
175
|
+
export function formatTaskAuditReport(report) {
|
|
176
|
+
return [
|
|
177
|
+
"Task audit",
|
|
178
|
+
...report.issues.map((issue) => `[${issue.level}] ${issue.message}`)
|
|
179
|
+
].join("\n");
|
|
180
|
+
}
|
|
181
|
+
function updateCurrentTask(root, status, eventType, patch = {}) {
|
|
182
|
+
return withPackWriteLock(root, () => {
|
|
183
|
+
const current = readCurrentTaskId(root);
|
|
184
|
+
if (!current) {
|
|
185
|
+
throw new Error("No current task. Run `agentpack task start <title>` first.");
|
|
186
|
+
}
|
|
187
|
+
const existing = readPassport(root, current);
|
|
188
|
+
if (CLOSED_STATUSES.has(existing.status)) {
|
|
189
|
+
throw new Error(`Cannot update closed task ${current}`);
|
|
190
|
+
}
|
|
191
|
+
const now = new Date().toISOString();
|
|
192
|
+
const git = getGitInfo(root);
|
|
193
|
+
const passport = {
|
|
194
|
+
...existing,
|
|
195
|
+
...patch,
|
|
196
|
+
status,
|
|
197
|
+
currentHead: git.head,
|
|
198
|
+
updatedAt: now
|
|
199
|
+
};
|
|
200
|
+
if (status === "completed" || status === "abandoned") {
|
|
201
|
+
passport.closedAt = passport.closedAt || now;
|
|
202
|
+
}
|
|
203
|
+
writePassport(root, passport);
|
|
204
|
+
appendTaskEvent(root, passport.id, eventType, {
|
|
205
|
+
status: passport.status,
|
|
206
|
+
reason: passport.blockedReason || ""
|
|
207
|
+
});
|
|
208
|
+
return passport;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
function createTaskId(title) {
|
|
212
|
+
const slug = title
|
|
213
|
+
.toLowerCase()
|
|
214
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
215
|
+
.replace(/^-+|-+$/g, "")
|
|
216
|
+
.slice(0, 40) || "task";
|
|
217
|
+
return `${createId("task")}_${slug}`;
|
|
218
|
+
}
|
|
219
|
+
function ensureTasksDir(root) {
|
|
220
|
+
mkdirSync(getPackPath(root, "tasks"), { recursive: true });
|
|
221
|
+
}
|
|
222
|
+
function listTaskIds(root) {
|
|
223
|
+
const tasksPath = getPackPath(root, "tasks");
|
|
224
|
+
if (!existsSync(tasksPath)) {
|
|
225
|
+
return [];
|
|
226
|
+
}
|
|
227
|
+
return readdirSync(tasksPath, { withFileTypes: true })
|
|
228
|
+
.filter((entry) => entry.isDirectory())
|
|
229
|
+
.filter((entry) => existsSync(passportPath(root, entry.name)))
|
|
230
|
+
.map((entry) => entry.name);
|
|
231
|
+
}
|
|
232
|
+
function passportPath(root, taskId) {
|
|
233
|
+
return getPackPath(root, "tasks", taskId, "passport.json");
|
|
234
|
+
}
|
|
235
|
+
function taskEventsPath(root, taskId) {
|
|
236
|
+
return getPackPath(root, "tasks", taskId, "events.jsonl");
|
|
237
|
+
}
|
|
238
|
+
function currentTaskPath(root) {
|
|
239
|
+
return getPackPath(root, "tasks", "current");
|
|
240
|
+
}
|
|
241
|
+
function readCurrentTaskId(root) {
|
|
242
|
+
const filePath = currentTaskPath(root);
|
|
243
|
+
if (!existsSync(filePath)) {
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
return readFileSync(filePath, "utf8").trim() || null;
|
|
247
|
+
}
|
|
248
|
+
function writeCurrentTaskId(root, taskId) {
|
|
249
|
+
ensureTasksDir(root);
|
|
250
|
+
writeFileSync(currentTaskPath(root), `${taskId}\n`, "utf8");
|
|
251
|
+
}
|
|
252
|
+
function writePassport(root, passport) {
|
|
253
|
+
const taskPath = getPackPath(root, "tasks", passport.id);
|
|
254
|
+
mkdirSync(path.join(taskPath, "checkpoints"), { recursive: true });
|
|
255
|
+
mkdirSync(path.join(taskPath, "evidence"), { recursive: true });
|
|
256
|
+
mkdirSync(path.join(taskPath, "exports"), { recursive: true });
|
|
257
|
+
if (!existsSync(taskEventsPath(root, passport.id))) {
|
|
258
|
+
writeFileSync(taskEventsPath(root, passport.id), "", "utf8");
|
|
259
|
+
}
|
|
260
|
+
writeJson(passportPath(root, passport.id), passport);
|
|
261
|
+
}
|
|
262
|
+
function appendTaskEvent(root, taskId, type, payload) {
|
|
263
|
+
const event = {
|
|
264
|
+
id: createId("evt"),
|
|
265
|
+
ts: new Date().toISOString(),
|
|
266
|
+
type,
|
|
267
|
+
...payload
|
|
268
|
+
};
|
|
269
|
+
writeFileSync(taskEventsPath(root, taskId), `${JSON.stringify(event)}\n`, {
|
|
270
|
+
encoding: "utf8",
|
|
271
|
+
flag: "a"
|
|
272
|
+
});
|
|
273
|
+
return event;
|
|
274
|
+
}
|
|
275
|
+
function normalizeWriteScope(root, writeScope) {
|
|
276
|
+
return uniqueStrings(writeScope.map((item) => {
|
|
277
|
+
const absolutePath = path.resolve(root, item);
|
|
278
|
+
const relativePath = path.relative(root, absolutePath);
|
|
279
|
+
if (relativePath.startsWith("..") || path.isAbsolute(relativePath)) {
|
|
280
|
+
throw new Error(`Refusing write scope outside project root: ${item}`);
|
|
281
|
+
}
|
|
282
|
+
return normalizePath(relativePath);
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
function uniqueStrings(values) {
|
|
286
|
+
return [...new Set(values.map((value) => value.trim()).filter(Boolean))];
|
|
287
|
+
}
|
|
288
|
+
function samePath(left, right) {
|
|
289
|
+
try {
|
|
290
|
+
return realpathSync(left) === realpathSync(right);
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
return path.resolve(left) === path.resolve(right);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/core/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -27,6 +27,41 @@ export interface SourcesFile {
|
|
|
27
27
|
schemaVersion: number;
|
|
28
28
|
sources: SourceRecord[];
|
|
29
29
|
}
|
|
30
|
+
export type TaskStatus = "active" | "parked" | "blocked" | "verifying" | "completed" | "abandoned";
|
|
31
|
+
export type TaskRoleName = "scout" | "builder" | "reviewer" | "archivist";
|
|
32
|
+
export type TaskRoleStatus = "pending" | "active" | "done" | "blocked";
|
|
33
|
+
export type TaskRisk = "low" | "medium" | "high" | "unknown";
|
|
34
|
+
export interface TaskRoleState {
|
|
35
|
+
status: TaskRoleStatus;
|
|
36
|
+
summary: string;
|
|
37
|
+
}
|
|
38
|
+
export interface TaskVerification {
|
|
39
|
+
status: "unknown" | "pending" | "passed" | "failed" | "accepted";
|
|
40
|
+
evidence: string[];
|
|
41
|
+
summary: string;
|
|
42
|
+
}
|
|
43
|
+
export interface TaskPassport {
|
|
44
|
+
schemaVersion: number;
|
|
45
|
+
id: string;
|
|
46
|
+
title: string;
|
|
47
|
+
status: TaskStatus;
|
|
48
|
+
createdAt: string;
|
|
49
|
+
updatedAt: string;
|
|
50
|
+
closedAt: string | null;
|
|
51
|
+
objective: string;
|
|
52
|
+
constraints: string[];
|
|
53
|
+
branch: string | null;
|
|
54
|
+
baseHead: string | null;
|
|
55
|
+
currentHead: string | null;
|
|
56
|
+
worktree: string;
|
|
57
|
+
writeScope: string[];
|
|
58
|
+
risk: TaskRisk;
|
|
59
|
+
roles: Partial<Record<TaskRoleName, TaskRoleState>>;
|
|
60
|
+
verification: TaskVerification;
|
|
61
|
+
nextActions: string[];
|
|
62
|
+
tags: string[];
|
|
63
|
+
blockedReason?: string;
|
|
64
|
+
}
|
|
30
65
|
export interface AgentpackEvent {
|
|
31
66
|
id: string;
|
|
32
67
|
ts: string;
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -4,6 +4,7 @@ import { createCheckpoint, diffCheckpoints } from "../core/checkpoints.js";
|
|
|
4
4
|
import { addEvidence, addSourceRecord, formatSourceStatuses, getSourceStatuses, replayEvents } from "../operations.js";
|
|
5
5
|
import { resolveBudget } from "../core/presets.js";
|
|
6
6
|
import { redactForRoot } from "../core/redaction.js";
|
|
7
|
+
import { auditCurrentTask, formatTaskAuditReport } from "../core/tasks.js";
|
|
7
8
|
export const TOOL_DEFINITIONS = [
|
|
8
9
|
{
|
|
9
10
|
name: "load_context",
|
|
@@ -80,6 +81,16 @@ export const TOOL_DEFINITIONS = [
|
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
},
|
|
84
|
+
{
|
|
85
|
+
name: "task_audit",
|
|
86
|
+
description: "Audit the current Task Passport for continuity risks such as stale sources, drift, missing next actions, and open verification.",
|
|
87
|
+
inputSchema: {
|
|
88
|
+
type: "object",
|
|
89
|
+
properties: {
|
|
90
|
+
json: { type: "boolean" }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
83
94
|
{
|
|
84
95
|
name: "checkpoint",
|
|
85
96
|
description: "Create an Agentpack checkpoint.",
|
|
@@ -284,6 +295,13 @@ function callTool(root, name, args) {
|
|
|
284
295
|
}
|
|
285
296
|
return toolText(formatSourceStatuses(root));
|
|
286
297
|
}
|
|
298
|
+
if (name === "task_audit") {
|
|
299
|
+
const report = auditCurrentTask(root, getSourceStatuses(root));
|
|
300
|
+
if (booleanValue(args.json, false)) {
|
|
301
|
+
return toolText(redactForRoot(root, JSON.stringify(report, null, 2)));
|
|
302
|
+
}
|
|
303
|
+
return toolText(redactForRoot(root, formatTaskAuditReport(report)));
|
|
304
|
+
}
|
|
287
305
|
if (name === "checkpoint") {
|
|
288
306
|
const checkpoint = createCheckpoint(root, {
|
|
289
307
|
summary: text(args.summary),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/docs/CLI.md
CHANGED
|
@@ -26,6 +26,25 @@ agentpack source remove docs/old-file.md
|
|
|
26
26
|
|
|
27
27
|
`source prune --missing` only removes records whose files no longer exist. `source remove <file>` removes one explicit source record.
|
|
28
28
|
|
|
29
|
+
## Task Passports
|
|
30
|
+
|
|
31
|
+
Task Passport support is the first step toward task-scoped handoffs. The current CLI can create and inspect a local passport under `.agentpack/tasks/`:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
agentpack task start "Add source cleanup commands" \
|
|
35
|
+
--objective "Let Agentpack remove stale source records safely" \
|
|
36
|
+
--write-scope src/operations.ts \
|
|
37
|
+
--write-scope src/cli/index.ts
|
|
38
|
+
agentpack task list
|
|
39
|
+
agentpack task passport
|
|
40
|
+
agentpack task audit
|
|
41
|
+
agentpack task block --reason "Waiting for API decision"
|
|
42
|
+
agentpack task verify
|
|
43
|
+
agentpack task close
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`task passport` prints the current `passport.json`. `task switch <id>` points the worktree at another open passport. `task audit` checks the current passport for stale source conclusions, branch/head drift, missing next actions, open verification, and closed-task anomalies. When a current passport exists, `resume` and MCP `load_context` include it above the repo-level ledger so agents can see the active task before broader history.
|
|
47
|
+
|
|
29
48
|
## Record Durable State
|
|
30
49
|
|
|
31
50
|
Use these commands sparingly. Agentpack is not an activity logger; record the context a future agent would actually need.
|
package/docs/MCP.md
CHANGED
|
@@ -25,6 +25,7 @@ The CLI exposes the same operations for setup, inspection, debugging, demos, and
|
|
|
25
25
|
- `attach_evidence`
|
|
26
26
|
- `record_source`
|
|
27
27
|
- `source_status`
|
|
28
|
+
- `task_audit`
|
|
28
29
|
- `checkpoint`
|
|
29
30
|
- `resume`
|
|
30
31
|
- `diff`
|
|
@@ -32,6 +33,8 @@ The CLI exposes the same operations for setup, inspection, debugging, demos, and
|
|
|
32
33
|
|
|
33
34
|
`load_context` and `resume` accept `query`, `budget`, and `preset`. When `query` is present, Agentpack filters Source Cache locally: matched sources keep full summaries/snippets, changed or missing source records are always shown in full, and unrelated unchanged sources remain visible as compact path/status/topic/guidance stubs. If nothing matches, Agentpack keeps the full Source Cache to avoid false-negative filtering. This saves tokens without hiding which recorded files exist.
|
|
34
35
|
|
|
36
|
+
`task_audit` checks the current Task Passport for continuity risks: missing or unreadable passport state, closed current task, missing next actions, open verification, missing write scope, branch/head drift, worktree mismatch, and changed or missing source records. Pass `{ "json": true }` for structured output.
|
|
37
|
+
|
|
35
38
|
## Smoke Test
|
|
36
39
|
|
|
37
40
|
In normal use, a client such as Codex, Claude Code, or Cursor starts `agentpack mcp`. For development, run the local smoke command:
|
|
@@ -55,6 +58,7 @@ The smoke test verifies:
|
|
|
55
58
|
- `tools/call record_decision`
|
|
56
59
|
- `tools/call record_source`
|
|
57
60
|
- `tools/call source_status`
|
|
61
|
+
- `tools/call task_audit`
|
|
58
62
|
- `tools/call resume`
|
|
59
63
|
- notification messages do not produce responses
|
|
60
64
|
|
package/docs/ROADMAP.md
CHANGED
|
@@ -7,6 +7,7 @@ Agentpack makes agent continuity native to the repo.
|
|
|
7
7
|
It is a neutral task passport for agentic workspaces: a compact, portable record of decisions, source conclusions, evidence, dead ends, checkpoints, and next actions that survives chat compaction, client switches, worktree handoffs, machines, branches, and orchestrators.
|
|
8
8
|
|
|
9
9
|
See [VISION.md](VISION.md) for the fuller strategic framing.
|
|
10
|
+
See [TASK-PASSPORT.md](TASK-PASSPORT.md) for the target Task Passport schema and state transitions.
|
|
10
11
|
|
|
11
12
|
## Product Principles
|
|
12
13
|
|
|
@@ -24,24 +25,28 @@ See [VISION.md](VISION.md) for the fuller strategic framing.
|
|
|
24
25
|
|
|
25
26
|
## State Model
|
|
26
27
|
|
|
27
|
-
Agentpack has
|
|
28
|
+
Agentpack has five layers:
|
|
28
29
|
|
|
29
30
|
1. Tool install: the `agentpack` binary is installed once on a developer machine.
|
|
30
31
|
2. Repo init: each repo gets its own local `.agentpack/` directory.
|
|
31
32
|
3. Repo source cache: inspected source conclusions and file hashes can be reused across tasks in the same repo.
|
|
32
|
-
4. Task
|
|
33
|
+
4. Task Passport: objective, constraints, write scope, status, decisions, dead ends, evidence, verification, checkpoints, and next actions belong to one coherent unit of work.
|
|
34
|
+
5. Role lanes: Scout, Builder, Reviewer, and Archivist can contribute to the current passport without creating separate tasks.
|
|
33
35
|
|
|
34
36
|
Agent sessions and web chats are transport surfaces. They should be able to resume, write, and hand off a task, but they are not first-class Agentpack state.
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
One active Task Passport owns the work in a repo worktree by default. Multiple passports can exist as closed history, parked work, or separate worktree handoffs, but Agentpack should not become a backlog manager or a code-conflict resolver.
|
|
39
|
+
|
|
40
|
+
Sharing passport state across machines or teammates is intentionally post-local-stability work. Prefer explicit sanitized export/import bundles before considering committed or synced shared state.
|
|
37
41
|
|
|
38
42
|
Target task UX:
|
|
39
43
|
|
|
40
44
|
```bash
|
|
41
45
|
agentpack init
|
|
42
|
-
agentpack task start "Claude Desktop MCP install"
|
|
46
|
+
agentpack task start "Claude Desktop MCP install" --write-scope src/integrations/install.ts --write-scope docs/INTEGRATIONS.md
|
|
43
47
|
agentpack task list
|
|
44
48
|
agentpack task switch claude-desktop-mcp-install
|
|
49
|
+
agentpack task passport
|
|
45
50
|
agentpack resume --preset agent
|
|
46
51
|
agentpack checkpoint -m "Desktop config tested"
|
|
47
52
|
agentpack task close
|
|
@@ -56,14 +61,38 @@ Target file shape:
|
|
|
56
61
|
tasks/
|
|
57
62
|
current
|
|
58
63
|
claude-desktop-mcp-install/
|
|
59
|
-
|
|
64
|
+
passport.json
|
|
60
65
|
events.jsonl
|
|
61
66
|
checkpoints/
|
|
62
67
|
evidence/
|
|
63
68
|
exports/
|
|
64
69
|
```
|
|
65
70
|
|
|
66
|
-
This keeps source knowledge reusable across a repo while preventing unrelated
|
|
71
|
+
This keeps source knowledge reusable across a repo while preventing unrelated work from mixing decisions, dead ends, and next actions. If another open passport claims overlapping write scope, Agentpack should warn and point the user toward reusing the current passport, parking one task, or moving work into a separate worktree.
|
|
72
|
+
|
|
73
|
+
Target consistency checks:
|
|
74
|
+
|
|
75
|
+
- current passport branch/head/worktree are visible in context
|
|
76
|
+
- source conclusions are validated by file hash
|
|
77
|
+
- write-scope overlap is detected before new work starts
|
|
78
|
+
- role lanes are advisory and scoped; Scout/Reviewer are read-oriented, Builder claims writes, Archivist records durable handoff state
|
|
79
|
+
- checkpoints remain append-only snapshots for recovery and handoff
|
|
80
|
+
|
|
81
|
+
## Dogfood Success Metrics
|
|
82
|
+
|
|
83
|
+
Agentpack should prove itself first in this repo. Measure whether it reduces repeated work and handoff friction while keeping the ledger compact.
|
|
84
|
+
|
|
85
|
+
Useful signals:
|
|
86
|
+
|
|
87
|
+
- resume usefulness: a fresh agent can explain the current task, constraints, relevant files, risks, and next action after `load_context` or `resume`
|
|
88
|
+
- re-read avoidance: unchanged source conclusions let agents skip re-opening files unless the task requires fresh inspection
|
|
89
|
+
- dead-end avoidance: recorded failed approaches are not repeated in later sessions
|
|
90
|
+
- handoff time: a new agent can continue meaningful work within a few minutes after context load
|
|
91
|
+
- verification quality: important changes have evidence, test output, or explicit reasoning attached before checkpoint
|
|
92
|
+
- ledger health: `agentpack doctor` reports zero changed or missing source records before release-like handoff
|
|
93
|
+
- overhead: recording useful state stays lightweight enough that it does not interrupt normal coding flow
|
|
94
|
+
|
|
95
|
+
The target is reliable continuation of the work that was worth preserving.
|
|
67
96
|
|
|
68
97
|
## v0.1: Usable Manual CLI
|
|
69
98
|
|
|
@@ -117,7 +146,10 @@ Demo story:
|
|
|
117
146
|
- Stable `.agentpack/` schema.
|
|
118
147
|
- Stable CLI.
|
|
119
148
|
- Stable MCP tools.
|
|
120
|
-
- Task
|
|
149
|
+
- Task Passport schema and one-current-passport workflow.
|
|
150
|
+
- Workstream separation for parked work, history, and worktree handoffs.
|
|
151
|
+
- Lightweight role lanes for Scout, Builder, Reviewer, and Archivist.
|
|
152
|
+
- Write-scope and stale-state warnings.
|
|
121
153
|
- Security model documented.
|
|
122
154
|
- npm publish as `agentpack-cli`.
|
|
123
155
|
- Good demo and examples.
|