@agent-plan/core 0.2.26 → 0.2.27

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 +134 -3
  5. package/dist/handoff-context.d.ts.map +1 -1
  6. package/dist/handoff-context.js +334 -16
  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 +685 -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
package/dist/schema.d.ts CHANGED
@@ -752,7 +752,7 @@ export declare const ProjectSchema: z.ZodObject<{
752
752
  export declare const SubtaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
753
753
  export declare const TaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
754
754
  export declare const PhaseStatusSchema: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
755
- export declare const RequirementStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
755
+ export declare const MacroTaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
756
756
  export declare const FeatureStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
757
757
  export declare const SubtaskSchema: z.ZodObject<{
758
758
  id: z.ZodString;
@@ -1047,6 +1047,8 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
1047
1047
  createdAt: string;
1048
1048
  sessionId: string;
1049
1049
  }>, "many">>;
1050
+ /** Session currently owning this in-progress task ("" when not in-progress or legacy). Enables concurrent starts across agent sessions. */
1051
+ activeOwnerSession: z.ZodDefault<z.ZodString>;
1050
1052
  }, "strip", z.ZodTypeAny, {
1051
1053
  number: number;
1052
1054
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1119,6 +1121,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
1119
1121
  }[];
1120
1122
  startedAt: string;
1121
1123
  completedAt: string;
1124
+ activeOwnerSession: string;
1122
1125
  descriptionRef?: string | undefined;
1123
1126
  }, {
1124
1127
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1193,6 +1196,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
1193
1196
  }[] | undefined;
1194
1197
  startedAt?: string | undefined;
1195
1198
  completedAt?: string | undefined;
1199
+ activeOwnerSession?: string | undefined;
1196
1200
  }>, {
1197
1201
  checklist: {
1198
1202
  id: string;
@@ -1265,6 +1269,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
1265
1269
  }[];
1266
1270
  startedAt: string;
1267
1271
  completedAt: string;
1272
+ activeOwnerSession: string;
1268
1273
  descriptionRef?: string | undefined;
1269
1274
  }, {
1270
1275
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1339,6 +1344,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
1339
1344
  }[] | undefined;
1340
1345
  startedAt?: string | undefined;
1341
1346
  completedAt?: string | undefined;
1347
+ activeOwnerSession?: string | undefined;
1342
1348
  }>;
1343
1349
  export declare const HandoffHistoryEntrySchema: z.ZodObject<{
1344
1350
  /** Relative path under .planner/.local/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
@@ -1384,6 +1390,77 @@ export declare const HandoffSupportingDocumentSchema: z.ZodObject<{
1384
1390
  contentHash: string;
1385
1391
  contentLength: number;
1386
1392
  }>;
1393
+ export declare const HandoffColdStartInventoryEntrySchema: z.ZodObject<{
1394
+ category: z.ZodString;
1395
+ items: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1396
+ notApplicableReason: z.ZodOptional<z.ZodString>;
1397
+ }, "strip", z.ZodTypeAny, {
1398
+ category: string;
1399
+ items: string[];
1400
+ notApplicableReason?: string | undefined;
1401
+ }, {
1402
+ category: string;
1403
+ items?: string[] | undefined;
1404
+ notApplicableReason?: string | undefined;
1405
+ }>;
1406
+ export declare const HandoffColdStartSourceReviewSchema: z.ZodObject<{
1407
+ source: z.ZodString;
1408
+ detail: z.ZodString;
1409
+ }, "strip", z.ZodTypeAny, {
1410
+ detail: string;
1411
+ source: string;
1412
+ }, {
1413
+ detail: string;
1414
+ source: string;
1415
+ }>;
1416
+ export declare const HandoffColdStartInventorySchema: z.ZodObject<{
1417
+ version: z.ZodNumber;
1418
+ sourceReviews: z.ZodArray<z.ZodObject<{
1419
+ source: z.ZodString;
1420
+ detail: z.ZodString;
1421
+ }, "strip", z.ZodTypeAny, {
1422
+ detail: string;
1423
+ source: string;
1424
+ }, {
1425
+ detail: string;
1426
+ source: string;
1427
+ }>, "many">;
1428
+ entries: z.ZodArray<z.ZodObject<{
1429
+ category: z.ZodString;
1430
+ items: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1431
+ notApplicableReason: z.ZodOptional<z.ZodString>;
1432
+ }, "strip", z.ZodTypeAny, {
1433
+ category: string;
1434
+ items: string[];
1435
+ notApplicableReason?: string | undefined;
1436
+ }, {
1437
+ category: string;
1438
+ items?: string[] | undefined;
1439
+ notApplicableReason?: string | undefined;
1440
+ }>, "many">;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ entries: {
1443
+ category: string;
1444
+ items: string[];
1445
+ notApplicableReason?: string | undefined;
1446
+ }[];
1447
+ version: number;
1448
+ sourceReviews: {
1449
+ detail: string;
1450
+ source: string;
1451
+ }[];
1452
+ }, {
1453
+ entries: {
1454
+ category: string;
1455
+ items?: string[] | undefined;
1456
+ notApplicableReason?: string | undefined;
1457
+ }[];
1458
+ version: number;
1459
+ sourceReviews: {
1460
+ detail: string;
1461
+ source: string;
1462
+ }[];
1463
+ }>;
1387
1464
  export declare const HandoffCompletenessAuditSchema: z.ZodObject<{
1388
1465
  version: z.ZodNumber;
1389
1466
  entries: z.ZodArray<z.ZodObject<{
@@ -1399,6 +1476,54 @@ export declare const HandoffCompletenessAuditSchema: z.ZodObject<{
1399
1476
  category: string;
1400
1477
  detail: string;
1401
1478
  }>, "many">;
1479
+ coldStartInventory: z.ZodOptional<z.ZodObject<{
1480
+ version: z.ZodNumber;
1481
+ sourceReviews: z.ZodArray<z.ZodObject<{
1482
+ source: z.ZodString;
1483
+ detail: z.ZodString;
1484
+ }, "strip", z.ZodTypeAny, {
1485
+ detail: string;
1486
+ source: string;
1487
+ }, {
1488
+ detail: string;
1489
+ source: string;
1490
+ }>, "many">;
1491
+ entries: z.ZodArray<z.ZodObject<{
1492
+ category: z.ZodString;
1493
+ items: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1494
+ notApplicableReason: z.ZodOptional<z.ZodString>;
1495
+ }, "strip", z.ZodTypeAny, {
1496
+ category: string;
1497
+ items: string[];
1498
+ notApplicableReason?: string | undefined;
1499
+ }, {
1500
+ category: string;
1501
+ items?: string[] | undefined;
1502
+ notApplicableReason?: string | undefined;
1503
+ }>, "many">;
1504
+ }, "strip", z.ZodTypeAny, {
1505
+ entries: {
1506
+ category: string;
1507
+ items: string[];
1508
+ notApplicableReason?: string | undefined;
1509
+ }[];
1510
+ version: number;
1511
+ sourceReviews: {
1512
+ detail: string;
1513
+ source: string;
1514
+ }[];
1515
+ }, {
1516
+ entries: {
1517
+ category: string;
1518
+ items?: string[] | undefined;
1519
+ notApplicableReason?: string | undefined;
1520
+ }[];
1521
+ version: number;
1522
+ sourceReviews: {
1523
+ detail: string;
1524
+ source: string;
1525
+ }[];
1526
+ }>>;
1402
1527
  supportingDocuments: z.ZodDefault<z.ZodArray<z.ZodObject<{
1403
1528
  path: z.ZodString;
1404
1529
  description: z.ZodString;
@@ -1417,7 +1542,20 @@ export declare const HandoffCompletenessAuditSchema: z.ZodObject<{
1417
1542
  }>, "many">>;
1418
1543
  contentHash: z.ZodString;
1419
1544
  contentLength: z.ZodNumber;
1545
+ /** Structural validation timestamp written with the handoff candidate. */
1420
1546
  verifiedAt: z.ZodString;
1547
+ /** Set only after a separate persisted read-back and source reconciliation. */
1548
+ resumeReadyAt: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
1549
+ readBackSourceReviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
1550
+ source: z.ZodString;
1551
+ detail: z.ZodString;
1552
+ }, "strip", z.ZodTypeAny, {
1553
+ detail: string;
1554
+ source: string;
1555
+ }, {
1556
+ detail: string;
1557
+ source: string;
1558
+ }>, "many">>;
1421
1559
  }, "strip", z.ZodTypeAny, {
1422
1560
  entries: {
1423
1561
  status: "captured" | "not-applicable";
@@ -1434,6 +1572,23 @@ export declare const HandoffCompletenessAuditSchema: z.ZodObject<{
1434
1572
  contentLength: number;
1435
1573
  }[];
1436
1574
  verifiedAt: string;
1575
+ resumeReadyAt: string;
1576
+ readBackSourceReviews: {
1577
+ detail: string;
1578
+ source: string;
1579
+ }[];
1580
+ coldStartInventory?: {
1581
+ entries: {
1582
+ category: string;
1583
+ items: string[];
1584
+ notApplicableReason?: string | undefined;
1585
+ }[];
1586
+ version: number;
1587
+ sourceReviews: {
1588
+ detail: string;
1589
+ source: string;
1590
+ }[];
1591
+ } | undefined;
1437
1592
  }, {
1438
1593
  entries: {
1439
1594
  status: "captured" | "not-applicable";
@@ -1444,12 +1599,29 @@ export declare const HandoffCompletenessAuditSchema: z.ZodObject<{
1444
1599
  contentLength: number;
1445
1600
  version: number;
1446
1601
  verifiedAt: string;
1602
+ coldStartInventory?: {
1603
+ entries: {
1604
+ category: string;
1605
+ items?: string[] | undefined;
1606
+ notApplicableReason?: string | undefined;
1607
+ }[];
1608
+ version: number;
1609
+ sourceReviews: {
1610
+ detail: string;
1611
+ source: string;
1612
+ }[];
1613
+ } | undefined;
1447
1614
  supportingDocuments?: {
1448
1615
  path: string;
1449
1616
  description: string;
1450
1617
  contentHash: string;
1451
1618
  contentLength: number;
1452
1619
  }[] | undefined;
1620
+ resumeReadyAt?: string | undefined;
1621
+ readBackSourceReviews?: {
1622
+ detail: string;
1623
+ source: string;
1624
+ }[] | undefined;
1453
1625
  }>;
1454
1626
  export declare const PhaseSchema: z.ZodObject<{
1455
1627
  id: z.ZodString;
@@ -1690,6 +1862,8 @@ export declare const PhaseSchema: z.ZodObject<{
1690
1862
  createdAt: string;
1691
1863
  sessionId: string;
1692
1864
  }>, "many">>;
1865
+ /** Session currently owning this in-progress task ("" when not in-progress or legacy). Enables concurrent starts across agent sessions. */
1866
+ activeOwnerSession: z.ZodDefault<z.ZodString>;
1693
1867
  }, "strip", z.ZodTypeAny, {
1694
1868
  number: number;
1695
1869
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1762,6 +1936,7 @@ export declare const PhaseSchema: z.ZodObject<{
1762
1936
  }[];
1763
1937
  startedAt: string;
1764
1938
  completedAt: string;
1939
+ activeOwnerSession: string;
1765
1940
  descriptionRef?: string | undefined;
1766
1941
  }, {
1767
1942
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1836,6 +2011,7 @@ export declare const PhaseSchema: z.ZodObject<{
1836
2011
  }[] | undefined;
1837
2012
  startedAt?: string | undefined;
1838
2013
  completedAt?: string | undefined;
2014
+ activeOwnerSession?: string | undefined;
1839
2015
  }>, {
1840
2016
  checklist: {
1841
2017
  id: string;
@@ -1908,6 +2084,7 @@ export declare const PhaseSchema: z.ZodObject<{
1908
2084
  }[];
1909
2085
  startedAt: string;
1910
2086
  completedAt: string;
2087
+ activeOwnerSession: string;
1911
2088
  descriptionRef?: string | undefined;
1912
2089
  }, {
1913
2090
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -1982,6 +2159,7 @@ export declare const PhaseSchema: z.ZodObject<{
1982
2159
  }[] | undefined;
1983
2160
  startedAt?: string | undefined;
1984
2161
  completedAt?: string | undefined;
2162
+ activeOwnerSession?: string | undefined;
1985
2163
  }>, "many">>;
1986
2164
  createdAt: z.ZodString;
1987
2165
  updatedAt: z.ZodString;
@@ -2003,6 +2181,54 @@ export declare const PhaseSchema: z.ZodObject<{
2003
2181
  category: string;
2004
2182
  detail: string;
2005
2183
  }>, "many">;
2184
+ coldStartInventory: z.ZodOptional<z.ZodObject<{
2185
+ version: z.ZodNumber;
2186
+ sourceReviews: z.ZodArray<z.ZodObject<{
2187
+ source: z.ZodString;
2188
+ detail: z.ZodString;
2189
+ }, "strip", z.ZodTypeAny, {
2190
+ detail: string;
2191
+ source: string;
2192
+ }, {
2193
+ detail: string;
2194
+ source: string;
2195
+ }>, "many">;
2196
+ entries: z.ZodArray<z.ZodObject<{
2197
+ category: z.ZodString;
2198
+ items: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2199
+ notApplicableReason: z.ZodOptional<z.ZodString>;
2200
+ }, "strip", z.ZodTypeAny, {
2201
+ category: string;
2202
+ items: string[];
2203
+ notApplicableReason?: string | undefined;
2204
+ }, {
2205
+ category: string;
2206
+ items?: string[] | undefined;
2207
+ notApplicableReason?: string | undefined;
2208
+ }>, "many">;
2209
+ }, "strip", z.ZodTypeAny, {
2210
+ entries: {
2211
+ category: string;
2212
+ items: string[];
2213
+ notApplicableReason?: string | undefined;
2214
+ }[];
2215
+ version: number;
2216
+ sourceReviews: {
2217
+ detail: string;
2218
+ source: string;
2219
+ }[];
2220
+ }, {
2221
+ entries: {
2222
+ category: string;
2223
+ items?: string[] | undefined;
2224
+ notApplicableReason?: string | undefined;
2225
+ }[];
2226
+ version: number;
2227
+ sourceReviews: {
2228
+ detail: string;
2229
+ source: string;
2230
+ }[];
2231
+ }>>;
2006
2232
  supportingDocuments: z.ZodDefault<z.ZodArray<z.ZodObject<{
2007
2233
  path: z.ZodString;
2008
2234
  description: z.ZodString;
@@ -2021,7 +2247,20 @@ export declare const PhaseSchema: z.ZodObject<{
2021
2247
  }>, "many">>;
2022
2248
  contentHash: z.ZodString;
2023
2249
  contentLength: z.ZodNumber;
2250
+ /** Structural validation timestamp written with the handoff candidate. */
2024
2251
  verifiedAt: z.ZodString;
2252
+ /** Set only after a separate persisted read-back and source reconciliation. */
2253
+ resumeReadyAt: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
2254
+ readBackSourceReviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
2255
+ source: z.ZodString;
2256
+ detail: z.ZodString;
2257
+ }, "strip", z.ZodTypeAny, {
2258
+ detail: string;
2259
+ source: string;
2260
+ }, {
2261
+ detail: string;
2262
+ source: string;
2263
+ }>, "many">>;
2025
2264
  }, "strip", z.ZodTypeAny, {
2026
2265
  entries: {
2027
2266
  status: "captured" | "not-applicable";
@@ -2038,6 +2277,23 @@ export declare const PhaseSchema: z.ZodObject<{
2038
2277
  contentLength: number;
2039
2278
  }[];
2040
2279
  verifiedAt: string;
2280
+ resumeReadyAt: string;
2281
+ readBackSourceReviews: {
2282
+ detail: string;
2283
+ source: string;
2284
+ }[];
2285
+ coldStartInventory?: {
2286
+ entries: {
2287
+ category: string;
2288
+ items: string[];
2289
+ notApplicableReason?: string | undefined;
2290
+ }[];
2291
+ version: number;
2292
+ sourceReviews: {
2293
+ detail: string;
2294
+ source: string;
2295
+ }[];
2296
+ } | undefined;
2041
2297
  }, {
2042
2298
  entries: {
2043
2299
  status: "captured" | "not-applicable";
@@ -2048,12 +2304,29 @@ export declare const PhaseSchema: z.ZodObject<{
2048
2304
  contentLength: number;
2049
2305
  version: number;
2050
2306
  verifiedAt: string;
2307
+ coldStartInventory?: {
2308
+ entries: {
2309
+ category: string;
2310
+ items?: string[] | undefined;
2311
+ notApplicableReason?: string | undefined;
2312
+ }[];
2313
+ version: number;
2314
+ sourceReviews: {
2315
+ detail: string;
2316
+ source: string;
2317
+ }[];
2318
+ } | undefined;
2051
2319
  supportingDocuments?: {
2052
2320
  path: string;
2053
2321
  description: string;
2054
2322
  contentHash: string;
2055
2323
  contentLength: number;
2056
2324
  }[] | undefined;
2325
+ resumeReadyAt?: string | undefined;
2326
+ readBackSourceReviews?: {
2327
+ detail: string;
2328
+ source: string;
2329
+ }[] | undefined;
2057
2330
  }>>>;
2058
2331
  /** When the handoff was last read/acknowledged on recap (ISO). Non-empty means
2059
2332
  * the agent has seen it; the recap won't re-prompt every turn. Reading is
@@ -2230,6 +2503,7 @@ export declare const PhaseSchema: z.ZodObject<{
2230
2503
  }[];
2231
2504
  startedAt: string;
2232
2505
  completedAt: string;
2506
+ activeOwnerSession: string;
2233
2507
  descriptionRef?: string | undefined;
2234
2508
  }[];
2235
2509
  handoff: string;
@@ -2250,6 +2524,23 @@ export declare const PhaseSchema: z.ZodObject<{
2250
2524
  contentLength: number;
2251
2525
  }[];
2252
2526
  verifiedAt: string;
2527
+ resumeReadyAt: string;
2528
+ readBackSourceReviews: {
2529
+ detail: string;
2530
+ source: string;
2531
+ }[];
2532
+ coldStartInventory?: {
2533
+ entries: {
2534
+ category: string;
2535
+ items: string[];
2536
+ notApplicableReason?: string | undefined;
2537
+ }[];
2538
+ version: number;
2539
+ sourceReviews: {
2540
+ detail: string;
2541
+ source: string;
2542
+ }[];
2543
+ } | undefined;
2253
2544
  } | null;
2254
2545
  handoffReadAt: string;
2255
2546
  handoffHistory: {
@@ -2379,6 +2670,7 @@ export declare const PhaseSchema: z.ZodObject<{
2379
2670
  }[] | undefined;
2380
2671
  startedAt?: string | undefined;
2381
2672
  completedAt?: string | undefined;
2673
+ activeOwnerSession?: string | undefined;
2382
2674
  }[] | undefined;
2383
2675
  handoff?: string | undefined;
2384
2676
  handoffUpdatedAt?: string | undefined;
@@ -2392,12 +2684,29 @@ export declare const PhaseSchema: z.ZodObject<{
2392
2684
  contentLength: number;
2393
2685
  version: number;
2394
2686
  verifiedAt: string;
2687
+ coldStartInventory?: {
2688
+ entries: {
2689
+ category: string;
2690
+ items?: string[] | undefined;
2691
+ notApplicableReason?: string | undefined;
2692
+ }[];
2693
+ version: number;
2694
+ sourceReviews: {
2695
+ detail: string;
2696
+ source: string;
2697
+ }[];
2698
+ } | undefined;
2395
2699
  supportingDocuments?: {
2396
2700
  path: string;
2397
2701
  description: string;
2398
2702
  contentHash: string;
2399
2703
  contentLength: number;
2400
2704
  }[] | undefined;
2705
+ resumeReadyAt?: string | undefined;
2706
+ readBackSourceReviews?: {
2707
+ detail: string;
2708
+ source: string;
2709
+ }[] | undefined;
2401
2710
  } | null | undefined;
2402
2711
  handoffReadAt?: string | undefined;
2403
2712
  handoffHistory?: {
@@ -2836,7 +3145,6 @@ export declare const RequirementSchema: z.ZodObject<{
2836
3145
  id: z.ZodString;
2837
3146
  title: z.ZodString;
2838
3147
  description: z.ZodDefault<z.ZodString>;
2839
- status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2840
3148
  macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
2841
3149
  id: z.ZodString;
2842
3150
  title: z.ZodString;
@@ -2874,7 +3182,6 @@ export declare const RequirementSchema: z.ZodObject<{
2874
3182
  sessionId: string;
2875
3183
  }>, "many">>;
2876
3184
  }, "strip", z.ZodTypeAny, {
2877
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
2878
3185
  updatedAt: string;
2879
3186
  id: string;
2880
3187
  createdAt: string;
@@ -2894,7 +3201,6 @@ export declare const RequirementSchema: z.ZodObject<{
2894
3201
  }[];
2895
3202
  linkedPhaseIds: string[];
2896
3203
  }, {
2897
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
2898
3204
  updatedAt: string;
2899
3205
  id: string;
2900
3206
  createdAt: string;
@@ -2919,7 +3225,6 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
2919
3225
  id: z.ZodString;
2920
3226
  title: z.ZodString;
2921
3227
  description: z.ZodDefault<z.ZodString>;
2922
- status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
2923
3228
  macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
2924
3229
  id: z.ZodString;
2925
3230
  title: z.ZodString;
@@ -2957,7 +3262,6 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
2957
3262
  sessionId: string;
2958
3263
  }>, "many">>;
2959
3264
  }, "strip", z.ZodTypeAny, {
2960
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
2961
3265
  updatedAt: string;
2962
3266
  id: string;
2963
3267
  createdAt: string;
@@ -2977,7 +3281,6 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
2977
3281
  }[];
2978
3282
  linkedPhaseIds: string[];
2979
3283
  }, {
2980
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
2981
3284
  updatedAt: string;
2982
3285
  id: string;
2983
3286
  createdAt: string;
@@ -2999,7 +3302,6 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
2999
3302
  }>, "many">;
3000
3303
  }, "strip", z.ZodTypeAny, {
3001
3304
  requirements: {
3002
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3003
3305
  updatedAt: string;
3004
3306
  id: string;
3005
3307
  createdAt: string;
@@ -3021,7 +3323,6 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
3021
3323
  }[];
3022
3324
  }, {
3023
3325
  requirements: {
3024
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3025
3326
  updatedAt: string;
3026
3327
  id: string;
3027
3328
  createdAt: string;
@@ -3786,7 +4087,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
3786
4087
  id: z.ZodString;
3787
4088
  title: z.ZodString;
3788
4089
  description: z.ZodDefault<z.ZodString>;
3789
- status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
3790
4090
  macroTasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
3791
4091
  id: z.ZodString;
3792
4092
  title: z.ZodString;
@@ -3824,7 +4124,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
3824
4124
  sessionId: string;
3825
4125
  }>, "many">>;
3826
4126
  }, "strip", z.ZodTypeAny, {
3827
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3828
4127
  updatedAt: string;
3829
4128
  id: string;
3830
4129
  createdAt: string;
@@ -3844,7 +4143,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
3844
4143
  }[];
3845
4144
  linkedPhaseIds: string[];
3846
4145
  }, {
3847
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3848
4146
  updatedAt: string;
3849
4147
  id: string;
3850
4148
  createdAt: string;
@@ -3866,7 +4164,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
3866
4164
  }>, "many">;
3867
4165
  }, "strip", z.ZodTypeAny, {
3868
4166
  requirements: {
3869
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3870
4167
  updatedAt: string;
3871
4168
  id: string;
3872
4169
  createdAt: string;
@@ -3888,7 +4185,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
3888
4185
  }[];
3889
4186
  }, {
3890
4187
  requirements: {
3891
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
3892
4188
  updatedAt: string;
3893
4189
  id: string;
3894
4190
  createdAt: string;
@@ -4239,6 +4535,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4239
4535
  createdAt: string;
4240
4536
  sessionId: string;
4241
4537
  }>, "many">>;
4538
+ /** Session currently owning this in-progress task ("" when not in-progress or legacy). Enables concurrent starts across agent sessions. */
4539
+ activeOwnerSession: z.ZodDefault<z.ZodString>;
4242
4540
  }, "strip", z.ZodTypeAny, {
4243
4541
  number: number;
4244
4542
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -4311,6 +4609,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4311
4609
  }[];
4312
4610
  startedAt: string;
4313
4611
  completedAt: string;
4612
+ activeOwnerSession: string;
4314
4613
  descriptionRef?: string | undefined;
4315
4614
  }, {
4316
4615
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -4385,6 +4684,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4385
4684
  }[] | undefined;
4386
4685
  startedAt?: string | undefined;
4387
4686
  completedAt?: string | undefined;
4687
+ activeOwnerSession?: string | undefined;
4388
4688
  }>, {
4389
4689
  checklist: {
4390
4690
  id: string;
@@ -4457,6 +4757,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4457
4757
  }[];
4458
4758
  startedAt: string;
4459
4759
  completedAt: string;
4760
+ activeOwnerSession: string;
4460
4761
  descriptionRef?: string | undefined;
4461
4762
  }, {
4462
4763
  status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
@@ -4531,6 +4832,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4531
4832
  }[] | undefined;
4532
4833
  startedAt?: string | undefined;
4533
4834
  completedAt?: string | undefined;
4835
+ activeOwnerSession?: string | undefined;
4534
4836
  }>, "many">>;
4535
4837
  createdAt: z.ZodString;
4536
4838
  updatedAt: z.ZodString;
@@ -4552,6 +4854,54 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4552
4854
  category: string;
4553
4855
  detail: string;
4554
4856
  }>, "many">;
4857
+ coldStartInventory: z.ZodOptional<z.ZodObject<{
4858
+ version: z.ZodNumber;
4859
+ sourceReviews: z.ZodArray<z.ZodObject<{
4860
+ source: z.ZodString;
4861
+ detail: z.ZodString;
4862
+ }, "strip", z.ZodTypeAny, {
4863
+ detail: string;
4864
+ source: string;
4865
+ }, {
4866
+ detail: string;
4867
+ source: string;
4868
+ }>, "many">;
4869
+ entries: z.ZodArray<z.ZodObject<{
4870
+ category: z.ZodString;
4871
+ items: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4872
+ notApplicableReason: z.ZodOptional<z.ZodString>;
4873
+ }, "strip", z.ZodTypeAny, {
4874
+ category: string;
4875
+ items: string[];
4876
+ notApplicableReason?: string | undefined;
4877
+ }, {
4878
+ category: string;
4879
+ items?: string[] | undefined;
4880
+ notApplicableReason?: string | undefined;
4881
+ }>, "many">;
4882
+ }, "strip", z.ZodTypeAny, {
4883
+ entries: {
4884
+ category: string;
4885
+ items: string[];
4886
+ notApplicableReason?: string | undefined;
4887
+ }[];
4888
+ version: number;
4889
+ sourceReviews: {
4890
+ detail: string;
4891
+ source: string;
4892
+ }[];
4893
+ }, {
4894
+ entries: {
4895
+ category: string;
4896
+ items?: string[] | undefined;
4897
+ notApplicableReason?: string | undefined;
4898
+ }[];
4899
+ version: number;
4900
+ sourceReviews: {
4901
+ detail: string;
4902
+ source: string;
4903
+ }[];
4904
+ }>>;
4555
4905
  supportingDocuments: z.ZodDefault<z.ZodArray<z.ZodObject<{
4556
4906
  path: z.ZodString;
4557
4907
  description: z.ZodString;
@@ -4570,7 +4920,20 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4570
4920
  }>, "many">>;
4571
4921
  contentHash: z.ZodString;
4572
4922
  contentLength: z.ZodNumber;
4923
+ /** Structural validation timestamp written with the handoff candidate. */
4573
4924
  verifiedAt: z.ZodString;
4925
+ /** Set only after a separate persisted read-back and source reconciliation. */
4926
+ resumeReadyAt: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
4927
+ readBackSourceReviews: z.ZodDefault<z.ZodArray<z.ZodObject<{
4928
+ source: z.ZodString;
4929
+ detail: z.ZodString;
4930
+ }, "strip", z.ZodTypeAny, {
4931
+ detail: string;
4932
+ source: string;
4933
+ }, {
4934
+ detail: string;
4935
+ source: string;
4936
+ }>, "many">>;
4574
4937
  }, "strip", z.ZodTypeAny, {
4575
4938
  entries: {
4576
4939
  status: "captured" | "not-applicable";
@@ -4587,6 +4950,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4587
4950
  contentLength: number;
4588
4951
  }[];
4589
4952
  verifiedAt: string;
4953
+ resumeReadyAt: string;
4954
+ readBackSourceReviews: {
4955
+ detail: string;
4956
+ source: string;
4957
+ }[];
4958
+ coldStartInventory?: {
4959
+ entries: {
4960
+ category: string;
4961
+ items: string[];
4962
+ notApplicableReason?: string | undefined;
4963
+ }[];
4964
+ version: number;
4965
+ sourceReviews: {
4966
+ detail: string;
4967
+ source: string;
4968
+ }[];
4969
+ } | undefined;
4590
4970
  }, {
4591
4971
  entries: {
4592
4972
  status: "captured" | "not-applicable";
@@ -4597,12 +4977,29 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4597
4977
  contentLength: number;
4598
4978
  version: number;
4599
4979
  verifiedAt: string;
4980
+ coldStartInventory?: {
4981
+ entries: {
4982
+ category: string;
4983
+ items?: string[] | undefined;
4984
+ notApplicableReason?: string | undefined;
4985
+ }[];
4986
+ version: number;
4987
+ sourceReviews: {
4988
+ detail: string;
4989
+ source: string;
4990
+ }[];
4991
+ } | undefined;
4600
4992
  supportingDocuments?: {
4601
4993
  path: string;
4602
4994
  description: string;
4603
4995
  contentHash: string;
4604
4996
  contentLength: number;
4605
4997
  }[] | undefined;
4998
+ resumeReadyAt?: string | undefined;
4999
+ readBackSourceReviews?: {
5000
+ detail: string;
5001
+ source: string;
5002
+ }[] | undefined;
4606
5003
  }>>>;
4607
5004
  /** When the handoff was last read/acknowledged on recap (ISO). Non-empty means
4608
5005
  * the agent has seen it; the recap won't re-prompt every turn. Reading is
@@ -4779,6 +5176,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4779
5176
  }[];
4780
5177
  startedAt: string;
4781
5178
  completedAt: string;
5179
+ activeOwnerSession: string;
4782
5180
  descriptionRef?: string | undefined;
4783
5181
  }[];
4784
5182
  handoff: string;
@@ -4799,6 +5197,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4799
5197
  contentLength: number;
4800
5198
  }[];
4801
5199
  verifiedAt: string;
5200
+ resumeReadyAt: string;
5201
+ readBackSourceReviews: {
5202
+ detail: string;
5203
+ source: string;
5204
+ }[];
5205
+ coldStartInventory?: {
5206
+ entries: {
5207
+ category: string;
5208
+ items: string[];
5209
+ notApplicableReason?: string | undefined;
5210
+ }[];
5211
+ version: number;
5212
+ sourceReviews: {
5213
+ detail: string;
5214
+ source: string;
5215
+ }[];
5216
+ } | undefined;
4802
5217
  } | null;
4803
5218
  handoffReadAt: string;
4804
5219
  handoffHistory: {
@@ -4928,6 +5343,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4928
5343
  }[] | undefined;
4929
5344
  startedAt?: string | undefined;
4930
5345
  completedAt?: string | undefined;
5346
+ activeOwnerSession?: string | undefined;
4931
5347
  }[] | undefined;
4932
5348
  handoff?: string | undefined;
4933
5349
  handoffUpdatedAt?: string | undefined;
@@ -4941,12 +5357,29 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
4941
5357
  contentLength: number;
4942
5358
  version: number;
4943
5359
  verifiedAt: string;
5360
+ coldStartInventory?: {
5361
+ entries: {
5362
+ category: string;
5363
+ items?: string[] | undefined;
5364
+ notApplicableReason?: string | undefined;
5365
+ }[];
5366
+ version: number;
5367
+ sourceReviews: {
5368
+ detail: string;
5369
+ source: string;
5370
+ }[];
5371
+ } | undefined;
4944
5372
  supportingDocuments?: {
4945
5373
  path: string;
4946
5374
  description: string;
4947
5375
  contentHash: string;
4948
5376
  contentLength: number;
4949
5377
  }[] | undefined;
5378
+ resumeReadyAt?: string | undefined;
5379
+ readBackSourceReviews?: {
5380
+ detail: string;
5381
+ source: string;
5382
+ }[] | undefined;
4950
5383
  } | null | undefined;
4951
5384
  handoffReadAt?: string | undefined;
4952
5385
  handoffHistory?: {
@@ -5065,7 +5498,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5065
5498
  };
5066
5499
  requirements: {
5067
5500
  requirements: {
5068
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
5069
5501
  updatedAt: string;
5070
5502
  id: string;
5071
5503
  createdAt: string;
@@ -5228,6 +5660,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5228
5660
  }[];
5229
5661
  startedAt: string;
5230
5662
  completedAt: string;
5663
+ activeOwnerSession: string;
5231
5664
  descriptionRef?: string | undefined;
5232
5665
  }[];
5233
5666
  handoff: string;
@@ -5248,6 +5681,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5248
5681
  contentLength: number;
5249
5682
  }[];
5250
5683
  verifiedAt: string;
5684
+ resumeReadyAt: string;
5685
+ readBackSourceReviews: {
5686
+ detail: string;
5687
+ source: string;
5688
+ }[];
5689
+ coldStartInventory?: {
5690
+ entries: {
5691
+ category: string;
5692
+ items: string[];
5693
+ notApplicableReason?: string | undefined;
5694
+ }[];
5695
+ version: number;
5696
+ sourceReviews: {
5697
+ detail: string;
5698
+ source: string;
5699
+ }[];
5700
+ } | undefined;
5251
5701
  } | null;
5252
5702
  handoffReadAt: string;
5253
5703
  handoffHistory: {
@@ -5368,7 +5818,6 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5368
5818
  };
5369
5819
  requirements: {
5370
5820
  requirements: {
5371
- status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
5372
5821
  updatedAt: string;
5373
5822
  id: string;
5374
5823
  createdAt: string;
@@ -5516,6 +5965,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5516
5965
  }[] | undefined;
5517
5966
  startedAt?: string | undefined;
5518
5967
  completedAt?: string | undefined;
5968
+ activeOwnerSession?: string | undefined;
5519
5969
  }[] | undefined;
5520
5970
  handoff?: string | undefined;
5521
5971
  handoffUpdatedAt?: string | undefined;
@@ -5529,12 +5979,29 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
5529
5979
  contentLength: number;
5530
5980
  version: number;
5531
5981
  verifiedAt: string;
5982
+ coldStartInventory?: {
5983
+ entries: {
5984
+ category: string;
5985
+ items?: string[] | undefined;
5986
+ notApplicableReason?: string | undefined;
5987
+ }[];
5988
+ version: number;
5989
+ sourceReviews: {
5990
+ detail: string;
5991
+ source: string;
5992
+ }[];
5993
+ } | undefined;
5532
5994
  supportingDocuments?: {
5533
5995
  path: string;
5534
5996
  description: string;
5535
5997
  contentHash: string;
5536
5998
  contentLength: number;
5537
5999
  }[] | undefined;
6000
+ resumeReadyAt?: string | undefined;
6001
+ readBackSourceReviews?: {
6002
+ detail: string;
6003
+ source: string;
6004
+ }[] | undefined;
5538
6005
  } | null | undefined;
5539
6006
  handoffReadAt?: string | undefined;
5540
6007
  handoffHistory?: {
@@ -5579,13 +6046,16 @@ export type FeaturesDocument = {
5579
6046
  };
5580
6047
  export type PhaseStatus = z.infer<typeof PhaseStatusSchema>;
5581
6048
  export type TaskStatus = z.infer<typeof TaskStatusSchema>;
5582
- export type RequirementStatus = z.infer<typeof RequirementStatusSchema>;
6049
+ export type MacroTaskStatus = z.infer<typeof MacroTaskStatusSchema>;
5583
6050
  export type SubtaskStatus = z.infer<typeof SubtaskStatusSchema>;
5584
6051
  export type Manifest = z.infer<typeof ManifestSchema>;
5585
6052
  export type WorkflowRules = z.infer<typeof WorkflowRulesSchema>;
5586
6053
  export type AcceptedDecision = z.infer<typeof AcceptedDecisionSchema>;
5587
6054
  export type HandoffCompletenessEntry = z.infer<typeof HandoffCompletenessEntrySchema>;
5588
6055
  export type HandoffSupportingDocument = z.infer<typeof HandoffSupportingDocumentSchema>;
6056
+ export type HandoffColdStartInventoryEntry = z.infer<typeof HandoffColdStartInventoryEntrySchema>;
6057
+ export type HandoffColdStartSourceReview = z.infer<typeof HandoffColdStartSourceReviewSchema>;
6058
+ export type HandoffColdStartInventory = z.infer<typeof HandoffColdStartInventorySchema>;
5589
6059
  export type HandoffCompletenessAudit = z.infer<typeof HandoffCompletenessAuditSchema>;
5590
6060
  export type Project = z.infer<typeof ProjectSchema>;
5591
6061
  export type WorkDeviation = z.infer<typeof WorkDeviationSchema>;