@agent-plan/core 0.2.26 → 0.2.28

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.
Files changed (47) hide show
  1. package/dist/description-freshness.d.ts +37 -0
  2. package/dist/description-freshness.d.ts.map +1 -0
  3. package/dist/description-freshness.js +84 -0
  4. package/dist/handoff-context.d.ts +135 -3
  5. package/dist/handoff-context.d.ts.map +1 -1
  6. package/dist/handoff-context.js +336 -25
  7. package/dist/index.d.ts +4 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4 -1
  10. package/dist/package-version.d.ts +2 -0
  11. package/dist/package-version.d.ts.map +1 -1
  12. package/dist/package-version.js +1 -1
  13. package/dist/payload-fallback.d.ts +1 -1
  14. package/dist/payload-fallback.d.ts.map +1 -1
  15. package/dist/payload-fallback.js +6 -0
  16. package/dist/plan-store.d.ts +129 -30
  17. package/dist/plan-store.d.ts.map +1 -1
  18. package/dist/plan-store.js +690 -115
  19. package/dist/planner-rules.d.ts.map +1 -1
  20. package/dist/planner-rules.js +6 -2
  21. package/dist/read-tracking.d.ts +27 -3
  22. package/dist/read-tracking.d.ts.map +1 -1
  23. package/dist/read-tracking.js +53 -4
  24. package/dist/recap.d.ts.map +1 -1
  25. package/dist/recap.js +33 -9
  26. package/dist/renderer.d.ts.map +1 -1
  27. package/dist/renderer.js +0 -1
  28. package/dist/requirement-macro-tasks.d.ts +2 -2
  29. package/dist/requirement-macro-tasks.d.ts.map +1 -1
  30. package/dist/requirement-macro-tasks.js +2 -2
  31. package/dist/runtime-diagnostics.d.ts +34 -0
  32. package/dist/runtime-diagnostics.d.ts.map +1 -0
  33. package/dist/runtime-diagnostics.js +39 -0
  34. package/dist/schema.d.ts +487 -17
  35. package/dist/schema.d.ts.map +1 -1
  36. package/dist/schema.js +24 -4
  37. package/dist/task-context.d.ts +41 -2
  38. package/dist/task-context.d.ts.map +1 -1
  39. package/dist/task-context.js +102 -4
  40. package/dist/task-selection.d.ts +44 -1
  41. package/dist/task-selection.d.ts.map +1 -1
  42. package/dist/task-selection.js +158 -7
  43. package/dist/write-coordination.d.ts +27 -0
  44. package/dist/write-coordination.d.ts.map +1 -0
  45. package/dist/write-coordination.js +223 -0
  46. package/package.json +1 -1
  47. package/planner-skill.md +36 -20
@@ -0,0 +1,37 @@
1
+ import type { Feature, Phase } from "./schema.js";
2
+ export type DescriptionFreshnessOwnerKind = "feature" | "phase";
3
+ export type DescriptionFreshnessChildKind = "phase" | "task";
4
+ export interface DescriptionFreshnessDiagnostic {
5
+ ownerKind: DescriptionFreshnessOwnerKind;
6
+ ownerId: string;
7
+ ownerRef: string;
8
+ state: "fresh" | "stale";
9
+ ownerDescriptionUpdatedAt: string;
10
+ newestChildKind: DescriptionFreshnessChildKind | null;
11
+ newestChildId: string;
12
+ newestChildRef: string;
13
+ newestChildDescriptionUpdatedAt: string;
14
+ reason: string;
15
+ }
16
+ export interface DescriptionReconciliationStep {
17
+ ownerKind: DescriptionFreshnessOwnerKind;
18
+ ownerId: string;
19
+ ownerRef: string;
20
+ causedByRef: string;
21
+ reason: string;
22
+ action: string;
23
+ }
24
+ export interface HierarchicalDescriptionFreshness {
25
+ diagnostics: DescriptionFreshnessDiagnostic[];
26
+ staleParentRefs: string[];
27
+ reconciliationRequired: boolean;
28
+ reconciliationPreview: DescriptionReconciliationStep[];
29
+ }
30
+ /**
31
+ * Compute child-to-parent description freshness without mutating user-authored
32
+ * prose. Reconciliation is intentionally leaf-to-root: stale phases first,
33
+ * then their owning features.
34
+ */
35
+ export declare function buildHierarchicalDescriptionFreshness(features: Feature[], phases: Phase[]): HierarchicalDescriptionFreshness;
36
+ export declare function freshnessForOwner(freshness: HierarchicalDescriptionFreshness, ownerKind: DescriptionFreshnessOwnerKind, ownerId: string): DescriptionFreshnessDiagnostic | undefined;
37
+ //# sourceMappingURL=description-freshness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-freshness.d.ts","sourceRoot":"","sources":["../src/description-freshness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAQ,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAAC;AAChE,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7D,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,6BAA6B,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,6BAA6B,GAAG,IAAI,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B,EAAE,MAAM,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,6BAA6B,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC9C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAE,6BAA6B,EAAE,CAAC;CACxD;AA2DD;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,KAAK,EAAE,GACd,gCAAgC,CA0ClC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gCAAgC,EAC3C,SAAS,EAAE,6BAA6B,EACxC,OAAO,EAAE,MAAM,GACd,8BAA8B,GAAG,SAAS,CAE5C"}
@@ -0,0 +1,84 @@
1
+ import { formatFeatureRef, formatPhaseRef } from "./naming.js";
2
+ function descriptionRevision(entity) {
3
+ if (!entity.description.trim() && !entity.descriptionRef?.trim())
4
+ return "";
5
+ return entity.descriptionUpdatedAt?.trim() || entity.createdAt;
6
+ }
7
+ function taskRef(task, phase, featureNumber) {
8
+ return `${formatPhaseRef(phase.number, featureNumber)}/T${String(task.number).padStart(3, "0")}`;
9
+ }
10
+ function newestChild(candidates) {
11
+ return candidates
12
+ .filter((candidate) => candidate.revision)
13
+ .sort((left, right) => right.revision.localeCompare(left.revision) || left.ref.localeCompare(right.ref))[0] ?? null;
14
+ }
15
+ function diagnostic(ownerKind, owner, ownerRef, child) {
16
+ const ownerRevision = descriptionRevision(owner);
17
+ const stale = child !== null && (!ownerRevision || child.revision > ownerRevision);
18
+ const reason = stale
19
+ ? `${ownerRef} description is older than ${child.ref}; review the child context and explicitly reconcile the parent description or descriptionRef.`
20
+ : child
21
+ ? `${ownerRef} description is at least as recent as its newest described child ${child.ref}.`
22
+ : `${ownerRef} has no described child context requiring reconciliation.`;
23
+ return {
24
+ ownerKind,
25
+ ownerId: owner.id,
26
+ ownerRef,
27
+ state: stale ? "stale" : "fresh",
28
+ ownerDescriptionUpdatedAt: ownerRevision,
29
+ newestChildKind: child?.kind ?? null,
30
+ newestChildId: child?.id ?? "",
31
+ newestChildRef: child?.ref ?? "",
32
+ newestChildDescriptionUpdatedAt: child?.revision ?? "",
33
+ reason,
34
+ };
35
+ }
36
+ /**
37
+ * Compute child-to-parent description freshness without mutating user-authored
38
+ * prose. Reconciliation is intentionally leaf-to-root: stale phases first,
39
+ * then their owning features.
40
+ */
41
+ export function buildHierarchicalDescriptionFreshness(features, phases) {
42
+ const featureById = new Map(features.map((feature) => [feature.id, feature]));
43
+ const phaseDiagnostics = phases.map((phase) => {
44
+ const feature = phase.featureId ? featureById.get(phase.featureId) : undefined;
45
+ const ref = formatPhaseRef(phase.number, feature?.number);
46
+ const child = newestChild(phase.tasks.map((task) => ({
47
+ kind: "task",
48
+ id: task.id,
49
+ ref: taskRef(task, phase, feature?.number),
50
+ revision: descriptionRevision(task),
51
+ })));
52
+ return diagnostic("phase", phase, ref, child);
53
+ });
54
+ const featureDiagnostics = features.map((feature) => {
55
+ const ownedPhases = phases.filter((phase) => phase.featureId === feature.id);
56
+ const candidates = [];
57
+ for (const phase of ownedPhases) {
58
+ const phaseRef = formatPhaseRef(phase.number, feature.number);
59
+ candidates.push({ kind: "phase", id: phase.id, ref: phaseRef, revision: descriptionRevision(phase) });
60
+ for (const task of phase.tasks) {
61
+ candidates.push({ kind: "task", id: task.id, ref: taskRef(task, phase, feature.number), revision: descriptionRevision(task) });
62
+ }
63
+ }
64
+ return diagnostic("feature", feature, formatFeatureRef(feature.number), newestChild(candidates));
65
+ });
66
+ const diagnostics = [...phaseDiagnostics, ...featureDiagnostics];
67
+ const stale = diagnostics.filter((entry) => entry.state === "stale");
68
+ return {
69
+ diagnostics,
70
+ staleParentRefs: stale.map((entry) => entry.ownerRef),
71
+ reconciliationRequired: stale.length > 0,
72
+ reconciliationPreview: stale.map((entry) => ({
73
+ ownerKind: entry.ownerKind,
74
+ ownerId: entry.ownerId,
75
+ ownerRef: entry.ownerRef,
76
+ causedByRef: entry.newestChildRef,
77
+ reason: entry.reason,
78
+ action: `Read ${entry.newestChildRef}, review ${entry.ownerRef}, then explicitly update ${entry.ownerRef}'s description or descriptionRef if the parent prose is stale.`,
79
+ })),
80
+ };
81
+ }
82
+ export function freshnessForOwner(freshness, ownerKind, ownerId) {
83
+ return freshness.diagnostics.find((entry) => entry.ownerKind === ownerKind && entry.ownerId === ownerId);
84
+ }
@@ -1,6 +1,9 @@
1
- import type { Feature, HandoffCompletenessAudit, HandoffCompletenessEntry, HandoffSupportingDocument, Phase, Task } from "./schema.js";
1
+ import type { Feature, HandoffCompletenessAudit, HandoffCompletenessEntry, HandoffColdStartInventoryEntry, HandoffSupportingDocument, Phase, Task } from "./schema.js";
2
+ import { type PhaseWorkMap } from "./task-context.js";
2
3
  export declare const COMPLETION_SUMMARY_HEADING = "**Completion summary:**";
3
4
  export declare const HANDOFF_COMPLETENESS_AUDIT_VERSION = 1;
5
+ export declare const HANDOFF_COLD_START_INVENTORY_VERSION = 1;
6
+ export declare const TARGET_HANDOFF_CONTENT_CHARS = 8000;
4
7
  export declare const MAX_HANDOFF_CONTENT_CHARS = 24000;
5
8
  export declare const HANDOFF_AUDIT_START_MARKER = "<!-- agent-plan:handoff-audit:start -->";
6
9
  export declare const HANDOFF_AUDIT_END_MARKER = "<!-- agent-plan:handoff-audit:end -->";
@@ -59,8 +62,69 @@ export declare const HANDOFF_COMPLETENESS_CATEGORIES: readonly [{
59
62
  readonly id: "conversation-only-facts";
60
63
  readonly label: "Conversation-only facts";
61
64
  }];
65
+ export declare const HANDOFF_COLD_START_SOURCE_REVIEWS: readonly [{
66
+ readonly id: "conversation";
67
+ readonly label: "Conversation, user corrections, and authorization state";
68
+ }, {
69
+ readonly id: "planner-entities";
70
+ readonly label: "Task, sibling tasks, phase, feature, requirements, and prior handoff";
71
+ }, {
72
+ readonly id: "working-tree";
73
+ readonly label: "Changed files, diffs, implementation state, and ownership";
74
+ }, {
75
+ readonly id: "verification-runtime";
76
+ readonly label: "Commands, test results, runtime observations, and limitations";
77
+ }, {
78
+ readonly id: "peer-agent-output";
79
+ readonly label: "Peer-agent messages and delegated-work results, or confirmation that none exist";
80
+ }];
81
+ export declare const HANDOFF_COLD_START_INVENTORY_CATEGORIES: readonly [{
82
+ readonly id: "files";
83
+ readonly label: "Exact files";
84
+ }, {
85
+ readonly id: "symbols";
86
+ readonly label: "Exact symbols and identifiers";
87
+ }, {
88
+ readonly id: "working-tree-ownership";
89
+ readonly label: "Working-tree state, work ownership, and commit/discard authorization";
90
+ }, {
91
+ readonly id: "negative-state";
92
+ readonly label: "Work not started, removals not performed, and intentionally untouched state";
93
+ }, {
94
+ readonly id: "commands-tools";
95
+ readonly label: "Commands and tool paths";
96
+ }, {
97
+ readonly id: "runtime-wiring";
98
+ readonly label: "Runtime wiring, call sites, and data flow";
99
+ }, {
100
+ readonly id: "preservation-constraints";
101
+ readonly label: "Behavior and code paths that must survive";
102
+ }, {
103
+ readonly id: "verification-evidence";
104
+ readonly label: "Concrete observations proving completed, live, dead, or inert state";
105
+ }, {
106
+ readonly id: "related-planned-work";
107
+ readonly label: "Sibling tasks and related planned capabilities";
108
+ }, {
109
+ readonly id: "user-visible-behavior";
110
+ readonly label: "User-visible behavior";
111
+ }, {
112
+ readonly id: "operator-actions";
113
+ readonly label: "Operator actions";
114
+ }, {
115
+ readonly id: "blockers-risks";
116
+ readonly label: "Blockers and risks";
117
+ }, {
118
+ readonly id: "remaining-work";
119
+ readonly label: "Remaining work";
120
+ }, {
121
+ readonly id: "ordered-resume-steps";
122
+ readonly label: "Ordered resume steps";
123
+ }];
124
+ export declare const HANDOFF_CANONICAL_SECTIONS: readonly ["Current focus", "Current and partial state", "Preservation constraints", "Supporting documents", "Blockers and risks", "How to resume"];
62
125
  export type HandoffCompletenessCategory = typeof HANDOFF_COMPLETENESS_CATEGORIES[number]["id"];
63
- export type HandoffContractErrorCode = "HANDOFF_COMPLETENESS_AUDIT_REQUIRED" | "HANDOFF_CONTENT_LIMIT_EXCEEDED" | "HANDOFF_SUPPORTING_DOCUMENT_INVALID" | "HANDOFF_PERSISTENCE_VERIFICATION_FAILED";
126
+ export type HandoffColdStartInventoryCategory = typeof HANDOFF_COLD_START_INVENTORY_CATEGORIES[number]["id"];
127
+ export type HandoffContractErrorCode = "HANDOFF_PREFLIGHT_REQUIRED" | "HANDOFF_REASON_REQUIRED" | "HANDOFF_CANONICAL_SECTIONS_REQUIRED" | "HANDOFF_COMPLETENESS_AUDIT_REQUIRED" | "HANDOFF_COLD_START_INVENTORY_REQUIRED" | "HANDOFF_COLD_START_INVENTORY_UNCOVERED" | "HANDOFF_CONTENT_LIMIT_EXCEEDED" | "HANDOFF_SUPPORTING_DOCUMENT_INVALID" | "HANDOFF_PERSISTENCE_VERIFICATION_FAILED" | "HANDOFF_READBACK_VERIFICATION_REQUIRED" | "HANDOFF_READBACK_GAPS_FOUND";
64
128
  export declare class HandoffContractError extends Error {
65
129
  readonly code: HandoffContractErrorCode;
66
130
  readonly details: Record<string, unknown>;
@@ -70,10 +134,24 @@ export interface HandoffCompletenessAuditInput {
70
134
  version: number;
71
135
  entries: HandoffCompletenessEntry[];
72
136
  }
137
+ export interface HandoffColdStartInventoryInput {
138
+ version: number;
139
+ sourceReviews: Array<{
140
+ source: string;
141
+ detail: string;
142
+ }>;
143
+ entries: HandoffColdStartInventoryEntry[];
144
+ }
73
145
  export interface HandoffSupportingDocumentInput {
74
146
  path: string;
75
147
  description: string;
76
148
  }
149
+ export interface HandoffContentExternalization {
150
+ content: string;
151
+ externalized: boolean;
152
+ extendedContent: string;
153
+ supportingDocument?: HandoffSupportingDocumentInput;
154
+ }
77
155
  export interface HandoffTaskContextUpdate {
78
156
  taskId: string;
79
157
  completionSummary: string;
@@ -110,21 +188,44 @@ export interface PhaseHandoffAudit {
110
188
  title: string;
111
189
  }>;
112
190
  completenessVersion: number;
191
+ targetContentChars: number;
113
192
  maxContentChars: number;
114
193
  completenessCategories: ReadonlyArray<{
115
194
  id: HandoffCompletenessCategory;
116
195
  label: string;
117
196
  }>;
197
+ canonicalSections: ReadonlyArray<string>;
198
+ requiredHumanInputs: ReadonlyArray<{
199
+ id: "title" | "reason";
200
+ label: string;
201
+ description: string;
202
+ }>;
203
+ draftTemplate: string;
204
+ coldStartInventoryVersion: number;
205
+ coldStartSourceReviews: ReadonlyArray<{
206
+ id: string;
207
+ label: string;
208
+ }>;
209
+ coldStartInventoryCategories: ReadonlyArray<{
210
+ id: HandoffColdStartInventoryCategory;
211
+ label: string;
212
+ }>;
118
213
  existingCompletenessAudit: HandoffCompletenessAudit | null;
214
+ phaseWorkMap: PhaseWorkMap;
119
215
  }
120
216
  export interface RefreshPhaseHandoffInput {
217
+ /** Structured, human-supplied explanation; rendered by the planner. */
218
+ reason: string;
121
219
  content: string;
122
220
  expectedHandoffUpdatedAt: string;
123
221
  reconciledExistingHandoff: boolean;
124
222
  completenessAudit?: HandoffCompletenessAuditInput;
223
+ coldStartInventory?: HandoffColdStartInventoryInput;
125
224
  supportingDocuments?: HandoffSupportingDocumentInput[];
126
225
  /** Populated and verified by PlanStore before pure domain application. */
127
226
  verifiedSupportingDocuments?: HandoffSupportingDocument[];
227
+ /** Content is kept in-memory only for cold-start coverage validation. */
228
+ verifiedSupportingDocumentContents?: string[];
128
229
  contextSync: PhaseHandoffContextSync;
129
230
  }
130
231
  export interface RefreshPhaseHandoffResult {
@@ -134,12 +235,43 @@ export interface RefreshPhaseHandoffResult {
134
235
  handoffUpdatedAt: string;
135
236
  handoffAudit: HandoffCompletenessAudit;
136
237
  }
238
+ export interface VerifyPhaseHandoffReadBackInput {
239
+ expectedContentHash: string;
240
+ /** Optional legacy evidence; compact handoffs derive this from persisted state. */
241
+ sourceReviews?: Array<{
242
+ source: string;
243
+ detail: string;
244
+ }>;
245
+ omissionsFound?: string[];
246
+ }
247
+ export interface VerifyPhaseHandoffReadBackResult {
248
+ phaseId: string;
249
+ handoffUpdatedAt: string;
250
+ contentHash: string;
251
+ resumeReadyAt: string;
252
+ sourceReviews: Array<{
253
+ source: string;
254
+ detail: string;
255
+ }>;
256
+ }
137
257
  export declare function hasTaskCompletionEvidence(task: Task): boolean;
258
+ export declare function buildHandoffDraftTemplate(phase: Phase, feature: Feature): string;
138
259
  export declare function auditPhaseHandoff(phase: Phase, feature: Feature): PhaseHandoffAudit;
139
260
  export declare function handoffContentHash(content: string): string;
140
261
  export declare function validateHandoffCompletenessAudit(audit: HandoffCompletenessAuditInput | undefined): HandoffCompletenessEntry[];
262
+ export declare function validateHandoffColdStartInventory(inventory: HandoffColdStartInventoryInput | undefined, content: string, supportingDocumentContents?: string[]): HandoffColdStartInventoryEntry[];
263
+ export declare function validateHandoffReadBackVerification(phase: Phase, input: VerifyPhaseHandoffReadBackInput): Array<{
264
+ source: string;
265
+ detail: string;
266
+ }>;
267
+ /**
268
+ * Mechanically compact oversized legacy or verbose handoffs while retaining the
269
+ * complete submitted body in one planner-owned Markdown document.
270
+ */
271
+ export declare function externalizeOversizedHandoffContent(content: string, supportingDocumentPath: string): HandoffContentExternalization;
141
272
  export declare function renderHandoffCompletenessAudit(audit: HandoffCompletenessAuditInput): string;
142
- export declare function renderVerifiedHandoffContent(content: string, audit?: HandoffCompletenessAuditInput): string;
273
+ export declare function renderVerifiedHandoffContent(content: string, audit?: HandoffCompletenessAuditInput, coldStartInventory?: HandoffColdStartInventoryInput, supportingDocumentContents?: string[]): string;
274
+ export declare function materializeHandoffMetadata(content: string, reason: string, createdAt: string, updatedAt: string): string;
143
275
  export declare function validateCanonicalHandoffContent(content: string): void;
144
276
  export declare function validateHandoffContextSync(phase: Phase, feature: Feature, input: RefreshPhaseHandoffInput): void;
145
277
  export declare function applyHandoffContextSync(phase: Phase, feature: Feature, input: RefreshPhaseHandoffInput, timestamp: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"handoff-context.d.ts","sourceRoot":"","sources":["../src/handoff-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff-context.d.ts","sourceRoot":"","sources":["../src/handoff-context.ts"],"names":[],"mappings":"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"}