@agent-plan/core 0.4.7 → 0.4.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/dist/plan-store.d.ts +12 -0
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +136 -1
- package/dist/session-focus.d.ts +3 -1
- package/dist/session-focus.d.ts.map +1 -1
- package/dist/session-focus.js +7 -0
- package/dist/task-selection.d.ts +1 -0
- package/dist/task-selection.d.ts.map +1 -1
- package/dist/task-selection.js +34 -6
- package/dist/task-start-outcome.d.ts +1 -1
- package/dist/task-start-outcome.d.ts.map +1 -1
- package/dist/task-start-outcome.js +1 -0
- package/package.json +1 -1
- package/planner-skill.md +7 -0
package/dist/plan-store.d.ts
CHANGED
|
@@ -562,6 +562,18 @@ export declare class PlanStore {
|
|
|
562
562
|
createAcceptedDecision(owner: AcceptedDecisionOwner, input: AcceptedDecisionCreateInput, acceptedAt?: string): Promise<AcceptedDecision>;
|
|
563
563
|
updateAcceptedDecision(owner: AcceptedDecisionOwner, decisionId: string, input: AcceptedDecisionUpdateInput): Promise<AcceptedDecision>;
|
|
564
564
|
deleteAcceptedDecision(owner: AcceptedDecisionOwner, decisionId: string): Promise<AcceptedDecision>;
|
|
565
|
+
/** Record the local process behind an opaque harness session for explicit recovery. */
|
|
566
|
+
registerSession(sessionId: string): Promise<void>;
|
|
567
|
+
/** Claim/start against canonical state under the root lock, never overwrite another owner. */
|
|
568
|
+
claimTask(phaseId: string, taskId: string, ownerSessionId: string, timestamp?: string): Promise<{
|
|
569
|
+
task: Task;
|
|
570
|
+
alreadyStarted: boolean;
|
|
571
|
+
}>;
|
|
572
|
+
/** Explicitly transfer a stopped caller's whole focus/return stack without changing lifecycle state. */
|
|
573
|
+
recoverSessionForTask(phaseId: string, taskId: string, sessionId: string, confirmed: boolean): Promise<{
|
|
574
|
+
taskIds: string[];
|
|
575
|
+
deviationIds: string[];
|
|
576
|
+
}>;
|
|
565
577
|
/** Save a durable resume checkpoint without introducing a separate canonical task status. */
|
|
566
578
|
pauseTask(phaseId: string, taskId: string, input: TaskPauseSnapshot): Promise<Task>;
|
|
567
579
|
/** Resume a checkpointed task without resetting its original startedAt. */
|
package/dist/plan-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-store.d.ts","sourceRoot":"","sources":["../src/plan-store.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-store.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { access, copyFile, lstat, mkdir, readdir, readFile, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
|
|
2
2
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { hostname } from "node:os";
|
|
4
5
|
import { z, ZodError } from "zod";
|
|
5
6
|
/** Canonical `.planner/.gitignore` content (P042 spec): ignore the `.local/`
|
|
6
7
|
* transient root, legacy `*.bak` crash backups, `*.tmp.*` atomic-write temp
|
|
@@ -15,7 +16,7 @@ const PLANNER_GITIGNORE = [
|
|
|
15
16
|
"",
|
|
16
17
|
].join("\n");
|
|
17
18
|
import { CodebaseProfileSchema, FeatureSchema, FeaturesDocumentSchema, FeatureDeletionTombstonesSchema, ManifestSchema, PhaseSchema, TaskSchema, TaskPauseSnapshotSchema, ProjectSchema, AcceptedDecisionSchema, RequirementSchema, RequirementsDocumentSchema, IdeaSchema, IdeasDocumentSchema, ResumeFocusSchema, ActivityLogSchema, TimestampSchema, WorkDeviationSchema, ResumeSessionsSchema, } from "./schema.js";
|
|
18
|
-
import { deviationsForSession, pruneResumeSessions } from "./session-focus.js";
|
|
19
|
+
import { deviationsForSession, pruneResumeSessions, taskOwnershipConflict } from "./session-focus.js";
|
|
19
20
|
import { createFeatureId, createIdeaId, createPhaseId, createRequirementId, createShortId, createStatusLogEntryId, createTaskId, formatFeatureRef, formatIdeaRef, formatPhaseRef, formatThreeDigitNumber, isLegacyPhaseId } from "./naming.js";
|
|
20
21
|
import { deriveParentDisplay, fromCanonicalStatus } from "./display-status.js";
|
|
21
22
|
import { buildHierarchicalDescriptionFreshness } from "./description-freshness.js";
|
|
@@ -3099,6 +3100,137 @@ export class PlanStore {
|
|
|
3099
3100
|
});
|
|
3100
3101
|
return deleted;
|
|
3101
3102
|
}
|
|
3103
|
+
/** Record the local process behind an opaque harness session for explicit recovery. */
|
|
3104
|
+
async registerSession(sessionId) {
|
|
3105
|
+
if (!sessionId.trim())
|
|
3106
|
+
throw new PlanStoreError("Session identity must not be empty.");
|
|
3107
|
+
const path = join(this.localRoot(), "sessions", `${Buffer.from(sessionId).toString("base64url")}.json`);
|
|
3108
|
+
await mkdir(dirname(path), { recursive: true });
|
|
3109
|
+
await atomicWriteJson(path, { pid: process.pid, hostname: hostname() }, this.root);
|
|
3110
|
+
}
|
|
3111
|
+
/** Claim/start against canonical state under the root lock, never overwrite another owner. */
|
|
3112
|
+
async claimTask(phaseId, taskId, ownerSessionId, timestamp = nowISO()) {
|
|
3113
|
+
return this.runBatch(async () => {
|
|
3114
|
+
const phases = await this.loadAllPhases();
|
|
3115
|
+
const task = phases.find((phase) => phase.id === phaseId)?.tasks.find((entry) => entry.id === taskId);
|
|
3116
|
+
if (!task)
|
|
3117
|
+
throw new PlanStoreError("Task not found.", undefined, { errorCode: "TASK_NOT_FOUND", taskId });
|
|
3118
|
+
const owner = ownerSessionId.trim();
|
|
3119
|
+
if (taskOwnershipConflict(task, await this.listAllWorkDeviations(), owner)) {
|
|
3120
|
+
throw new PlanStoreError("Task belongs to another session. Use explicit session recovery after its owner has stopped.", undefined, { errorCode: "TASK_OWNED_BY_ANOTHER_SESSION", taskId });
|
|
3121
|
+
}
|
|
3122
|
+
const anotherActive = phases.flatMap((phase) => phase.tasks).find((entry) => entry.id !== taskId && entry.status === "in-progress" && (!owner || entry.activeOwnerSession === owner));
|
|
3123
|
+
if (anotherActive)
|
|
3124
|
+
throw new PlanStoreError("This session already owns another active task.", undefined, { errorCode: "ACTIVE_TASK_CONFLICT", taskId });
|
|
3125
|
+
if (task.status === "done" || task.status === "canceled" || task.status === "rejected") {
|
|
3126
|
+
throw new PlanStoreError(`Task cannot be started from ${task.status}.`, undefined, { errorCode: task.status === "done" ? "TASK_DONE" : "START_NOT_ALLOWED", taskId });
|
|
3127
|
+
}
|
|
3128
|
+
const alreadyStarted = task.status === "in-progress";
|
|
3129
|
+
if (alreadyStarted && task.activeOwnerSession === owner)
|
|
3130
|
+
return { task, alreadyStarted };
|
|
3131
|
+
let claimed;
|
|
3132
|
+
if (task.pauseSnapshot) {
|
|
3133
|
+
claimed = await this.resumeTask(phaseId, taskId, timestamp, owner);
|
|
3134
|
+
}
|
|
3135
|
+
else {
|
|
3136
|
+
claimed = (await this.updateTask(phaseId, taskId, (current) => ({
|
|
3137
|
+
...current, status: "in-progress", activeOwnerSession: owner,
|
|
3138
|
+
startedAt: current.startedAt || timestamp, updatedAt: timestamp,
|
|
3139
|
+
statusLog: alreadyStarted ? current.statusLog : [...current.statusLog, {
|
|
3140
|
+
id: createStatusLogEntryId(), date: timestamp, fromStatus: current.status, toStatus: "in-progress",
|
|
3141
|
+
title: `${current.status} → in-progress`, description: "",
|
|
3142
|
+
}],
|
|
3143
|
+
}))).task;
|
|
3144
|
+
}
|
|
3145
|
+
const persisted = (await this.loadPhase(phaseId)).tasks.find((entry) => entry.id === taskId);
|
|
3146
|
+
if (persisted?.status !== "in-progress" || persisted.activeOwnerSession !== owner) {
|
|
3147
|
+
throw new PlanStoreError("Task ownership persistence verification failed.", undefined, { errorCode: "PERSISTENCE_VERIFICATION_FAILED", taskId });
|
|
3148
|
+
}
|
|
3149
|
+
return { task: claimed, alreadyStarted };
|
|
3150
|
+
});
|
|
3151
|
+
}
|
|
3152
|
+
/** Explicitly transfer a stopped caller's whole focus/return stack without changing lifecycle state. */
|
|
3153
|
+
async recoverSessionForTask(phaseId, taskId, sessionId, confirmed) {
|
|
3154
|
+
if (!confirmed)
|
|
3155
|
+
throw new PlanStoreError("Confirm that the previous caller has stopped before recovering its work.", undefined, { errorCode: "SESSION_RECOVERY_CONFIRMATION_REQUIRED" });
|
|
3156
|
+
if (!sessionId.trim())
|
|
3157
|
+
throw new PlanStoreError("Recovery requires a caller session.");
|
|
3158
|
+
return this.runBatch(async () => {
|
|
3159
|
+
const phases = await this.loadAllPhases();
|
|
3160
|
+
const task = phases.find((phase) => phase.id === phaseId)?.tasks.find((entry) => entry.id === taskId);
|
|
3161
|
+
if (!task)
|
|
3162
|
+
throw new PlanStoreError("Task not found.", undefined, { errorCode: "TASK_NOT_FOUND" });
|
|
3163
|
+
const deviations = await this.listAllWorkDeviations();
|
|
3164
|
+
const pending = deviations.filter((entry) => entry.state !== "resumed" && entry.state !== "canceled");
|
|
3165
|
+
const owners = new Set([task.activeOwnerSession, ...pending
|
|
3166
|
+
.filter((entry) => entry.resumeTaskId === taskId || entry.temporaryTaskId === taskId)
|
|
3167
|
+
.map((entry) => entry.ownerSession)].filter(Boolean));
|
|
3168
|
+
if (owners.size !== 1)
|
|
3169
|
+
throw new PlanStoreError("The task does not identify one recoverable session.", undefined, { errorCode: "SESSION_RECOVERY_AMBIGUOUS" });
|
|
3170
|
+
const previous = [...owners][0];
|
|
3171
|
+
if (previous === sessionId)
|
|
3172
|
+
return { taskIds: [], deviationIds: [] };
|
|
3173
|
+
const ownerPath = join(this.localRoot(), "sessions", `${Buffer.from(previous).toString("base64url")}.json`);
|
|
3174
|
+
let ownerRecord;
|
|
3175
|
+
try {
|
|
3176
|
+
ownerRecord = await readJson(ownerPath, z.object({ pid: z.number().int().positive(), hostname: z.string().min(1) }));
|
|
3177
|
+
}
|
|
3178
|
+
catch (error) {
|
|
3179
|
+
if (!(error instanceof PlanStoreError) || error.cause?.code !== "ENOENT")
|
|
3180
|
+
throw error;
|
|
3181
|
+
}
|
|
3182
|
+
if (ownerRecord) {
|
|
3183
|
+
if (ownerRecord.hostname !== hostname())
|
|
3184
|
+
throw new PlanStoreError("The previous process is on another host; its exit cannot be verified.", undefined, { errorCode: "SESSION_OWNER_UNVERIFIED" });
|
|
3185
|
+
let alive = true;
|
|
3186
|
+
try {
|
|
3187
|
+
process.kill(ownerRecord.pid, 0);
|
|
3188
|
+
}
|
|
3189
|
+
catch (error) {
|
|
3190
|
+
if (error.code === "ESRCH")
|
|
3191
|
+
alive = false;
|
|
3192
|
+
}
|
|
3193
|
+
if (alive)
|
|
3194
|
+
throw new PlanStoreError("The previous session process is still active.", undefined, { errorCode: "SESSION_OWNER_ACTIVE" });
|
|
3195
|
+
}
|
|
3196
|
+
if (phases.some((phase) => phase.tasks.some((entry) => entry.activeOwnerSession === sessionId))
|
|
3197
|
+
|| pending.some((entry) => entry.ownerSession === sessionId)) {
|
|
3198
|
+
throw new PlanStoreError("The caller already has work; recover into a fresh connection.", undefined, { errorCode: "SESSION_RECOVERY_CONFLICT" });
|
|
3199
|
+
}
|
|
3200
|
+
const oldSessions = await this.loadResumeSessions();
|
|
3201
|
+
const previousFocus = oldSessions[previous] ?? await this.loadResume(previous);
|
|
3202
|
+
const taskIds = phases.flatMap((phase) => phase.tasks.filter((entry) => entry.activeOwnerSession === previous).map((entry) => entry.id));
|
|
3203
|
+
const deviationIds = deviations.filter((entry) => entry.ownerSession === previous).map((entry) => entry.id);
|
|
3204
|
+
const changedPhases = phases.filter((phase) => phase.tasks.some((entry) => entry.activeOwnerSession === previous));
|
|
3205
|
+
try {
|
|
3206
|
+
for (const phase of changedPhases)
|
|
3207
|
+
await this.updatePhase(phase.id, (current) => ({ ...current, tasks: current.tasks.map((entry) => entry.activeOwnerSession === previous ? { ...entry, activeOwnerSession: sessionId } : entry) }));
|
|
3208
|
+
await this.saveWorkDeviations(deviations.map((entry) => entry.ownerSession === previous ? { ...entry, ownerSession: sessionId } : entry));
|
|
3209
|
+
await this.updateResumeSessions((sessions) => {
|
|
3210
|
+
const next = { ...sessions };
|
|
3211
|
+
delete next[previous];
|
|
3212
|
+
if (previousFocus)
|
|
3213
|
+
next[sessionId] = { ...previousFocus, guardBypassUntil: "" };
|
|
3214
|
+
return next;
|
|
3215
|
+
});
|
|
3216
|
+
await this.refreshResume(undefined, undefined, sessionId);
|
|
3217
|
+
const recoveredTasks = (await this.loadAllPhases()).flatMap((phase) => phase.tasks);
|
|
3218
|
+
const recoveredDeviations = await this.listAllWorkDeviations();
|
|
3219
|
+
if (taskIds.some((id) => recoveredTasks.find((entry) => entry.id === id)?.activeOwnerSession !== sessionId)
|
|
3220
|
+
|| deviationIds.some((id) => recoveredDeviations.find((entry) => entry.id === id)?.ownerSession !== sessionId)) {
|
|
3221
|
+
throw new PlanStoreError("Session recovery persistence verification failed.", undefined, { errorCode: "SESSION_RECOVERY_VERIFICATION_FAILED" });
|
|
3222
|
+
}
|
|
3223
|
+
}
|
|
3224
|
+
catch (error) {
|
|
3225
|
+
for (const phase of changedPhases)
|
|
3226
|
+
await this.updatePhase(phase.id, () => phase);
|
|
3227
|
+
await this.saveWorkDeviations(deviations);
|
|
3228
|
+
await this.updateResumeSessions(() => oldSessions);
|
|
3229
|
+
throw error;
|
|
3230
|
+
}
|
|
3231
|
+
return { taskIds, deviationIds };
|
|
3232
|
+
});
|
|
3233
|
+
}
|
|
3102
3234
|
/** Save a durable resume checkpoint without introducing a separate canonical task status. */
|
|
3103
3235
|
async pauseTask(phaseId, taskId, input) {
|
|
3104
3236
|
const snapshot = TaskPauseSnapshotSchema.parse(input);
|
|
@@ -3150,6 +3282,9 @@ export class PlanStore {
|
|
|
3150
3282
|
if (task.status === "done" || task.status === "canceled" || task.status === "rejected") {
|
|
3151
3283
|
throw new PlanStoreError(`Task ${taskId} cannot be resumed from ${task.status}.`);
|
|
3152
3284
|
}
|
|
3285
|
+
if (task.activeOwnerSession && ownerSessionId.trim() !== task.activeOwnerSession) {
|
|
3286
|
+
throw new PlanStoreError("Task belongs to another session.", undefined, { errorCode: "TASK_OWNED_BY_ANOTHER_SESSION", taskId });
|
|
3287
|
+
}
|
|
3153
3288
|
const snapshot = task.pauseSnapshot;
|
|
3154
3289
|
resumed = {
|
|
3155
3290
|
...task,
|
package/dist/session-focus.d.ts
CHANGED
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
* A caller with no session id (the web UI, scripts) sees the whole project, as
|
|
12
12
|
* before.
|
|
13
13
|
*/
|
|
14
|
-
import type { ResumeSessions, WorkDeviation } from "./schema.js";
|
|
14
|
+
import type { ResumeSessions, WorkDeviation, Task } from "./schema.js";
|
|
15
|
+
/** Ownership includes a live return-stack reservation, even while a task is paused. */
|
|
16
|
+
export declare function taskOwnershipConflict(task: Pick<Task, "id" | "activeOwnerSession">, deviations: readonly WorkDeviation[], sessionId: string): boolean;
|
|
15
17
|
/** How many per-session resume entries are kept; the least recently updated are dropped. */
|
|
16
18
|
export declare const RESUME_SESSION_LIMIT = 20;
|
|
17
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-focus.d.ts","sourceRoot":"","sources":["../src/session-focus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session-focus.d.ts","sourceRoot":"","sources":["../src/session-focus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEvE,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAKrJ;AAED,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAChF,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,CAAC,EAAE,CAGL;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,GAAE,MAA6B,GAAG,cAAc,CAKlH"}
|
package/dist/session-focus.js
CHANGED
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
* A caller with no session id (the web UI, scripts) sees the whole project, as
|
|
12
12
|
* before.
|
|
13
13
|
*/
|
|
14
|
+
/** Ownership includes a live return-stack reservation, even while a task is paused. */
|
|
15
|
+
export function taskOwnershipConflict(task, deviations, sessionId) {
|
|
16
|
+
return Boolean(task.activeOwnerSession && task.activeOwnerSession !== sessionId)
|
|
17
|
+
|| deviations.some((entry) => entry.ownerSession !== "" && entry.ownerSession !== sessionId
|
|
18
|
+
&& entry.state !== "resumed" && entry.state !== "canceled"
|
|
19
|
+
&& (entry.resumeTaskId === task.id || entry.temporaryTaskId === task.id));
|
|
20
|
+
}
|
|
14
21
|
/** How many per-session resume entries are kept; the least recently updated are dropped. */
|
|
15
22
|
export const RESUME_SESSION_LIMIT = 20;
|
|
16
23
|
/**
|
package/dist/task-selection.d.ts
CHANGED
|
@@ -64,6 +64,7 @@ export interface ExplicitTaskStartEligibility {
|
|
|
64
64
|
eligible: boolean;
|
|
65
65
|
reason: string;
|
|
66
66
|
}
|
|
67
|
+
export declare function isStartableTaskStatus(status: string): boolean;
|
|
67
68
|
/**
|
|
68
69
|
* Validate an explicitly requested task start. Priority and existing active
|
|
69
70
|
* work remain advisory for explicit user choices; availability and dependency
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-selection.d.ts","sourceRoot":"","sources":["../src/task-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAClG,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE1J,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,yBAAyB,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC3C,gBAAgB,CAAC,EAAE,qCAAqC,EAAE,CAAC;CAC5D;AAED,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC;IACnC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"task-selection.d.ts","sourceRoot":"","sources":["../src/task-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAClG,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE1J,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,yBAAyB,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC3C,gBAAgB,CAAC,EAAE,qCAAqC,EAAE,CAAC;CAC5D;AAED,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,aAAa,EAAE,CAAC;IACnC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AA6ID,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAgBD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,aAAa,EAAO,GAC/B,4BAA4B,CA6B9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,GAAE,aAAa,EAAO,EAChC,cAAc,SAAK,EACnB,SAAS,SAAK,GACb,kBAAkB,CA8GpB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,KAAK,EAAE,EACf,UAAU,GAAE,aAAa,EAAO,EAChC,cAAc,SAAK,EACnB,SAAS,SAAK,EACd,QAAQ,GAAE,sBAA2B,GACpC,sBAAsB,CAgCxB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;KACzC,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACzC,GAAG,sBAAsB,CAuBzB"}
|
package/dist/task-selection.js
CHANGED
|
@@ -116,6 +116,29 @@ const buildRecommendationClaims = (selection, evidence = {}, dependencyReadyCand
|
|
|
116
116
|
}
|
|
117
117
|
return claims.slice(0, RECOMMENDATION_CLAIM_LIMIT);
|
|
118
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Statuses a task can be started from directly. `planned` is ordinary work.
|
|
121
|
+
* `waiting`, `blocked` and `deferred` are parked work: the planner already
|
|
122
|
+
* tracks it as on hold and flags it "may be ready" (on-hold.ts), so starting it
|
|
123
|
+
* must be possible without first editing its status.
|
|
124
|
+
*/
|
|
125
|
+
const PARKED_TASK_STATUSES = new Set(["waiting", "blocked", "deferred"]);
|
|
126
|
+
export function isStartableTaskStatus(status) {
|
|
127
|
+
return status === "planned" || PARKED_TASK_STATUSES.has(status);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Why a task in this status cannot be started, and the exact way out. Every
|
|
131
|
+
* adapter shows this text, so it is worded once, here.
|
|
132
|
+
*/
|
|
133
|
+
function startRefusalReason(status) {
|
|
134
|
+
if (status === "done") {
|
|
135
|
+
return "Task is done. Reopen it with planner-task-reopen (explicit confirmation) to work on it again.";
|
|
136
|
+
}
|
|
137
|
+
if (status === "canceled" || status === "rejected") {
|
|
138
|
+
return `Task is ${status}, which was a deliberate decision. To work on it again, set it to planned with a motivation (planner-task-update status=planned), then start it.`;
|
|
139
|
+
}
|
|
140
|
+
return `Task is not startable from ${status}.`;
|
|
141
|
+
}
|
|
119
142
|
/**
|
|
120
143
|
* Validate an explicitly requested task start. Priority and existing active
|
|
121
144
|
* work remain advisory for explicit user choices; availability and dependency
|
|
@@ -129,12 +152,17 @@ export function checkExplicitTaskStart(features, phases, taskId, deviations = []
|
|
|
129
152
|
return { eligible: false, reason: "Requested task no longer exists." };
|
|
130
153
|
const isTemporaryOverride = deviations.some((deviation) => (deviation.state === "approved" || deviation.state === "active")
|
|
131
154
|
&& deviation.temporaryTaskId === taskId);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
155
|
+
if (!isStartableTaskStatus(candidate.task.status))
|
|
156
|
+
return { eligible: false, reason: startRefusalReason(candidate.task.status) };
|
|
157
|
+
// A phase or feature status is derived from its children. When every open task is
|
|
158
|
+
// parked, the parent derives blocked or deferred from those very tasks, so it must not
|
|
159
|
+
// refuse to start one of them (that would make parked work impossible to resume).
|
|
160
|
+
// canceled and rejected parents cannot be derived while a parked child is open.
|
|
161
|
+
const isParkedCandidate = PARKED_TASK_STATUSES.has(candidate.task.status);
|
|
162
|
+
const blocksStart = (parentStatus) => hardUnavailable.has(parentStatus)
|
|
163
|
+
&& !(isParkedCandidate && (parentStatus === "blocked" || parentStatus === "deferred"));
|
|
164
|
+
const parentHasHardBlock = blocksStart(candidate.phase.status)
|
|
165
|
+
|| (candidate.feature && blocksStart(candidate.feature.status));
|
|
138
166
|
if (parentHasHardBlock) {
|
|
139
167
|
return { eligible: false, reason: "Task belongs to an unavailable phase or feature." };
|
|
140
168
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContextReadEligibility, ProjectGuidelinesReadState, RequiredContextRead } from "./read-tracking.js";
|
|
2
|
-
export declare const TASK_START_ERROR_CODES: readonly ["PLAN_NOT_FOUND", "TASK_NOT_FOUND", "TASK_DONE", "PROJECT_GUIDELINES_READ_REQUIRED", "CONTEXT_READ_REQUIRED", "REQUIREMENTS_READ_REQUIRED", "START_NOT_ALLOWED", "ACTIVE_TASK_CONFLICT", "PERSISTENCE_VERIFICATION_FAILED"];
|
|
2
|
+
export declare const TASK_START_ERROR_CODES: readonly ["PLAN_NOT_FOUND", "TASK_NOT_FOUND", "TASK_DONE", "TASK_OWNED_BY_ANOTHER_SESSION", "PROJECT_GUIDELINES_READ_REQUIRED", "CONTEXT_READ_REQUIRED", "REQUIREMENTS_READ_REQUIRED", "START_NOT_ALLOWED", "ACTIVE_TASK_CONFLICT", "PERSISTENCE_VERIFICATION_FAILED"];
|
|
3
3
|
export type TaskStartErrorCode = (typeof TASK_START_ERROR_CODES)[number];
|
|
4
4
|
export interface TaskStartDeniedOutcome {
|
|
5
5
|
started: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-start-outcome.d.ts","sourceRoot":"","sources":["../src/task-start-outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"task-start-outcome.d.ts","sourceRoot":"","sources":["../src/task-start-outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElH,eAAO,MAAM,sBAAsB,wQAWzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,yBAAyB,CAAC;AAElF,wBAAgB,eAAe,CAC7B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC3D,sBAAsB,CASxB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,yBAAyB,CAEpG;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,sBAAsB,EAC1C,sBAAsB,EAAE,sBAAsB,EAC9C,0BAA0B,EAAE,0BAA0B,GACrD,kBAAkB,CASpB;AAED,4FAA4F;AAC5F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAWvE"}
|
package/package.json
CHANGED
package/planner-skill.md
CHANGED
|
@@ -78,6 +78,9 @@ A decision has exactly one owner: the project when it is project-wide, a feature
|
|
|
78
78
|
|
|
79
79
|
## Task execution
|
|
80
80
|
|
|
81
|
+
- Task start claims ownership atomically; `started: true` for already-active work applies only to the owning caller. Another caller receives `TASK_OWNED_BY_ANOTHER_SESSION`.
|
|
82
|
+
- A stdio MCP restart creates a fresh caller. After explicitly confirming the old caller has stopped, use `planner-session-recover` (`task`, `confirmed=true`) or Pi `session_recover` (`taskId`, `confirmed=true`) with its old active task or a pending return task. This transfers the complete owned work, return stack and focus without changing task statuses/checkpoints. Registered live processes and callers already owning work are refused; older sessions without process records rely on that explicit confirmation. Then reread context and start normally. Never invent client-side owner-ID mappings or recover another live caller.
|
|
83
|
+
|
|
81
84
|
- Create rich feature, phase, and task descriptions with current state, concrete goals, relevant systems, file/symbol references, behaviors to preserve, and edge cases.
|
|
82
85
|
- Use one task with checklist items for implementation steps. Do not create child tasks merely to scatter the same execution context.
|
|
83
86
|
- Add, remove, and toggle checklist items granularly. Do not encode completion by adding `DONE` to checklist titles.
|
|
@@ -211,6 +214,8 @@ Pause, switch, deviation, requirement, and decision operations are available thr
|
|
|
211
214
|
|
|
212
215
|
## MCP tool inventory
|
|
213
216
|
|
|
217
|
+
- Session recovery: `planner-session-recover`.
|
|
218
|
+
|
|
214
219
|
The MCP adapter publishes these tools:
|
|
215
220
|
|
|
216
221
|
- Core: `planner-version`, `planner-init`, `planner-show`, `planner-description-freshness`, `planner-repair`, `planner-cleanup-orphan-phases`, `planner-export`, `planner-authorize-bypass`, `planner-clear-bypass`, `planner-load`, `planner-disable`, `planner-web`.
|
|
@@ -223,6 +228,8 @@ The MCP adapter publishes these tools:
|
|
|
223
228
|
|
|
224
229
|
## Pi tool inventory
|
|
225
230
|
|
|
231
|
+
- Session recovery: `session_recover`.
|
|
232
|
+
|
|
226
233
|
The Pi adapter registers these tools:
|
|
227
234
|
|
|
228
235
|
- Ideas: `idea_list`, `idea_show`, `idea_create`, `idea_update`, `idea_delete`, `idea_promotion_begin`, `idea_promotion_finalize`.
|