@agent-plan/core 0.2.19-next.9 → 0.2.20
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/checklist.d.ts +16 -0
- package/dist/checklist.d.ts.map +1 -0
- package/dist/checklist.js +52 -0
- package/dist/display-status.d.ts +99 -0
- package/dist/display-status.d.ts.map +1 -0
- package/dist/display-status.js +176 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/naming.d.ts +21 -3
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +45 -3
- package/dist/plan-store.d.ts +156 -28
- package/dist/plan-store.d.ts.map +1 -1
- package/dist/plan-store.js +802 -140
- package/dist/recap.d.ts.map +1 -1
- package/dist/recap.js +18 -4
- package/dist/refs.d.ts.map +1 -1
- package/dist/refs.js +23 -8
- package/dist/schema.d.ts +736 -145
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +56 -9
- package/dist/task-context.d.ts +16 -0
- package/dist/task-context.d.ts.map +1 -0
- package/dist/task-context.js +65 -0
- package/dist/task-selection.d.ts +34 -0
- package/dist/task-selection.d.ts.map +1 -0
- package/dist/task-selection.js +95 -0
- package/package.json +4 -1
package/dist/schema.d.ts
CHANGED
|
@@ -272,6 +272,46 @@ export declare const AcceptedDecisionSchema: z.ZodObject<{
|
|
|
272
272
|
rationale?: string | undefined;
|
|
273
273
|
implementationNotes?: string | undefined;
|
|
274
274
|
}>;
|
|
275
|
+
export declare const WorkDeviationSchema: z.ZodObject<{
|
|
276
|
+
id: z.ZodString;
|
|
277
|
+
/** Task the priority selector recommended when the deviation was approved. */
|
|
278
|
+
recommendedTaskId: z.ZodString;
|
|
279
|
+
/** Task intentionally chosen instead of the recommendation. */
|
|
280
|
+
temporaryTaskId: z.ZodString;
|
|
281
|
+
/** Task to surface explicitly after the temporary work is resolved. */
|
|
282
|
+
resumeTaskId: z.ZodString;
|
|
283
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
284
|
+
requestedBy: z.ZodDefault<z.ZodEnum<["agent", "user"]>>;
|
|
285
|
+
approvedBy: z.ZodDefault<z.ZodString>;
|
|
286
|
+
state: z.ZodDefault<z.ZodEnum<["approved", "active", "resolved", "canceled"]>>;
|
|
287
|
+
createdAt: z.ZodString;
|
|
288
|
+
activatedAt: z.ZodDefault<z.ZodString>;
|
|
289
|
+
resolvedAt: z.ZodDefault<z.ZodString>;
|
|
290
|
+
}, "strip", z.ZodTypeAny, {
|
|
291
|
+
id: string;
|
|
292
|
+
createdAt: string;
|
|
293
|
+
recommendedTaskId: string;
|
|
294
|
+
temporaryTaskId: string;
|
|
295
|
+
resumeTaskId: string;
|
|
296
|
+
reason: string;
|
|
297
|
+
requestedBy: "agent" | "user";
|
|
298
|
+
approvedBy: string;
|
|
299
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
300
|
+
activatedAt: string;
|
|
301
|
+
resolvedAt: string;
|
|
302
|
+
}, {
|
|
303
|
+
id: string;
|
|
304
|
+
createdAt: string;
|
|
305
|
+
recommendedTaskId: string;
|
|
306
|
+
temporaryTaskId: string;
|
|
307
|
+
resumeTaskId: string;
|
|
308
|
+
reason?: string | undefined;
|
|
309
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
310
|
+
approvedBy?: string | undefined;
|
|
311
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
312
|
+
activatedAt?: string | undefined;
|
|
313
|
+
resolvedAt?: string | undefined;
|
|
314
|
+
}>;
|
|
275
315
|
export declare const ProjectSchema: z.ZodObject<{
|
|
276
316
|
name: z.ZodString;
|
|
277
317
|
goal: z.ZodDefault<z.ZodString>;
|
|
@@ -324,6 +364,47 @@ export declare const ProjectSchema: z.ZodObject<{
|
|
|
324
364
|
nextFeatureNumber: z.ZodDefault<z.ZodNumber>;
|
|
325
365
|
nextPhaseNumber: z.ZodDefault<z.ZodNumber>;
|
|
326
366
|
nextTaskNumber: z.ZodDefault<z.ZodNumber>;
|
|
367
|
+
/** Ordered history of approved temporary work deviations; active entries form a resumable stack. */
|
|
368
|
+
workDeviations: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
369
|
+
id: z.ZodString;
|
|
370
|
+
/** Task the priority selector recommended when the deviation was approved. */
|
|
371
|
+
recommendedTaskId: z.ZodString;
|
|
372
|
+
/** Task intentionally chosen instead of the recommendation. */
|
|
373
|
+
temporaryTaskId: z.ZodString;
|
|
374
|
+
/** Task to surface explicitly after the temporary work is resolved. */
|
|
375
|
+
resumeTaskId: z.ZodString;
|
|
376
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
377
|
+
requestedBy: z.ZodDefault<z.ZodEnum<["agent", "user"]>>;
|
|
378
|
+
approvedBy: z.ZodDefault<z.ZodString>;
|
|
379
|
+
state: z.ZodDefault<z.ZodEnum<["approved", "active", "resolved", "canceled"]>>;
|
|
380
|
+
createdAt: z.ZodString;
|
|
381
|
+
activatedAt: z.ZodDefault<z.ZodString>;
|
|
382
|
+
resolvedAt: z.ZodDefault<z.ZodString>;
|
|
383
|
+
}, "strip", z.ZodTypeAny, {
|
|
384
|
+
id: string;
|
|
385
|
+
createdAt: string;
|
|
386
|
+
recommendedTaskId: string;
|
|
387
|
+
temporaryTaskId: string;
|
|
388
|
+
resumeTaskId: string;
|
|
389
|
+
reason: string;
|
|
390
|
+
requestedBy: "agent" | "user";
|
|
391
|
+
approvedBy: string;
|
|
392
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
393
|
+
activatedAt: string;
|
|
394
|
+
resolvedAt: string;
|
|
395
|
+
}, {
|
|
396
|
+
id: string;
|
|
397
|
+
createdAt: string;
|
|
398
|
+
recommendedTaskId: string;
|
|
399
|
+
temporaryTaskId: string;
|
|
400
|
+
resumeTaskId: string;
|
|
401
|
+
reason?: string | undefined;
|
|
402
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
403
|
+
approvedBy?: string | undefined;
|
|
404
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
405
|
+
activatedAt?: string | undefined;
|
|
406
|
+
resolvedAt?: string | undefined;
|
|
407
|
+
}>, "many">>;
|
|
327
408
|
}, "strip", z.ZodTypeAny, {
|
|
328
409
|
name: string;
|
|
329
410
|
goal: string;
|
|
@@ -353,6 +434,19 @@ export declare const ProjectSchema: z.ZodObject<{
|
|
|
353
434
|
nextFeatureNumber: number;
|
|
354
435
|
nextPhaseNumber: number;
|
|
355
436
|
nextTaskNumber: number;
|
|
437
|
+
workDeviations: {
|
|
438
|
+
id: string;
|
|
439
|
+
createdAt: string;
|
|
440
|
+
recommendedTaskId: string;
|
|
441
|
+
temporaryTaskId: string;
|
|
442
|
+
resumeTaskId: string;
|
|
443
|
+
reason: string;
|
|
444
|
+
requestedBy: "agent" | "user";
|
|
445
|
+
approvedBy: string;
|
|
446
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
447
|
+
activatedAt: string;
|
|
448
|
+
resolvedAt: string;
|
|
449
|
+
}[];
|
|
356
450
|
}, {
|
|
357
451
|
name: string;
|
|
358
452
|
workflowRules: {
|
|
@@ -382,6 +476,19 @@ export declare const ProjectSchema: z.ZodObject<{
|
|
|
382
476
|
nextFeatureNumber?: number | undefined;
|
|
383
477
|
nextPhaseNumber?: number | undefined;
|
|
384
478
|
nextTaskNumber?: number | undefined;
|
|
479
|
+
workDeviations?: {
|
|
480
|
+
id: string;
|
|
481
|
+
createdAt: string;
|
|
482
|
+
recommendedTaskId: string;
|
|
483
|
+
temporaryTaskId: string;
|
|
484
|
+
resumeTaskId: string;
|
|
485
|
+
reason?: string | undefined;
|
|
486
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
487
|
+
approvedBy?: string | undefined;
|
|
488
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
489
|
+
activatedAt?: string | undefined;
|
|
490
|
+
resolvedAt?: string | undefined;
|
|
491
|
+
}[] | undefined;
|
|
385
492
|
}>;
|
|
386
493
|
export declare const SubtaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
387
494
|
export declare const TaskStatusSchema: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
@@ -396,14 +503,14 @@ export declare const SubtaskSchema: z.ZodObject<{
|
|
|
396
503
|
createdAt: z.ZodString;
|
|
397
504
|
updatedAt: z.ZodString;
|
|
398
505
|
}, "strip", z.ZodTypeAny, {
|
|
399
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
506
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
400
507
|
updatedAt: string;
|
|
401
508
|
id: string;
|
|
402
509
|
createdAt: string;
|
|
403
510
|
title: string;
|
|
404
511
|
description: string;
|
|
405
512
|
}, {
|
|
406
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
513
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
407
514
|
updatedAt: string;
|
|
408
515
|
id: string;
|
|
409
516
|
createdAt: string;
|
|
@@ -412,15 +519,21 @@ export declare const SubtaskSchema: z.ZodObject<{
|
|
|
412
519
|
}>;
|
|
413
520
|
export declare const ChecklistItemSchema: z.ZodObject<{
|
|
414
521
|
id: z.ZodString;
|
|
522
|
+
/** Per-task 1-based position, displayed as C{number} (C1, C2, ...). Default 0
|
|
523
|
+
* so legacy on-disk items without a number still parse; the TaskSchema
|
|
524
|
+
* transform overwrites it with the real index+1. */
|
|
525
|
+
number: z.ZodDefault<z.ZodNumber>;
|
|
415
526
|
title: z.ZodString;
|
|
416
527
|
checked: z.ZodDefault<z.ZodBoolean>;
|
|
417
528
|
}, "strip", z.ZodTypeAny, {
|
|
529
|
+
number: number;
|
|
418
530
|
id: string;
|
|
419
531
|
title: string;
|
|
420
532
|
checked: boolean;
|
|
421
533
|
}, {
|
|
422
534
|
id: string;
|
|
423
535
|
title: string;
|
|
536
|
+
number?: number | undefined;
|
|
424
537
|
checked?: boolean | undefined;
|
|
425
538
|
}>;
|
|
426
539
|
/** Status transitions that require a motivation note from the agent. */
|
|
@@ -444,18 +557,44 @@ export declare const StatusLogEntrySchema: z.ZodObject<{
|
|
|
444
557
|
date: string;
|
|
445
558
|
title: string;
|
|
446
559
|
description: string;
|
|
447
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
448
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
560
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
561
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
449
562
|
}, {
|
|
450
563
|
id: string;
|
|
451
564
|
date: string;
|
|
452
565
|
title: string;
|
|
453
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
454
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
566
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
567
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
568
|
+
description?: string | undefined;
|
|
569
|
+
}>;
|
|
570
|
+
/** Like StatusLogEntrySchema but for the DERIVED PHASE status, which includes
|
|
571
|
+
* the "draft" and "discovery" lifecycle states absent from TaskStatus. */
|
|
572
|
+
export declare const PhaseStatusLogEntrySchema: z.ZodObject<{
|
|
573
|
+
id: z.ZodString;
|
|
574
|
+
date: z.ZodString;
|
|
575
|
+
fromStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
576
|
+
toStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
577
|
+
title: z.ZodString;
|
|
578
|
+
description: z.ZodDefault<z.ZodString>;
|
|
579
|
+
}, "strip", z.ZodTypeAny, {
|
|
580
|
+
id: string;
|
|
581
|
+
date: string;
|
|
582
|
+
title: string;
|
|
583
|
+
description: string;
|
|
584
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
585
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
586
|
+
}, {
|
|
587
|
+
id: string;
|
|
588
|
+
date: string;
|
|
589
|
+
title: string;
|
|
590
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
591
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
455
592
|
description?: string | undefined;
|
|
456
593
|
}>;
|
|
457
594
|
export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
458
595
|
id: z.ZodString;
|
|
596
|
+
/** MUST be a phase UUID (not a ref like "P003"). Validated at the schema
|
|
597
|
+
* layer so no adapter can persist an unresolved ref string. */
|
|
459
598
|
phaseId: z.ZodString;
|
|
460
599
|
/** Global project-wide task sequence (assigned once at creation from project.nextTaskNumber; stable, gaps on delete). Bare T00x is unambiguous. */
|
|
461
600
|
number: z.ZodDefault<z.ZodNumber>;
|
|
@@ -465,6 +604,8 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
465
604
|
title: z.ZodString;
|
|
466
605
|
status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
467
606
|
description: z.ZodDefault<z.ZodString>;
|
|
607
|
+
/** Updated only when this task's description changes; distinct from entity updatedAt. */
|
|
608
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
468
609
|
notes: z.ZodDefault<z.ZodString>;
|
|
469
610
|
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
470
611
|
id: z.ZodString;
|
|
@@ -478,14 +619,14 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
478
619
|
date: string;
|
|
479
620
|
title: string;
|
|
480
621
|
description: string;
|
|
481
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
482
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
622
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
623
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
483
624
|
}, {
|
|
484
625
|
id: string;
|
|
485
626
|
date: string;
|
|
486
627
|
title: string;
|
|
487
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
488
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
628
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
629
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
489
630
|
description?: string | undefined;
|
|
490
631
|
}>, "many">>;
|
|
491
632
|
decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -513,15 +654,21 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
513
654
|
}>, "many">>;
|
|
514
655
|
checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
515
656
|
id: z.ZodString;
|
|
657
|
+
/** Per-task 1-based position, displayed as C{number} (C1, C2, ...). Default 0
|
|
658
|
+
* so legacy on-disk items without a number still parse; the TaskSchema
|
|
659
|
+
* transform overwrites it with the real index+1. */
|
|
660
|
+
number: z.ZodDefault<z.ZodNumber>;
|
|
516
661
|
title: z.ZodString;
|
|
517
662
|
checked: z.ZodDefault<z.ZodBoolean>;
|
|
518
663
|
}, "strip", z.ZodTypeAny, {
|
|
664
|
+
number: number;
|
|
519
665
|
id: string;
|
|
520
666
|
title: string;
|
|
521
667
|
checked: boolean;
|
|
522
668
|
}, {
|
|
523
669
|
id: string;
|
|
524
670
|
title: string;
|
|
671
|
+
number?: number | undefined;
|
|
525
672
|
checked?: boolean | undefined;
|
|
526
673
|
}>]>, "many">>;
|
|
527
674
|
subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -532,14 +679,14 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
532
679
|
createdAt: z.ZodString;
|
|
533
680
|
updatedAt: z.ZodString;
|
|
534
681
|
}, "strip", z.ZodTypeAny, {
|
|
535
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
682
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
536
683
|
updatedAt: string;
|
|
537
684
|
id: string;
|
|
538
685
|
createdAt: string;
|
|
539
686
|
title: string;
|
|
540
687
|
description: string;
|
|
541
688
|
}, {
|
|
542
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
689
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
543
690
|
updatedAt: string;
|
|
544
691
|
id: string;
|
|
545
692
|
createdAt: string;
|
|
@@ -553,7 +700,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
553
700
|
updatedAt: z.ZodString;
|
|
554
701
|
}, "strip", z.ZodTypeAny, {
|
|
555
702
|
number: number;
|
|
556
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
703
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
557
704
|
updatedAt: string;
|
|
558
705
|
notes: string;
|
|
559
706
|
id: string;
|
|
@@ -573,21 +720,23 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
573
720
|
shortId: string;
|
|
574
721
|
priority: number;
|
|
575
722
|
shortName: string;
|
|
723
|
+
descriptionUpdatedAt: string;
|
|
576
724
|
statusLog: {
|
|
577
725
|
id: string;
|
|
578
726
|
date: string;
|
|
579
727
|
title: string;
|
|
580
728
|
description: string;
|
|
581
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
582
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
729
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
730
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
583
731
|
}[];
|
|
584
732
|
checklist: (string | {
|
|
733
|
+
number: number;
|
|
585
734
|
id: string;
|
|
586
735
|
title: string;
|
|
587
736
|
checked: boolean;
|
|
588
737
|
})[];
|
|
589
738
|
subtasks: {
|
|
590
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
739
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
591
740
|
updatedAt: string;
|
|
592
741
|
id: string;
|
|
593
742
|
createdAt: string;
|
|
@@ -598,7 +747,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
598
747
|
startedAt: string;
|
|
599
748
|
completedAt: string;
|
|
600
749
|
}, {
|
|
601
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
750
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
602
751
|
updatedAt: string;
|
|
603
752
|
id: string;
|
|
604
753
|
createdAt: string;
|
|
@@ -619,21 +768,23 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
619
768
|
}[] | undefined;
|
|
620
769
|
shortId?: string | undefined;
|
|
621
770
|
priority?: number | undefined;
|
|
771
|
+
descriptionUpdatedAt?: string | undefined;
|
|
622
772
|
statusLog?: {
|
|
623
773
|
id: string;
|
|
624
774
|
date: string;
|
|
625
775
|
title: string;
|
|
626
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
627
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
776
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
777
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
628
778
|
description?: string | undefined;
|
|
629
779
|
}[] | undefined;
|
|
630
780
|
checklist?: (string | {
|
|
631
781
|
id: string;
|
|
632
782
|
title: string;
|
|
783
|
+
number?: number | undefined;
|
|
633
784
|
checked?: boolean | undefined;
|
|
634
785
|
})[] | undefined;
|
|
635
786
|
subtasks?: {
|
|
636
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
787
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
637
788
|
updatedAt: string;
|
|
638
789
|
id: string;
|
|
639
790
|
createdAt: string;
|
|
@@ -646,11 +797,12 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
646
797
|
}>, {
|
|
647
798
|
checklist: {
|
|
648
799
|
id: string;
|
|
800
|
+
number: number;
|
|
649
801
|
title: string;
|
|
650
802
|
checked: boolean;
|
|
651
803
|
}[];
|
|
652
804
|
number: number;
|
|
653
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
805
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
654
806
|
updatedAt: string;
|
|
655
807
|
notes: string;
|
|
656
808
|
id: string;
|
|
@@ -670,16 +822,17 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
670
822
|
shortId: string;
|
|
671
823
|
priority: number;
|
|
672
824
|
shortName: string;
|
|
825
|
+
descriptionUpdatedAt: string;
|
|
673
826
|
statusLog: {
|
|
674
827
|
id: string;
|
|
675
828
|
date: string;
|
|
676
829
|
title: string;
|
|
677
830
|
description: string;
|
|
678
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
679
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
831
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
832
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
680
833
|
}[];
|
|
681
834
|
subtasks: {
|
|
682
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
835
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
683
836
|
updatedAt: string;
|
|
684
837
|
id: string;
|
|
685
838
|
createdAt: string;
|
|
@@ -690,7 +843,7 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
690
843
|
startedAt: string;
|
|
691
844
|
completedAt: string;
|
|
692
845
|
}, {
|
|
693
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
846
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
694
847
|
updatedAt: string;
|
|
695
848
|
id: string;
|
|
696
849
|
createdAt: string;
|
|
@@ -711,21 +864,23 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
711
864
|
}[] | undefined;
|
|
712
865
|
shortId?: string | undefined;
|
|
713
866
|
priority?: number | undefined;
|
|
867
|
+
descriptionUpdatedAt?: string | undefined;
|
|
714
868
|
statusLog?: {
|
|
715
869
|
id: string;
|
|
716
870
|
date: string;
|
|
717
871
|
title: string;
|
|
718
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
719
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
872
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
873
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
720
874
|
description?: string | undefined;
|
|
721
875
|
}[] | undefined;
|
|
722
876
|
checklist?: (string | {
|
|
723
877
|
id: string;
|
|
724
878
|
title: string;
|
|
879
|
+
number?: number | undefined;
|
|
725
880
|
checked?: boolean | undefined;
|
|
726
881
|
})[] | undefined;
|
|
727
882
|
subtasks?: {
|
|
728
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
883
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
729
884
|
updatedAt: string;
|
|
730
885
|
id: string;
|
|
731
886
|
createdAt: string;
|
|
@@ -737,15 +892,15 @@ export declare const TaskSchema: z.ZodEffects<z.ZodObject<{
|
|
|
737
892
|
completedAt?: string | undefined;
|
|
738
893
|
}>;
|
|
739
894
|
export declare const HandoffHistoryEntrySchema: z.ZodObject<{
|
|
740
|
-
/** Relative path under .planner/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
895
|
+
/** Relative path under .planner/.local/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
741
896
|
file: z.ZodDefault<z.ZodString>;
|
|
742
897
|
clearedAt: z.ZodString;
|
|
743
898
|
/** Why the handoff was cleared: "task-started" | "phase-done" | "manual" | "superseded" | "imported". */
|
|
744
899
|
reason: z.ZodDefault<z.ZodString>;
|
|
745
900
|
}, "strip", z.ZodTypeAny, {
|
|
746
901
|
file: string;
|
|
747
|
-
clearedAt: string;
|
|
748
902
|
reason: string;
|
|
903
|
+
clearedAt: string;
|
|
749
904
|
}, {
|
|
750
905
|
clearedAt: string;
|
|
751
906
|
file?: string | undefined;
|
|
@@ -753,6 +908,9 @@ export declare const HandoffHistoryEntrySchema: z.ZodObject<{
|
|
|
753
908
|
}>;
|
|
754
909
|
export declare const PhaseSchema: z.ZodObject<{
|
|
755
910
|
id: z.ZodString;
|
|
911
|
+
/** MUST be a feature UUID (not a ref like "F005"). Validated at the schema
|
|
912
|
+
* layer so no adapter can persist an unresolved ref string. Optional only
|
|
913
|
+
* for legacy pre-feature phases. */
|
|
756
914
|
featureId: z.ZodOptional<z.ZodString>;
|
|
757
915
|
/** Global project-wide phase sequence (assigned once at creation from project.nextPhaseNumber; stable, gaps on delete). Bare P00x is unambiguous. */
|
|
758
916
|
number: z.ZodNumber;
|
|
@@ -765,6 +923,8 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
765
923
|
contextReadyReason: z.ZodDefault<z.ZodString>;
|
|
766
924
|
summary: z.ZodDefault<z.ZodString>;
|
|
767
925
|
description: z.ZodDefault<z.ZodString>;
|
|
926
|
+
/** Updated only when this phase's description changes; distinct from entity updatedAt. */
|
|
927
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
768
928
|
notes: z.ZodDefault<z.ZodString>;
|
|
769
929
|
goals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
770
930
|
nonGoals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -799,6 +959,8 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
799
959
|
taskIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
800
960
|
tasks: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
801
961
|
id: z.ZodString;
|
|
962
|
+
/** MUST be a phase UUID (not a ref like "P003"). Validated at the schema
|
|
963
|
+
* layer so no adapter can persist an unresolved ref string. */
|
|
802
964
|
phaseId: z.ZodString;
|
|
803
965
|
/** Global project-wide task sequence (assigned once at creation from project.nextTaskNumber; stable, gaps on delete). Bare T00x is unambiguous. */
|
|
804
966
|
number: z.ZodDefault<z.ZodNumber>;
|
|
@@ -808,6 +970,8 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
808
970
|
title: z.ZodString;
|
|
809
971
|
status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
810
972
|
description: z.ZodDefault<z.ZodString>;
|
|
973
|
+
/** Updated only when this task's description changes; distinct from entity updatedAt. */
|
|
974
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
811
975
|
notes: z.ZodDefault<z.ZodString>;
|
|
812
976
|
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
813
977
|
id: z.ZodString;
|
|
@@ -821,14 +985,14 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
821
985
|
date: string;
|
|
822
986
|
title: string;
|
|
823
987
|
description: string;
|
|
824
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
825
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
988
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
989
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
826
990
|
}, {
|
|
827
991
|
id: string;
|
|
828
992
|
date: string;
|
|
829
993
|
title: string;
|
|
830
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
831
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
994
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
995
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
832
996
|
description?: string | undefined;
|
|
833
997
|
}>, "many">>;
|
|
834
998
|
decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -856,15 +1020,21 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
856
1020
|
}>, "many">>;
|
|
857
1021
|
checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
858
1022
|
id: z.ZodString;
|
|
1023
|
+
/** Per-task 1-based position, displayed as C{number} (C1, C2, ...). Default 0
|
|
1024
|
+
* so legacy on-disk items without a number still parse; the TaskSchema
|
|
1025
|
+
* transform overwrites it with the real index+1. */
|
|
1026
|
+
number: z.ZodDefault<z.ZodNumber>;
|
|
859
1027
|
title: z.ZodString;
|
|
860
1028
|
checked: z.ZodDefault<z.ZodBoolean>;
|
|
861
1029
|
}, "strip", z.ZodTypeAny, {
|
|
1030
|
+
number: number;
|
|
862
1031
|
id: string;
|
|
863
1032
|
title: string;
|
|
864
1033
|
checked: boolean;
|
|
865
1034
|
}, {
|
|
866
1035
|
id: string;
|
|
867
1036
|
title: string;
|
|
1037
|
+
number?: number | undefined;
|
|
868
1038
|
checked?: boolean | undefined;
|
|
869
1039
|
}>]>, "many">>;
|
|
870
1040
|
subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -875,14 +1045,14 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
875
1045
|
createdAt: z.ZodString;
|
|
876
1046
|
updatedAt: z.ZodString;
|
|
877
1047
|
}, "strip", z.ZodTypeAny, {
|
|
878
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1048
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
879
1049
|
updatedAt: string;
|
|
880
1050
|
id: string;
|
|
881
1051
|
createdAt: string;
|
|
882
1052
|
title: string;
|
|
883
1053
|
description: string;
|
|
884
1054
|
}, {
|
|
885
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1055
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
886
1056
|
updatedAt: string;
|
|
887
1057
|
id: string;
|
|
888
1058
|
createdAt: string;
|
|
@@ -896,7 +1066,7 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
896
1066
|
updatedAt: z.ZodString;
|
|
897
1067
|
}, "strip", z.ZodTypeAny, {
|
|
898
1068
|
number: number;
|
|
899
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1069
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
900
1070
|
updatedAt: string;
|
|
901
1071
|
notes: string;
|
|
902
1072
|
id: string;
|
|
@@ -916,21 +1086,23 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
916
1086
|
shortId: string;
|
|
917
1087
|
priority: number;
|
|
918
1088
|
shortName: string;
|
|
1089
|
+
descriptionUpdatedAt: string;
|
|
919
1090
|
statusLog: {
|
|
920
1091
|
id: string;
|
|
921
1092
|
date: string;
|
|
922
1093
|
title: string;
|
|
923
1094
|
description: string;
|
|
924
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
925
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1095
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1096
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
926
1097
|
}[];
|
|
927
1098
|
checklist: (string | {
|
|
1099
|
+
number: number;
|
|
928
1100
|
id: string;
|
|
929
1101
|
title: string;
|
|
930
1102
|
checked: boolean;
|
|
931
1103
|
})[];
|
|
932
1104
|
subtasks: {
|
|
933
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1105
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
934
1106
|
updatedAt: string;
|
|
935
1107
|
id: string;
|
|
936
1108
|
createdAt: string;
|
|
@@ -941,7 +1113,7 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
941
1113
|
startedAt: string;
|
|
942
1114
|
completedAt: string;
|
|
943
1115
|
}, {
|
|
944
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1116
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
945
1117
|
updatedAt: string;
|
|
946
1118
|
id: string;
|
|
947
1119
|
createdAt: string;
|
|
@@ -962,21 +1134,23 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
962
1134
|
}[] | undefined;
|
|
963
1135
|
shortId?: string | undefined;
|
|
964
1136
|
priority?: number | undefined;
|
|
1137
|
+
descriptionUpdatedAt?: string | undefined;
|
|
965
1138
|
statusLog?: {
|
|
966
1139
|
id: string;
|
|
967
1140
|
date: string;
|
|
968
1141
|
title: string;
|
|
969
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
970
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1142
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1143
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
971
1144
|
description?: string | undefined;
|
|
972
1145
|
}[] | undefined;
|
|
973
1146
|
checklist?: (string | {
|
|
974
1147
|
id: string;
|
|
975
1148
|
title: string;
|
|
1149
|
+
number?: number | undefined;
|
|
976
1150
|
checked?: boolean | undefined;
|
|
977
1151
|
})[] | undefined;
|
|
978
1152
|
subtasks?: {
|
|
979
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1153
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
980
1154
|
updatedAt: string;
|
|
981
1155
|
id: string;
|
|
982
1156
|
createdAt: string;
|
|
@@ -989,11 +1163,12 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
989
1163
|
}>, {
|
|
990
1164
|
checklist: {
|
|
991
1165
|
id: string;
|
|
1166
|
+
number: number;
|
|
992
1167
|
title: string;
|
|
993
1168
|
checked: boolean;
|
|
994
1169
|
}[];
|
|
995
1170
|
number: number;
|
|
996
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1171
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
997
1172
|
updatedAt: string;
|
|
998
1173
|
notes: string;
|
|
999
1174
|
id: string;
|
|
@@ -1013,16 +1188,17 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1013
1188
|
shortId: string;
|
|
1014
1189
|
priority: number;
|
|
1015
1190
|
shortName: string;
|
|
1191
|
+
descriptionUpdatedAt: string;
|
|
1016
1192
|
statusLog: {
|
|
1017
1193
|
id: string;
|
|
1018
1194
|
date: string;
|
|
1019
1195
|
title: string;
|
|
1020
1196
|
description: string;
|
|
1021
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1022
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1197
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1198
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1023
1199
|
}[];
|
|
1024
1200
|
subtasks: {
|
|
1025
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1201
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1026
1202
|
updatedAt: string;
|
|
1027
1203
|
id: string;
|
|
1028
1204
|
createdAt: string;
|
|
@@ -1033,7 +1209,7 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1033
1209
|
startedAt: string;
|
|
1034
1210
|
completedAt: string;
|
|
1035
1211
|
}, {
|
|
1036
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1212
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1037
1213
|
updatedAt: string;
|
|
1038
1214
|
id: string;
|
|
1039
1215
|
createdAt: string;
|
|
@@ -1054,21 +1230,23 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1054
1230
|
}[] | undefined;
|
|
1055
1231
|
shortId?: string | undefined;
|
|
1056
1232
|
priority?: number | undefined;
|
|
1233
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1057
1234
|
statusLog?: {
|
|
1058
1235
|
id: string;
|
|
1059
1236
|
date: string;
|
|
1060
1237
|
title: string;
|
|
1061
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1062
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1238
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1239
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1063
1240
|
description?: string | undefined;
|
|
1064
1241
|
}[] | undefined;
|
|
1065
1242
|
checklist?: (string | {
|
|
1066
1243
|
id: string;
|
|
1067
1244
|
title: string;
|
|
1245
|
+
number?: number | undefined;
|
|
1068
1246
|
checked?: boolean | undefined;
|
|
1069
1247
|
})[] | undefined;
|
|
1070
1248
|
subtasks?: {
|
|
1071
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1249
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1072
1250
|
updatedAt: string;
|
|
1073
1251
|
id: string;
|
|
1074
1252
|
createdAt: string;
|
|
@@ -1084,29 +1262,52 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1084
1262
|
handoff: z.ZodDefault<z.ZodString>;
|
|
1085
1263
|
handoffUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
1086
1264
|
/** When the handoff was last read/acknowledged on recap (ISO). Non-empty means
|
|
1087
|
-
* the agent has seen it; the recap won't re-prompt every turn.
|
|
1088
|
-
* content
|
|
1089
|
-
*
|
|
1265
|
+
* the agent has seen it; the recap won't re-prompt every turn. Reading is
|
|
1266
|
+
* non-mutating: content remains until every task is done/canceled, a later
|
|
1267
|
+
* handoff supersedes it, or the user explicitly clears it. */
|
|
1090
1268
|
handoffReadAt: z.ZodDefault<z.ZodString>;
|
|
1091
1269
|
/** Metadata for recently-cleared handoffs (newest-first, capped at 5). The
|
|
1092
|
-
* full content lives as .md files in .planner/handoff-archive/ (gitignored);
|
|
1270
|
+
* full content lives as .md files in .planner/.local/handoff-archive/ (gitignored);
|
|
1093
1271
|
* this array only holds the pointer + clear reason + timestamp, so the phase
|
|
1094
1272
|
* JSON stays lean and the archive is recoverable. */
|
|
1095
1273
|
handoffHistory: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1096
|
-
/** Relative path under .planner/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
1274
|
+
/** Relative path under .planner/.local/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
1097
1275
|
file: z.ZodDefault<z.ZodString>;
|
|
1098
1276
|
clearedAt: z.ZodString;
|
|
1099
1277
|
/** Why the handoff was cleared: "task-started" | "phase-done" | "manual" | "superseded" | "imported". */
|
|
1100
1278
|
reason: z.ZodDefault<z.ZodString>;
|
|
1101
1279
|
}, "strip", z.ZodTypeAny, {
|
|
1102
1280
|
file: string;
|
|
1103
|
-
clearedAt: string;
|
|
1104
1281
|
reason: string;
|
|
1282
|
+
clearedAt: string;
|
|
1105
1283
|
}, {
|
|
1106
1284
|
clearedAt: string;
|
|
1107
1285
|
file?: string | undefined;
|
|
1108
1286
|
reason?: string | undefined;
|
|
1109
1287
|
}>, "many">>;
|
|
1288
|
+
/** Chronological audit trail of the DERIVED status (planned/in-progress/blocked/done/...). Appended ONLY when the derived status changes during a rollup; `status` itself is NOT persisted (still computed from child tasks at read time). Empty = no transition recorded yet (treated as "planned"). */
|
|
1289
|
+
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1290
|
+
id: z.ZodString;
|
|
1291
|
+
date: z.ZodString;
|
|
1292
|
+
fromStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1293
|
+
toStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1294
|
+
title: z.ZodString;
|
|
1295
|
+
description: z.ZodDefault<z.ZodString>;
|
|
1296
|
+
}, "strip", z.ZodTypeAny, {
|
|
1297
|
+
id: string;
|
|
1298
|
+
date: string;
|
|
1299
|
+
title: string;
|
|
1300
|
+
description: string;
|
|
1301
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1302
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1303
|
+
}, {
|
|
1304
|
+
id: string;
|
|
1305
|
+
date: string;
|
|
1306
|
+
title: string;
|
|
1307
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1308
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1309
|
+
description?: string | undefined;
|
|
1310
|
+
}>, "many">>;
|
|
1110
1311
|
}, "strip", z.ZodTypeAny, {
|
|
1111
1312
|
number: number;
|
|
1112
1313
|
dependencies: string[];
|
|
@@ -1128,6 +1329,15 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1128
1329
|
}[];
|
|
1129
1330
|
shortId: string;
|
|
1130
1331
|
priority: number;
|
|
1332
|
+
descriptionUpdatedAt: string;
|
|
1333
|
+
statusLog: {
|
|
1334
|
+
id: string;
|
|
1335
|
+
date: string;
|
|
1336
|
+
title: string;
|
|
1337
|
+
description: string;
|
|
1338
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1339
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1340
|
+
}[];
|
|
1131
1341
|
dependsOn: string[];
|
|
1132
1342
|
slug: string;
|
|
1133
1343
|
discussedAt: string;
|
|
@@ -1142,11 +1352,12 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1142
1352
|
tasks: {
|
|
1143
1353
|
checklist: {
|
|
1144
1354
|
id: string;
|
|
1355
|
+
number: number;
|
|
1145
1356
|
title: string;
|
|
1146
1357
|
checked: boolean;
|
|
1147
1358
|
}[];
|
|
1148
1359
|
number: number;
|
|
1149
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1360
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1150
1361
|
updatedAt: string;
|
|
1151
1362
|
notes: string;
|
|
1152
1363
|
id: string;
|
|
@@ -1166,16 +1377,17 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1166
1377
|
shortId: string;
|
|
1167
1378
|
priority: number;
|
|
1168
1379
|
shortName: string;
|
|
1380
|
+
descriptionUpdatedAt: string;
|
|
1169
1381
|
statusLog: {
|
|
1170
1382
|
id: string;
|
|
1171
1383
|
date: string;
|
|
1172
1384
|
title: string;
|
|
1173
1385
|
description: string;
|
|
1174
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1175
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1386
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1387
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1176
1388
|
}[];
|
|
1177
1389
|
subtasks: {
|
|
1178
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1390
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1179
1391
|
updatedAt: string;
|
|
1180
1392
|
id: string;
|
|
1181
1393
|
createdAt: string;
|
|
@@ -1191,8 +1403,8 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1191
1403
|
handoffReadAt: string;
|
|
1192
1404
|
handoffHistory: {
|
|
1193
1405
|
file: string;
|
|
1194
|
-
clearedAt: string;
|
|
1195
1406
|
reason: string;
|
|
1407
|
+
clearedAt: string;
|
|
1196
1408
|
}[];
|
|
1197
1409
|
featureId?: string | undefined;
|
|
1198
1410
|
}, {
|
|
@@ -1217,6 +1429,15 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1217
1429
|
}[] | undefined;
|
|
1218
1430
|
shortId?: string | undefined;
|
|
1219
1431
|
priority?: number | undefined;
|
|
1432
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1433
|
+
statusLog?: {
|
|
1434
|
+
id: string;
|
|
1435
|
+
date: string;
|
|
1436
|
+
title: string;
|
|
1437
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1438
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
1439
|
+
description?: string | undefined;
|
|
1440
|
+
}[] | undefined;
|
|
1220
1441
|
dependsOn?: string[] | undefined;
|
|
1221
1442
|
featureId?: string | undefined;
|
|
1222
1443
|
discussedAt?: string | undefined;
|
|
@@ -1229,7 +1450,7 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1229
1450
|
completionCriteria?: string[] | undefined;
|
|
1230
1451
|
taskIds?: string[] | undefined;
|
|
1231
1452
|
tasks?: {
|
|
1232
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1453
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1233
1454
|
updatedAt: string;
|
|
1234
1455
|
id: string;
|
|
1235
1456
|
createdAt: string;
|
|
@@ -1250,21 +1471,23 @@ export declare const PhaseSchema: z.ZodObject<{
|
|
|
1250
1471
|
}[] | undefined;
|
|
1251
1472
|
shortId?: string | undefined;
|
|
1252
1473
|
priority?: number | undefined;
|
|
1474
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1253
1475
|
statusLog?: {
|
|
1254
1476
|
id: string;
|
|
1255
1477
|
date: string;
|
|
1256
1478
|
title: string;
|
|
1257
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1258
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1479
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1480
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1259
1481
|
description?: string | undefined;
|
|
1260
1482
|
}[] | undefined;
|
|
1261
1483
|
checklist?: (string | {
|
|
1262
1484
|
id: string;
|
|
1263
1485
|
title: string;
|
|
1486
|
+
number?: number | undefined;
|
|
1264
1487
|
checked?: boolean | undefined;
|
|
1265
1488
|
})[] | undefined;
|
|
1266
1489
|
subtasks?: {
|
|
1267
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1490
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1268
1491
|
updatedAt: string;
|
|
1269
1492
|
id: string;
|
|
1270
1493
|
createdAt: string;
|
|
@@ -1292,6 +1515,8 @@ export declare const FeatureSchema: z.ZodObject<{
|
|
|
1292
1515
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1293
1516
|
name: z.ZodString;
|
|
1294
1517
|
description: z.ZodDefault<z.ZodString>;
|
|
1518
|
+
/** Updated only when this feature's description changes; distinct from entity updatedAt. */
|
|
1519
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
1295
1520
|
discussedAt: z.ZodDefault<z.ZodString>;
|
|
1296
1521
|
contextReady: z.ZodDefault<z.ZodBoolean>;
|
|
1297
1522
|
contextReadyReason: z.ZodDefault<z.ZodString>;
|
|
@@ -1323,6 +1548,29 @@ export declare const FeatureSchema: z.ZodObject<{
|
|
|
1323
1548
|
}>, "many">>;
|
|
1324
1549
|
phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1325
1550
|
dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1551
|
+
/** Chronological audit trail of the DERIVED status (computed from child phases at read time). Appended ONLY when the derived status changes during a rollup; `status` itself is NOT persisted. Empty = no transition recorded yet (treated as "planned"). */
|
|
1552
|
+
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1553
|
+
id: z.ZodString;
|
|
1554
|
+
date: z.ZodString;
|
|
1555
|
+
fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1556
|
+
toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1557
|
+
title: z.ZodString;
|
|
1558
|
+
description: z.ZodDefault<z.ZodString>;
|
|
1559
|
+
}, "strip", z.ZodTypeAny, {
|
|
1560
|
+
id: string;
|
|
1561
|
+
date: string;
|
|
1562
|
+
title: string;
|
|
1563
|
+
description: string;
|
|
1564
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1565
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1566
|
+
}, {
|
|
1567
|
+
id: string;
|
|
1568
|
+
date: string;
|
|
1569
|
+
title: string;
|
|
1570
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1571
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1572
|
+
description?: string | undefined;
|
|
1573
|
+
}>, "many">>;
|
|
1326
1574
|
createdAt: z.ZodString;
|
|
1327
1575
|
updatedAt: z.ZodString;
|
|
1328
1576
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1342,6 +1590,15 @@ export declare const FeatureSchema: z.ZodObject<{
|
|
|
1342
1590
|
}[];
|
|
1343
1591
|
shortId: string;
|
|
1344
1592
|
priority: number;
|
|
1593
|
+
descriptionUpdatedAt: string;
|
|
1594
|
+
statusLog: {
|
|
1595
|
+
id: string;
|
|
1596
|
+
date: string;
|
|
1597
|
+
title: string;
|
|
1598
|
+
description: string;
|
|
1599
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1600
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1601
|
+
}[];
|
|
1345
1602
|
dependsOn: string[];
|
|
1346
1603
|
discussedAt: string;
|
|
1347
1604
|
contextReady: boolean;
|
|
@@ -1368,6 +1625,15 @@ export declare const FeatureSchema: z.ZodObject<{
|
|
|
1368
1625
|
}[] | undefined;
|
|
1369
1626
|
shortId?: string | undefined;
|
|
1370
1627
|
priority?: number | undefined;
|
|
1628
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1629
|
+
statusLog?: {
|
|
1630
|
+
id: string;
|
|
1631
|
+
date: string;
|
|
1632
|
+
title: string;
|
|
1633
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1634
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1635
|
+
description?: string | undefined;
|
|
1636
|
+
}[] | undefined;
|
|
1371
1637
|
dependsOn?: string[] | undefined;
|
|
1372
1638
|
discussedAt?: string | undefined;
|
|
1373
1639
|
contextReady?: boolean | undefined;
|
|
@@ -1387,6 +1653,8 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1387
1653
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1388
1654
|
name: z.ZodString;
|
|
1389
1655
|
description: z.ZodDefault<z.ZodString>;
|
|
1656
|
+
/** Updated only when this feature's description changes; distinct from entity updatedAt. */
|
|
1657
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
1390
1658
|
discussedAt: z.ZodDefault<z.ZodString>;
|
|
1391
1659
|
contextReady: z.ZodDefault<z.ZodBoolean>;
|
|
1392
1660
|
contextReadyReason: z.ZodDefault<z.ZodString>;
|
|
@@ -1418,6 +1686,29 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1418
1686
|
}>, "many">>;
|
|
1419
1687
|
phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1420
1688
|
dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1689
|
+
/** Chronological audit trail of the DERIVED status (computed from child phases at read time). Appended ONLY when the derived status changes during a rollup; `status` itself is NOT persisted. Empty = no transition recorded yet (treated as "planned"). */
|
|
1690
|
+
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1691
|
+
id: z.ZodString;
|
|
1692
|
+
date: z.ZodString;
|
|
1693
|
+
fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1694
|
+
toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
1695
|
+
title: z.ZodString;
|
|
1696
|
+
description: z.ZodDefault<z.ZodString>;
|
|
1697
|
+
}, "strip", z.ZodTypeAny, {
|
|
1698
|
+
id: string;
|
|
1699
|
+
date: string;
|
|
1700
|
+
title: string;
|
|
1701
|
+
description: string;
|
|
1702
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1703
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1704
|
+
}, {
|
|
1705
|
+
id: string;
|
|
1706
|
+
date: string;
|
|
1707
|
+
title: string;
|
|
1708
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1709
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1710
|
+
description?: string | undefined;
|
|
1711
|
+
}>, "many">>;
|
|
1421
1712
|
createdAt: z.ZodString;
|
|
1422
1713
|
updatedAt: z.ZodString;
|
|
1423
1714
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1437,6 +1728,15 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1437
1728
|
}[];
|
|
1438
1729
|
shortId: string;
|
|
1439
1730
|
priority: number;
|
|
1731
|
+
descriptionUpdatedAt: string;
|
|
1732
|
+
statusLog: {
|
|
1733
|
+
id: string;
|
|
1734
|
+
date: string;
|
|
1735
|
+
title: string;
|
|
1736
|
+
description: string;
|
|
1737
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1738
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1739
|
+
}[];
|
|
1440
1740
|
dependsOn: string[];
|
|
1441
1741
|
discussedAt: string;
|
|
1442
1742
|
contextReady: boolean;
|
|
@@ -1463,6 +1763,15 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1463
1763
|
}[] | undefined;
|
|
1464
1764
|
shortId?: string | undefined;
|
|
1465
1765
|
priority?: number | undefined;
|
|
1766
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1767
|
+
statusLog?: {
|
|
1768
|
+
id: string;
|
|
1769
|
+
date: string;
|
|
1770
|
+
title: string;
|
|
1771
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1772
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1773
|
+
description?: string | undefined;
|
|
1774
|
+
}[] | undefined;
|
|
1466
1775
|
dependsOn?: string[] | undefined;
|
|
1467
1776
|
discussedAt?: string | undefined;
|
|
1468
1777
|
contextReady?: boolean | undefined;
|
|
@@ -1491,6 +1800,15 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1491
1800
|
}[];
|
|
1492
1801
|
shortId: string;
|
|
1493
1802
|
priority: number;
|
|
1803
|
+
descriptionUpdatedAt: string;
|
|
1804
|
+
statusLog: {
|
|
1805
|
+
id: string;
|
|
1806
|
+
date: string;
|
|
1807
|
+
title: string;
|
|
1808
|
+
description: string;
|
|
1809
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1810
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1811
|
+
}[];
|
|
1494
1812
|
dependsOn: string[];
|
|
1495
1813
|
discussedAt: string;
|
|
1496
1814
|
contextReady: boolean;
|
|
@@ -1519,6 +1837,15 @@ export declare const FeaturesDocumentSchema: z.ZodObject<{
|
|
|
1519
1837
|
}[] | undefined;
|
|
1520
1838
|
shortId?: string | undefined;
|
|
1521
1839
|
priority?: number | undefined;
|
|
1840
|
+
descriptionUpdatedAt?: string | undefined;
|
|
1841
|
+
statusLog?: {
|
|
1842
|
+
id: string;
|
|
1843
|
+
date: string;
|
|
1844
|
+
title: string;
|
|
1845
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1846
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1847
|
+
description?: string | undefined;
|
|
1848
|
+
}[] | undefined;
|
|
1522
1849
|
dependsOn?: string[] | undefined;
|
|
1523
1850
|
discussedAt?: string | undefined;
|
|
1524
1851
|
contextReady?: boolean | undefined;
|
|
@@ -1538,14 +1865,14 @@ export declare const MacroTaskSchema: z.ZodObject<{
|
|
|
1538
1865
|
createdAt: z.ZodString;
|
|
1539
1866
|
updatedAt: z.ZodString;
|
|
1540
1867
|
}, "strip", z.ZodTypeAny, {
|
|
1541
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1868
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1542
1869
|
updatedAt: string;
|
|
1543
1870
|
id: string;
|
|
1544
1871
|
createdAt: string;
|
|
1545
1872
|
title: string;
|
|
1546
1873
|
description: string;
|
|
1547
1874
|
}, {
|
|
1548
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1875
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1549
1876
|
updatedAt: string;
|
|
1550
1877
|
id: string;
|
|
1551
1878
|
createdAt: string;
|
|
@@ -1565,14 +1892,14 @@ export declare const RequirementSchema: z.ZodObject<{
|
|
|
1565
1892
|
createdAt: z.ZodString;
|
|
1566
1893
|
updatedAt: z.ZodString;
|
|
1567
1894
|
}, "strip", z.ZodTypeAny, {
|
|
1568
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1895
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1569
1896
|
updatedAt: string;
|
|
1570
1897
|
id: string;
|
|
1571
1898
|
createdAt: string;
|
|
1572
1899
|
title: string;
|
|
1573
1900
|
description: string;
|
|
1574
1901
|
}, {
|
|
1575
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1902
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1576
1903
|
updatedAt: string;
|
|
1577
1904
|
id: string;
|
|
1578
1905
|
createdAt: string;
|
|
@@ -1583,14 +1910,14 @@ export declare const RequirementSchema: z.ZodObject<{
|
|
|
1583
1910
|
createdAt: z.ZodString;
|
|
1584
1911
|
updatedAt: z.ZodString;
|
|
1585
1912
|
}, "strip", z.ZodTypeAny, {
|
|
1586
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1913
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1587
1914
|
updatedAt: string;
|
|
1588
1915
|
id: string;
|
|
1589
1916
|
createdAt: string;
|
|
1590
1917
|
title: string;
|
|
1591
1918
|
description: string;
|
|
1592
1919
|
macroTasks: {
|
|
1593
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1920
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1594
1921
|
updatedAt: string;
|
|
1595
1922
|
id: string;
|
|
1596
1923
|
createdAt: string;
|
|
@@ -1599,14 +1926,14 @@ export declare const RequirementSchema: z.ZodObject<{
|
|
|
1599
1926
|
}[];
|
|
1600
1927
|
linkedPhaseIds: string[];
|
|
1601
1928
|
}, {
|
|
1602
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1929
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1603
1930
|
updatedAt: string;
|
|
1604
1931
|
id: string;
|
|
1605
1932
|
createdAt: string;
|
|
1606
1933
|
title: string;
|
|
1607
1934
|
description?: string | undefined;
|
|
1608
1935
|
macroTasks?: {
|
|
1609
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1936
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1610
1937
|
updatedAt: string;
|
|
1611
1938
|
id: string;
|
|
1612
1939
|
createdAt: string;
|
|
@@ -1629,14 +1956,14 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
|
|
|
1629
1956
|
createdAt: z.ZodString;
|
|
1630
1957
|
updatedAt: z.ZodString;
|
|
1631
1958
|
}, "strip", z.ZodTypeAny, {
|
|
1632
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1959
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1633
1960
|
updatedAt: string;
|
|
1634
1961
|
id: string;
|
|
1635
1962
|
createdAt: string;
|
|
1636
1963
|
title: string;
|
|
1637
1964
|
description: string;
|
|
1638
1965
|
}, {
|
|
1639
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1966
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1640
1967
|
updatedAt: string;
|
|
1641
1968
|
id: string;
|
|
1642
1969
|
createdAt: string;
|
|
@@ -1647,14 +1974,14 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
|
|
|
1647
1974
|
createdAt: z.ZodString;
|
|
1648
1975
|
updatedAt: z.ZodString;
|
|
1649
1976
|
}, "strip", z.ZodTypeAny, {
|
|
1650
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1977
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1651
1978
|
updatedAt: string;
|
|
1652
1979
|
id: string;
|
|
1653
1980
|
createdAt: string;
|
|
1654
1981
|
title: string;
|
|
1655
1982
|
description: string;
|
|
1656
1983
|
macroTasks: {
|
|
1657
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1984
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1658
1985
|
updatedAt: string;
|
|
1659
1986
|
id: string;
|
|
1660
1987
|
createdAt: string;
|
|
@@ -1663,14 +1990,14 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
|
|
|
1663
1990
|
}[];
|
|
1664
1991
|
linkedPhaseIds: string[];
|
|
1665
1992
|
}, {
|
|
1666
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
1993
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1667
1994
|
updatedAt: string;
|
|
1668
1995
|
id: string;
|
|
1669
1996
|
createdAt: string;
|
|
1670
1997
|
title: string;
|
|
1671
1998
|
description?: string | undefined;
|
|
1672
1999
|
macroTasks?: {
|
|
1673
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2000
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1674
2001
|
updatedAt: string;
|
|
1675
2002
|
id: string;
|
|
1676
2003
|
createdAt: string;
|
|
@@ -1681,14 +2008,14 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
|
|
|
1681
2008
|
}>, "many">;
|
|
1682
2009
|
}, "strip", z.ZodTypeAny, {
|
|
1683
2010
|
requirements: {
|
|
1684
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2011
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1685
2012
|
updatedAt: string;
|
|
1686
2013
|
id: string;
|
|
1687
2014
|
createdAt: string;
|
|
1688
2015
|
title: string;
|
|
1689
2016
|
description: string;
|
|
1690
2017
|
macroTasks: {
|
|
1691
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2018
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1692
2019
|
updatedAt: string;
|
|
1693
2020
|
id: string;
|
|
1694
2021
|
createdAt: string;
|
|
@@ -1699,14 +2026,14 @@ export declare const RequirementsDocumentSchema: z.ZodObject<{
|
|
|
1699
2026
|
}[];
|
|
1700
2027
|
}, {
|
|
1701
2028
|
requirements: {
|
|
1702
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2029
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1703
2030
|
updatedAt: string;
|
|
1704
2031
|
id: string;
|
|
1705
2032
|
createdAt: string;
|
|
1706
2033
|
title: string;
|
|
1707
2034
|
description?: string | undefined;
|
|
1708
2035
|
macroTasks?: {
|
|
1709
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2036
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
1710
2037
|
updatedAt: string;
|
|
1711
2038
|
id: string;
|
|
1712
2039
|
createdAt: string;
|
|
@@ -1788,6 +2115,47 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1788
2115
|
nextFeatureNumber: z.ZodDefault<z.ZodNumber>;
|
|
1789
2116
|
nextPhaseNumber: z.ZodDefault<z.ZodNumber>;
|
|
1790
2117
|
nextTaskNumber: z.ZodDefault<z.ZodNumber>;
|
|
2118
|
+
/** Ordered history of approved temporary work deviations; active entries form a resumable stack. */
|
|
2119
|
+
workDeviations: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2120
|
+
id: z.ZodString;
|
|
2121
|
+
/** Task the priority selector recommended when the deviation was approved. */
|
|
2122
|
+
recommendedTaskId: z.ZodString;
|
|
2123
|
+
/** Task intentionally chosen instead of the recommendation. */
|
|
2124
|
+
temporaryTaskId: z.ZodString;
|
|
2125
|
+
/** Task to surface explicitly after the temporary work is resolved. */
|
|
2126
|
+
resumeTaskId: z.ZodString;
|
|
2127
|
+
reason: z.ZodDefault<z.ZodString>;
|
|
2128
|
+
requestedBy: z.ZodDefault<z.ZodEnum<["agent", "user"]>>;
|
|
2129
|
+
approvedBy: z.ZodDefault<z.ZodString>;
|
|
2130
|
+
state: z.ZodDefault<z.ZodEnum<["approved", "active", "resolved", "canceled"]>>;
|
|
2131
|
+
createdAt: z.ZodString;
|
|
2132
|
+
activatedAt: z.ZodDefault<z.ZodString>;
|
|
2133
|
+
resolvedAt: z.ZodDefault<z.ZodString>;
|
|
2134
|
+
}, "strip", z.ZodTypeAny, {
|
|
2135
|
+
id: string;
|
|
2136
|
+
createdAt: string;
|
|
2137
|
+
recommendedTaskId: string;
|
|
2138
|
+
temporaryTaskId: string;
|
|
2139
|
+
resumeTaskId: string;
|
|
2140
|
+
reason: string;
|
|
2141
|
+
requestedBy: "agent" | "user";
|
|
2142
|
+
approvedBy: string;
|
|
2143
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
2144
|
+
activatedAt: string;
|
|
2145
|
+
resolvedAt: string;
|
|
2146
|
+
}, {
|
|
2147
|
+
id: string;
|
|
2148
|
+
createdAt: string;
|
|
2149
|
+
recommendedTaskId: string;
|
|
2150
|
+
temporaryTaskId: string;
|
|
2151
|
+
resumeTaskId: string;
|
|
2152
|
+
reason?: string | undefined;
|
|
2153
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
2154
|
+
approvedBy?: string | undefined;
|
|
2155
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
2156
|
+
activatedAt?: string | undefined;
|
|
2157
|
+
resolvedAt?: string | undefined;
|
|
2158
|
+
}>, "many">>;
|
|
1791
2159
|
}, "strip", z.ZodTypeAny, {
|
|
1792
2160
|
name: string;
|
|
1793
2161
|
goal: string;
|
|
@@ -1817,6 +2185,19 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1817
2185
|
nextFeatureNumber: number;
|
|
1818
2186
|
nextPhaseNumber: number;
|
|
1819
2187
|
nextTaskNumber: number;
|
|
2188
|
+
workDeviations: {
|
|
2189
|
+
id: string;
|
|
2190
|
+
createdAt: string;
|
|
2191
|
+
recommendedTaskId: string;
|
|
2192
|
+
temporaryTaskId: string;
|
|
2193
|
+
resumeTaskId: string;
|
|
2194
|
+
reason: string;
|
|
2195
|
+
requestedBy: "agent" | "user";
|
|
2196
|
+
approvedBy: string;
|
|
2197
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
2198
|
+
activatedAt: string;
|
|
2199
|
+
resolvedAt: string;
|
|
2200
|
+
}[];
|
|
1820
2201
|
}, {
|
|
1821
2202
|
name: string;
|
|
1822
2203
|
workflowRules: {
|
|
@@ -1846,6 +2227,19 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1846
2227
|
nextFeatureNumber?: number | undefined;
|
|
1847
2228
|
nextPhaseNumber?: number | undefined;
|
|
1848
2229
|
nextTaskNumber?: number | undefined;
|
|
2230
|
+
workDeviations?: {
|
|
2231
|
+
id: string;
|
|
2232
|
+
createdAt: string;
|
|
2233
|
+
recommendedTaskId: string;
|
|
2234
|
+
temporaryTaskId: string;
|
|
2235
|
+
resumeTaskId: string;
|
|
2236
|
+
reason?: string | undefined;
|
|
2237
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
2238
|
+
approvedBy?: string | undefined;
|
|
2239
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
2240
|
+
activatedAt?: string | undefined;
|
|
2241
|
+
resolvedAt?: string | undefined;
|
|
2242
|
+
}[] | undefined;
|
|
1849
2243
|
}>;
|
|
1850
2244
|
features: z.ZodObject<{
|
|
1851
2245
|
features: z.ZodArray<z.ZodObject<{
|
|
@@ -1856,6 +2250,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1856
2250
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
1857
2251
|
name: z.ZodString;
|
|
1858
2252
|
description: z.ZodDefault<z.ZodString>;
|
|
2253
|
+
/** Updated only when this feature's description changes; distinct from entity updatedAt. */
|
|
2254
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
1859
2255
|
discussedAt: z.ZodDefault<z.ZodString>;
|
|
1860
2256
|
contextReady: z.ZodDefault<z.ZodBoolean>;
|
|
1861
2257
|
contextReadyReason: z.ZodDefault<z.ZodString>;
|
|
@@ -1887,6 +2283,29 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1887
2283
|
}>, "many">>;
|
|
1888
2284
|
phaseIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1889
2285
|
dependsOn: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
2286
|
+
/** Chronological audit trail of the DERIVED status (computed from child phases at read time). Appended ONLY when the derived status changes during a rollup; `status` itself is NOT persisted. Empty = no transition recorded yet (treated as "planned"). */
|
|
2287
|
+
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2288
|
+
id: z.ZodString;
|
|
2289
|
+
date: z.ZodString;
|
|
2290
|
+
fromStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
2291
|
+
toStatus: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
2292
|
+
title: z.ZodString;
|
|
2293
|
+
description: z.ZodDefault<z.ZodString>;
|
|
2294
|
+
}, "strip", z.ZodTypeAny, {
|
|
2295
|
+
id: string;
|
|
2296
|
+
date: string;
|
|
2297
|
+
title: string;
|
|
2298
|
+
description: string;
|
|
2299
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2300
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2301
|
+
}, {
|
|
2302
|
+
id: string;
|
|
2303
|
+
date: string;
|
|
2304
|
+
title: string;
|
|
2305
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2306
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2307
|
+
description?: string | undefined;
|
|
2308
|
+
}>, "many">>;
|
|
1890
2309
|
createdAt: z.ZodString;
|
|
1891
2310
|
updatedAt: z.ZodString;
|
|
1892
2311
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1906,6 +2325,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1906
2325
|
}[];
|
|
1907
2326
|
shortId: string;
|
|
1908
2327
|
priority: number;
|
|
2328
|
+
descriptionUpdatedAt: string;
|
|
2329
|
+
statusLog: {
|
|
2330
|
+
id: string;
|
|
2331
|
+
date: string;
|
|
2332
|
+
title: string;
|
|
2333
|
+
description: string;
|
|
2334
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2335
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2336
|
+
}[];
|
|
1909
2337
|
dependsOn: string[];
|
|
1910
2338
|
discussedAt: string;
|
|
1911
2339
|
contextReady: boolean;
|
|
@@ -1932,6 +2360,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1932
2360
|
}[] | undefined;
|
|
1933
2361
|
shortId?: string | undefined;
|
|
1934
2362
|
priority?: number | undefined;
|
|
2363
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2364
|
+
statusLog?: {
|
|
2365
|
+
id: string;
|
|
2366
|
+
date: string;
|
|
2367
|
+
title: string;
|
|
2368
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2369
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2370
|
+
description?: string | undefined;
|
|
2371
|
+
}[] | undefined;
|
|
1935
2372
|
dependsOn?: string[] | undefined;
|
|
1936
2373
|
discussedAt?: string | undefined;
|
|
1937
2374
|
contextReady?: boolean | undefined;
|
|
@@ -1960,6 +2397,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1960
2397
|
}[];
|
|
1961
2398
|
shortId: string;
|
|
1962
2399
|
priority: number;
|
|
2400
|
+
descriptionUpdatedAt: string;
|
|
2401
|
+
statusLog: {
|
|
2402
|
+
id: string;
|
|
2403
|
+
date: string;
|
|
2404
|
+
title: string;
|
|
2405
|
+
description: string;
|
|
2406
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2407
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2408
|
+
}[];
|
|
1963
2409
|
dependsOn: string[];
|
|
1964
2410
|
discussedAt: string;
|
|
1965
2411
|
contextReady: boolean;
|
|
@@ -1988,6 +2434,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
1988
2434
|
}[] | undefined;
|
|
1989
2435
|
shortId?: string | undefined;
|
|
1990
2436
|
priority?: number | undefined;
|
|
2437
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2438
|
+
statusLog?: {
|
|
2439
|
+
id: string;
|
|
2440
|
+
date: string;
|
|
2441
|
+
title: string;
|
|
2442
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2443
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2444
|
+
description?: string | undefined;
|
|
2445
|
+
}[] | undefined;
|
|
1991
2446
|
dependsOn?: string[] | undefined;
|
|
1992
2447
|
discussedAt?: string | undefined;
|
|
1993
2448
|
contextReady?: boolean | undefined;
|
|
@@ -2013,14 +2468,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2013
2468
|
createdAt: z.ZodString;
|
|
2014
2469
|
updatedAt: z.ZodString;
|
|
2015
2470
|
}, "strip", z.ZodTypeAny, {
|
|
2016
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2471
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2017
2472
|
updatedAt: string;
|
|
2018
2473
|
id: string;
|
|
2019
2474
|
createdAt: string;
|
|
2020
2475
|
title: string;
|
|
2021
2476
|
description: string;
|
|
2022
2477
|
}, {
|
|
2023
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2478
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2024
2479
|
updatedAt: string;
|
|
2025
2480
|
id: string;
|
|
2026
2481
|
createdAt: string;
|
|
@@ -2031,14 +2486,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2031
2486
|
createdAt: z.ZodString;
|
|
2032
2487
|
updatedAt: z.ZodString;
|
|
2033
2488
|
}, "strip", z.ZodTypeAny, {
|
|
2034
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2489
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2035
2490
|
updatedAt: string;
|
|
2036
2491
|
id: string;
|
|
2037
2492
|
createdAt: string;
|
|
2038
2493
|
title: string;
|
|
2039
2494
|
description: string;
|
|
2040
2495
|
macroTasks: {
|
|
2041
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2496
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2042
2497
|
updatedAt: string;
|
|
2043
2498
|
id: string;
|
|
2044
2499
|
createdAt: string;
|
|
@@ -2047,14 +2502,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2047
2502
|
}[];
|
|
2048
2503
|
linkedPhaseIds: string[];
|
|
2049
2504
|
}, {
|
|
2050
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2505
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2051
2506
|
updatedAt: string;
|
|
2052
2507
|
id: string;
|
|
2053
2508
|
createdAt: string;
|
|
2054
2509
|
title: string;
|
|
2055
2510
|
description?: string | undefined;
|
|
2056
2511
|
macroTasks?: {
|
|
2057
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2512
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2058
2513
|
updatedAt: string;
|
|
2059
2514
|
id: string;
|
|
2060
2515
|
createdAt: string;
|
|
@@ -2065,14 +2520,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2065
2520
|
}>, "many">;
|
|
2066
2521
|
}, "strip", z.ZodTypeAny, {
|
|
2067
2522
|
requirements: {
|
|
2068
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2523
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2069
2524
|
updatedAt: string;
|
|
2070
2525
|
id: string;
|
|
2071
2526
|
createdAt: string;
|
|
2072
2527
|
title: string;
|
|
2073
2528
|
description: string;
|
|
2074
2529
|
macroTasks: {
|
|
2075
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2530
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2076
2531
|
updatedAt: string;
|
|
2077
2532
|
id: string;
|
|
2078
2533
|
createdAt: string;
|
|
@@ -2083,14 +2538,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2083
2538
|
}[];
|
|
2084
2539
|
}, {
|
|
2085
2540
|
requirements: {
|
|
2086
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2541
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2087
2542
|
updatedAt: string;
|
|
2088
2543
|
id: string;
|
|
2089
2544
|
createdAt: string;
|
|
2090
2545
|
title: string;
|
|
2091
2546
|
description?: string | undefined;
|
|
2092
2547
|
macroTasks?: {
|
|
2093
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2548
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2094
2549
|
updatedAt: string;
|
|
2095
2550
|
id: string;
|
|
2096
2551
|
createdAt: string;
|
|
@@ -2102,6 +2557,9 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2102
2557
|
}>;
|
|
2103
2558
|
phases: z.ZodArray<z.ZodObject<{
|
|
2104
2559
|
id: z.ZodString;
|
|
2560
|
+
/** MUST be a feature UUID (not a ref like "F005"). Validated at the schema
|
|
2561
|
+
* layer so no adapter can persist an unresolved ref string. Optional only
|
|
2562
|
+
* for legacy pre-feature phases. */
|
|
2105
2563
|
featureId: z.ZodOptional<z.ZodString>;
|
|
2106
2564
|
/** Global project-wide phase sequence (assigned once at creation from project.nextPhaseNumber; stable, gaps on delete). Bare P00x is unambiguous. */
|
|
2107
2565
|
number: z.ZodNumber;
|
|
@@ -2114,6 +2572,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2114
2572
|
contextReadyReason: z.ZodDefault<z.ZodString>;
|
|
2115
2573
|
summary: z.ZodDefault<z.ZodString>;
|
|
2116
2574
|
description: z.ZodDefault<z.ZodString>;
|
|
2575
|
+
/** Updated only when this phase's description changes; distinct from entity updatedAt. */
|
|
2576
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
2117
2577
|
notes: z.ZodDefault<z.ZodString>;
|
|
2118
2578
|
goals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
2119
2579
|
nonGoals: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -2148,6 +2608,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2148
2608
|
taskIds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
2149
2609
|
tasks: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
2150
2610
|
id: z.ZodString;
|
|
2611
|
+
/** MUST be a phase UUID (not a ref like "P003"). Validated at the schema
|
|
2612
|
+
* layer so no adapter can persist an unresolved ref string. */
|
|
2151
2613
|
phaseId: z.ZodString;
|
|
2152
2614
|
/** Global project-wide task sequence (assigned once at creation from project.nextTaskNumber; stable, gaps on delete). Bare T00x is unambiguous. */
|
|
2153
2615
|
number: z.ZodDefault<z.ZodNumber>;
|
|
@@ -2157,6 +2619,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2157
2619
|
title: z.ZodString;
|
|
2158
2620
|
status: z.ZodEnum<["planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
2159
2621
|
description: z.ZodDefault<z.ZodString>;
|
|
2622
|
+
/** Updated only when this task's description changes; distinct from entity updatedAt. */
|
|
2623
|
+
descriptionUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
2160
2624
|
notes: z.ZodDefault<z.ZodString>;
|
|
2161
2625
|
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2162
2626
|
id: z.ZodString;
|
|
@@ -2170,14 +2634,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2170
2634
|
date: string;
|
|
2171
2635
|
title: string;
|
|
2172
2636
|
description: string;
|
|
2173
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2174
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2637
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2638
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2175
2639
|
}, {
|
|
2176
2640
|
id: string;
|
|
2177
2641
|
date: string;
|
|
2178
2642
|
title: string;
|
|
2179
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2180
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2643
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2644
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2181
2645
|
description?: string | undefined;
|
|
2182
2646
|
}>, "many">>;
|
|
2183
2647
|
decisions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -2205,15 +2669,21 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2205
2669
|
}>, "many">>;
|
|
2206
2670
|
checklist: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
2207
2671
|
id: z.ZodString;
|
|
2672
|
+
/** Per-task 1-based position, displayed as C{number} (C1, C2, ...). Default 0
|
|
2673
|
+
* so legacy on-disk items without a number still parse; the TaskSchema
|
|
2674
|
+
* transform overwrites it with the real index+1. */
|
|
2675
|
+
number: z.ZodDefault<z.ZodNumber>;
|
|
2208
2676
|
title: z.ZodString;
|
|
2209
2677
|
checked: z.ZodDefault<z.ZodBoolean>;
|
|
2210
2678
|
}, "strip", z.ZodTypeAny, {
|
|
2679
|
+
number: number;
|
|
2211
2680
|
id: string;
|
|
2212
2681
|
title: string;
|
|
2213
2682
|
checked: boolean;
|
|
2214
2683
|
}, {
|
|
2215
2684
|
id: string;
|
|
2216
2685
|
title: string;
|
|
2686
|
+
number?: number | undefined;
|
|
2217
2687
|
checked?: boolean | undefined;
|
|
2218
2688
|
}>]>, "many">>;
|
|
2219
2689
|
subtasks: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -2224,14 +2694,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2224
2694
|
createdAt: z.ZodString;
|
|
2225
2695
|
updatedAt: z.ZodString;
|
|
2226
2696
|
}, "strip", z.ZodTypeAny, {
|
|
2227
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2697
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2228
2698
|
updatedAt: string;
|
|
2229
2699
|
id: string;
|
|
2230
2700
|
createdAt: string;
|
|
2231
2701
|
title: string;
|
|
2232
2702
|
description: string;
|
|
2233
2703
|
}, {
|
|
2234
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2704
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2235
2705
|
updatedAt: string;
|
|
2236
2706
|
id: string;
|
|
2237
2707
|
createdAt: string;
|
|
@@ -2245,7 +2715,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2245
2715
|
updatedAt: z.ZodString;
|
|
2246
2716
|
}, "strip", z.ZodTypeAny, {
|
|
2247
2717
|
number: number;
|
|
2248
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2718
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2249
2719
|
updatedAt: string;
|
|
2250
2720
|
notes: string;
|
|
2251
2721
|
id: string;
|
|
@@ -2265,21 +2735,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2265
2735
|
shortId: string;
|
|
2266
2736
|
priority: number;
|
|
2267
2737
|
shortName: string;
|
|
2738
|
+
descriptionUpdatedAt: string;
|
|
2268
2739
|
statusLog: {
|
|
2269
2740
|
id: string;
|
|
2270
2741
|
date: string;
|
|
2271
2742
|
title: string;
|
|
2272
2743
|
description: string;
|
|
2273
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2274
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2744
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2745
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2275
2746
|
}[];
|
|
2276
2747
|
checklist: (string | {
|
|
2748
|
+
number: number;
|
|
2277
2749
|
id: string;
|
|
2278
2750
|
title: string;
|
|
2279
2751
|
checked: boolean;
|
|
2280
2752
|
})[];
|
|
2281
2753
|
subtasks: {
|
|
2282
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2754
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2283
2755
|
updatedAt: string;
|
|
2284
2756
|
id: string;
|
|
2285
2757
|
createdAt: string;
|
|
@@ -2290,7 +2762,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2290
2762
|
startedAt: string;
|
|
2291
2763
|
completedAt: string;
|
|
2292
2764
|
}, {
|
|
2293
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2765
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2294
2766
|
updatedAt: string;
|
|
2295
2767
|
id: string;
|
|
2296
2768
|
createdAt: string;
|
|
@@ -2311,21 +2783,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2311
2783
|
}[] | undefined;
|
|
2312
2784
|
shortId?: string | undefined;
|
|
2313
2785
|
priority?: number | undefined;
|
|
2786
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2314
2787
|
statusLog?: {
|
|
2315
2788
|
id: string;
|
|
2316
2789
|
date: string;
|
|
2317
2790
|
title: string;
|
|
2318
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2319
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2791
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2792
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2320
2793
|
description?: string | undefined;
|
|
2321
2794
|
}[] | undefined;
|
|
2322
2795
|
checklist?: (string | {
|
|
2323
2796
|
id: string;
|
|
2324
2797
|
title: string;
|
|
2798
|
+
number?: number | undefined;
|
|
2325
2799
|
checked?: boolean | undefined;
|
|
2326
2800
|
})[] | undefined;
|
|
2327
2801
|
subtasks?: {
|
|
2328
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2802
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2329
2803
|
updatedAt: string;
|
|
2330
2804
|
id: string;
|
|
2331
2805
|
createdAt: string;
|
|
@@ -2338,11 +2812,12 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2338
2812
|
}>, {
|
|
2339
2813
|
checklist: {
|
|
2340
2814
|
id: string;
|
|
2815
|
+
number: number;
|
|
2341
2816
|
title: string;
|
|
2342
2817
|
checked: boolean;
|
|
2343
2818
|
}[];
|
|
2344
2819
|
number: number;
|
|
2345
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2820
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2346
2821
|
updatedAt: string;
|
|
2347
2822
|
notes: string;
|
|
2348
2823
|
id: string;
|
|
@@ -2362,16 +2837,17 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2362
2837
|
shortId: string;
|
|
2363
2838
|
priority: number;
|
|
2364
2839
|
shortName: string;
|
|
2840
|
+
descriptionUpdatedAt: string;
|
|
2365
2841
|
statusLog: {
|
|
2366
2842
|
id: string;
|
|
2367
2843
|
date: string;
|
|
2368
2844
|
title: string;
|
|
2369
2845
|
description: string;
|
|
2370
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2371
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2846
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2847
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2372
2848
|
}[];
|
|
2373
2849
|
subtasks: {
|
|
2374
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2850
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2375
2851
|
updatedAt: string;
|
|
2376
2852
|
id: string;
|
|
2377
2853
|
createdAt: string;
|
|
@@ -2382,7 +2858,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2382
2858
|
startedAt: string;
|
|
2383
2859
|
completedAt: string;
|
|
2384
2860
|
}, {
|
|
2385
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2861
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2386
2862
|
updatedAt: string;
|
|
2387
2863
|
id: string;
|
|
2388
2864
|
createdAt: string;
|
|
@@ -2403,21 +2879,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2403
2879
|
}[] | undefined;
|
|
2404
2880
|
shortId?: string | undefined;
|
|
2405
2881
|
priority?: number | undefined;
|
|
2882
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2406
2883
|
statusLog?: {
|
|
2407
2884
|
id: string;
|
|
2408
2885
|
date: string;
|
|
2409
2886
|
title: string;
|
|
2410
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2411
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2887
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2888
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2412
2889
|
description?: string | undefined;
|
|
2413
2890
|
}[] | undefined;
|
|
2414
2891
|
checklist?: (string | {
|
|
2415
2892
|
id: string;
|
|
2416
2893
|
title: string;
|
|
2894
|
+
number?: number | undefined;
|
|
2417
2895
|
checked?: boolean | undefined;
|
|
2418
2896
|
})[] | undefined;
|
|
2419
2897
|
subtasks?: {
|
|
2420
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2898
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2421
2899
|
updatedAt: string;
|
|
2422
2900
|
id: string;
|
|
2423
2901
|
createdAt: string;
|
|
@@ -2433,29 +2911,52 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2433
2911
|
handoff: z.ZodDefault<z.ZodString>;
|
|
2434
2912
|
handoffUpdatedAt: z.ZodDefault<z.ZodString>;
|
|
2435
2913
|
/** When the handoff was last read/acknowledged on recap (ISO). Non-empty means
|
|
2436
|
-
* the agent has seen it; the recap won't re-prompt every turn.
|
|
2437
|
-
* content
|
|
2438
|
-
*
|
|
2914
|
+
* the agent has seen it; the recap won't re-prompt every turn. Reading is
|
|
2915
|
+
* non-mutating: content remains until every task is done/canceled, a later
|
|
2916
|
+
* handoff supersedes it, or the user explicitly clears it. */
|
|
2439
2917
|
handoffReadAt: z.ZodDefault<z.ZodString>;
|
|
2440
2918
|
/** Metadata for recently-cleared handoffs (newest-first, capped at 5). The
|
|
2441
|
-
* full content lives as .md files in .planner/handoff-archive/ (gitignored);
|
|
2919
|
+
* full content lives as .md files in .planner/.local/handoff-archive/ (gitignored);
|
|
2442
2920
|
* this array only holds the pointer + clear reason + timestamp, so the phase
|
|
2443
2921
|
* JSON stays lean and the archive is recoverable. */
|
|
2444
2922
|
handoffHistory: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2445
|
-
/** Relative path under .planner/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
2923
|
+
/** Relative path under .planner/.local/handoff-archive/ (e.g. <phaseId>-<ISO>.md). */
|
|
2446
2924
|
file: z.ZodDefault<z.ZodString>;
|
|
2447
2925
|
clearedAt: z.ZodString;
|
|
2448
2926
|
/** Why the handoff was cleared: "task-started" | "phase-done" | "manual" | "superseded" | "imported". */
|
|
2449
2927
|
reason: z.ZodDefault<z.ZodString>;
|
|
2450
2928
|
}, "strip", z.ZodTypeAny, {
|
|
2451
2929
|
file: string;
|
|
2452
|
-
clearedAt: string;
|
|
2453
2930
|
reason: string;
|
|
2931
|
+
clearedAt: string;
|
|
2454
2932
|
}, {
|
|
2455
2933
|
clearedAt: string;
|
|
2456
2934
|
file?: string | undefined;
|
|
2457
2935
|
reason?: string | undefined;
|
|
2458
2936
|
}>, "many">>;
|
|
2937
|
+
/** Chronological audit trail of the DERIVED status (planned/in-progress/blocked/done/...). Appended ONLY when the derived status changes during a rollup; `status` itself is NOT persisted (still computed from child tasks at read time). Empty = no transition recorded yet (treated as "planned"). */
|
|
2938
|
+
statusLog: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2939
|
+
id: z.ZodString;
|
|
2940
|
+
date: z.ZodString;
|
|
2941
|
+
fromStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
2942
|
+
toStatus: z.ZodEnum<["draft", "discovery", "planned", "in-progress", "done", "blocked", "canceled", "rejected", "deferred", "waiting"]>;
|
|
2943
|
+
title: z.ZodString;
|
|
2944
|
+
description: z.ZodDefault<z.ZodString>;
|
|
2945
|
+
}, "strip", z.ZodTypeAny, {
|
|
2946
|
+
id: string;
|
|
2947
|
+
date: string;
|
|
2948
|
+
title: string;
|
|
2949
|
+
description: string;
|
|
2950
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2951
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2952
|
+
}, {
|
|
2953
|
+
id: string;
|
|
2954
|
+
date: string;
|
|
2955
|
+
title: string;
|
|
2956
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2957
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2958
|
+
description?: string | undefined;
|
|
2959
|
+
}>, "many">>;
|
|
2459
2960
|
}, "strip", z.ZodTypeAny, {
|
|
2460
2961
|
number: number;
|
|
2461
2962
|
dependencies: string[];
|
|
@@ -2477,6 +2978,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2477
2978
|
}[];
|
|
2478
2979
|
shortId: string;
|
|
2479
2980
|
priority: number;
|
|
2981
|
+
descriptionUpdatedAt: string;
|
|
2982
|
+
statusLog: {
|
|
2983
|
+
id: string;
|
|
2984
|
+
date: string;
|
|
2985
|
+
title: string;
|
|
2986
|
+
description: string;
|
|
2987
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2988
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
2989
|
+
}[];
|
|
2480
2990
|
dependsOn: string[];
|
|
2481
2991
|
slug: string;
|
|
2482
2992
|
discussedAt: string;
|
|
@@ -2491,11 +3001,12 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2491
3001
|
tasks: {
|
|
2492
3002
|
checklist: {
|
|
2493
3003
|
id: string;
|
|
3004
|
+
number: number;
|
|
2494
3005
|
title: string;
|
|
2495
3006
|
checked: boolean;
|
|
2496
3007
|
}[];
|
|
2497
3008
|
number: number;
|
|
2498
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3009
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2499
3010
|
updatedAt: string;
|
|
2500
3011
|
notes: string;
|
|
2501
3012
|
id: string;
|
|
@@ -2515,16 +3026,17 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2515
3026
|
shortId: string;
|
|
2516
3027
|
priority: number;
|
|
2517
3028
|
shortName: string;
|
|
3029
|
+
descriptionUpdatedAt: string;
|
|
2518
3030
|
statusLog: {
|
|
2519
3031
|
id: string;
|
|
2520
3032
|
date: string;
|
|
2521
3033
|
title: string;
|
|
2522
3034
|
description: string;
|
|
2523
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2524
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3035
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3036
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2525
3037
|
}[];
|
|
2526
3038
|
subtasks: {
|
|
2527
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3039
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2528
3040
|
updatedAt: string;
|
|
2529
3041
|
id: string;
|
|
2530
3042
|
createdAt: string;
|
|
@@ -2540,8 +3052,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2540
3052
|
handoffReadAt: string;
|
|
2541
3053
|
handoffHistory: {
|
|
2542
3054
|
file: string;
|
|
2543
|
-
clearedAt: string;
|
|
2544
3055
|
reason: string;
|
|
3056
|
+
clearedAt: string;
|
|
2545
3057
|
}[];
|
|
2546
3058
|
featureId?: string | undefined;
|
|
2547
3059
|
}, {
|
|
@@ -2566,6 +3078,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2566
3078
|
}[] | undefined;
|
|
2567
3079
|
shortId?: string | undefined;
|
|
2568
3080
|
priority?: number | undefined;
|
|
3081
|
+
descriptionUpdatedAt?: string | undefined;
|
|
3082
|
+
statusLog?: {
|
|
3083
|
+
id: string;
|
|
3084
|
+
date: string;
|
|
3085
|
+
title: string;
|
|
3086
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3087
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3088
|
+
description?: string | undefined;
|
|
3089
|
+
}[] | undefined;
|
|
2569
3090
|
dependsOn?: string[] | undefined;
|
|
2570
3091
|
featureId?: string | undefined;
|
|
2571
3092
|
discussedAt?: string | undefined;
|
|
@@ -2578,7 +3099,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2578
3099
|
completionCriteria?: string[] | undefined;
|
|
2579
3100
|
taskIds?: string[] | undefined;
|
|
2580
3101
|
tasks?: {
|
|
2581
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3102
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2582
3103
|
updatedAt: string;
|
|
2583
3104
|
id: string;
|
|
2584
3105
|
createdAt: string;
|
|
@@ -2599,21 +3120,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2599
3120
|
}[] | undefined;
|
|
2600
3121
|
shortId?: string | undefined;
|
|
2601
3122
|
priority?: number | undefined;
|
|
3123
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2602
3124
|
statusLog?: {
|
|
2603
3125
|
id: string;
|
|
2604
3126
|
date: string;
|
|
2605
3127
|
title: string;
|
|
2606
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2607
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3128
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3129
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2608
3130
|
description?: string | undefined;
|
|
2609
3131
|
}[] | undefined;
|
|
2610
3132
|
checklist?: (string | {
|
|
2611
3133
|
id: string;
|
|
2612
3134
|
title: string;
|
|
3135
|
+
number?: number | undefined;
|
|
2613
3136
|
checked?: boolean | undefined;
|
|
2614
3137
|
})[] | undefined;
|
|
2615
3138
|
subtasks?: {
|
|
2616
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3139
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2617
3140
|
updatedAt: string;
|
|
2618
3141
|
id: string;
|
|
2619
3142
|
createdAt: string;
|
|
@@ -2652,6 +3175,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2652
3175
|
}[];
|
|
2653
3176
|
shortId: string;
|
|
2654
3177
|
priority: number;
|
|
3178
|
+
descriptionUpdatedAt: string;
|
|
3179
|
+
statusLog: {
|
|
3180
|
+
id: string;
|
|
3181
|
+
date: string;
|
|
3182
|
+
title: string;
|
|
3183
|
+
description: string;
|
|
3184
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3185
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3186
|
+
}[];
|
|
2655
3187
|
dependsOn: string[];
|
|
2656
3188
|
discussedAt: string;
|
|
2657
3189
|
contextReady: boolean;
|
|
@@ -2665,14 +3197,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2665
3197
|
};
|
|
2666
3198
|
requirements: {
|
|
2667
3199
|
requirements: {
|
|
2668
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3200
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2669
3201
|
updatedAt: string;
|
|
2670
3202
|
id: string;
|
|
2671
3203
|
createdAt: string;
|
|
2672
3204
|
title: string;
|
|
2673
3205
|
description: string;
|
|
2674
3206
|
macroTasks: {
|
|
2675
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3207
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2676
3208
|
updatedAt: string;
|
|
2677
3209
|
id: string;
|
|
2678
3210
|
createdAt: string;
|
|
@@ -2718,6 +3250,19 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2718
3250
|
nextFeatureNumber: number;
|
|
2719
3251
|
nextPhaseNumber: number;
|
|
2720
3252
|
nextTaskNumber: number;
|
|
3253
|
+
workDeviations: {
|
|
3254
|
+
id: string;
|
|
3255
|
+
createdAt: string;
|
|
3256
|
+
recommendedTaskId: string;
|
|
3257
|
+
temporaryTaskId: string;
|
|
3258
|
+
resumeTaskId: string;
|
|
3259
|
+
reason: string;
|
|
3260
|
+
requestedBy: "agent" | "user";
|
|
3261
|
+
approvedBy: string;
|
|
3262
|
+
state: "approved" | "active" | "resolved" | "canceled";
|
|
3263
|
+
activatedAt: string;
|
|
3264
|
+
resolvedAt: string;
|
|
3265
|
+
}[];
|
|
2721
3266
|
};
|
|
2722
3267
|
phases: {
|
|
2723
3268
|
number: number;
|
|
@@ -2740,6 +3285,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2740
3285
|
}[];
|
|
2741
3286
|
shortId: string;
|
|
2742
3287
|
priority: number;
|
|
3288
|
+
descriptionUpdatedAt: string;
|
|
3289
|
+
statusLog: {
|
|
3290
|
+
id: string;
|
|
3291
|
+
date: string;
|
|
3292
|
+
title: string;
|
|
3293
|
+
description: string;
|
|
3294
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3295
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3296
|
+
}[];
|
|
2743
3297
|
dependsOn: string[];
|
|
2744
3298
|
slug: string;
|
|
2745
3299
|
discussedAt: string;
|
|
@@ -2754,11 +3308,12 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2754
3308
|
tasks: {
|
|
2755
3309
|
checklist: {
|
|
2756
3310
|
id: string;
|
|
3311
|
+
number: number;
|
|
2757
3312
|
title: string;
|
|
2758
3313
|
checked: boolean;
|
|
2759
3314
|
}[];
|
|
2760
3315
|
number: number;
|
|
2761
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3316
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2762
3317
|
updatedAt: string;
|
|
2763
3318
|
notes: string;
|
|
2764
3319
|
id: string;
|
|
@@ -2778,16 +3333,17 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2778
3333
|
shortId: string;
|
|
2779
3334
|
priority: number;
|
|
2780
3335
|
shortName: string;
|
|
3336
|
+
descriptionUpdatedAt: string;
|
|
2781
3337
|
statusLog: {
|
|
2782
3338
|
id: string;
|
|
2783
3339
|
date: string;
|
|
2784
3340
|
title: string;
|
|
2785
3341
|
description: string;
|
|
2786
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2787
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3342
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3343
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2788
3344
|
}[];
|
|
2789
3345
|
subtasks: {
|
|
2790
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3346
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2791
3347
|
updatedAt: string;
|
|
2792
3348
|
id: string;
|
|
2793
3349
|
createdAt: string;
|
|
@@ -2803,8 +3359,8 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2803
3359
|
handoffReadAt: string;
|
|
2804
3360
|
handoffHistory: {
|
|
2805
3361
|
file: string;
|
|
2806
|
-
clearedAt: string;
|
|
2807
3362
|
reason: string;
|
|
3363
|
+
clearedAt: string;
|
|
2808
3364
|
}[];
|
|
2809
3365
|
featureId?: string | undefined;
|
|
2810
3366
|
}[];
|
|
@@ -2827,6 +3383,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2827
3383
|
}[] | undefined;
|
|
2828
3384
|
shortId?: string | undefined;
|
|
2829
3385
|
priority?: number | undefined;
|
|
3386
|
+
descriptionUpdatedAt?: string | undefined;
|
|
3387
|
+
statusLog?: {
|
|
3388
|
+
id: string;
|
|
3389
|
+
date: string;
|
|
3390
|
+
title: string;
|
|
3391
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3392
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3393
|
+
description?: string | undefined;
|
|
3394
|
+
}[] | undefined;
|
|
2830
3395
|
dependsOn?: string[] | undefined;
|
|
2831
3396
|
discussedAt?: string | undefined;
|
|
2832
3397
|
contextReady?: boolean | undefined;
|
|
@@ -2840,14 +3405,14 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2840
3405
|
};
|
|
2841
3406
|
requirements: {
|
|
2842
3407
|
requirements: {
|
|
2843
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3408
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2844
3409
|
updatedAt: string;
|
|
2845
3410
|
id: string;
|
|
2846
3411
|
createdAt: string;
|
|
2847
3412
|
title: string;
|
|
2848
3413
|
description?: string | undefined;
|
|
2849
3414
|
macroTasks?: {
|
|
2850
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3415
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2851
3416
|
updatedAt: string;
|
|
2852
3417
|
id: string;
|
|
2853
3418
|
createdAt: string;
|
|
@@ -2893,6 +3458,19 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2893
3458
|
nextFeatureNumber?: number | undefined;
|
|
2894
3459
|
nextPhaseNumber?: number | undefined;
|
|
2895
3460
|
nextTaskNumber?: number | undefined;
|
|
3461
|
+
workDeviations?: {
|
|
3462
|
+
id: string;
|
|
3463
|
+
createdAt: string;
|
|
3464
|
+
recommendedTaskId: string;
|
|
3465
|
+
temporaryTaskId: string;
|
|
3466
|
+
resumeTaskId: string;
|
|
3467
|
+
reason?: string | undefined;
|
|
3468
|
+
requestedBy?: "agent" | "user" | undefined;
|
|
3469
|
+
approvedBy?: string | undefined;
|
|
3470
|
+
state?: "approved" | "active" | "resolved" | "canceled" | undefined;
|
|
3471
|
+
activatedAt?: string | undefined;
|
|
3472
|
+
resolvedAt?: string | undefined;
|
|
3473
|
+
}[] | undefined;
|
|
2896
3474
|
};
|
|
2897
3475
|
phases: {
|
|
2898
3476
|
number: number;
|
|
@@ -2916,6 +3494,15 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2916
3494
|
}[] | undefined;
|
|
2917
3495
|
shortId?: string | undefined;
|
|
2918
3496
|
priority?: number | undefined;
|
|
3497
|
+
descriptionUpdatedAt?: string | undefined;
|
|
3498
|
+
statusLog?: {
|
|
3499
|
+
id: string;
|
|
3500
|
+
date: string;
|
|
3501
|
+
title: string;
|
|
3502
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3503
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting" | "draft" | "discovery";
|
|
3504
|
+
description?: string | undefined;
|
|
3505
|
+
}[] | undefined;
|
|
2919
3506
|
dependsOn?: string[] | undefined;
|
|
2920
3507
|
featureId?: string | undefined;
|
|
2921
3508
|
discussedAt?: string | undefined;
|
|
@@ -2928,7 +3515,7 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2928
3515
|
completionCriteria?: string[] | undefined;
|
|
2929
3516
|
taskIds?: string[] | undefined;
|
|
2930
3517
|
tasks?: {
|
|
2931
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3518
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2932
3519
|
updatedAt: string;
|
|
2933
3520
|
id: string;
|
|
2934
3521
|
createdAt: string;
|
|
@@ -2949,21 +3536,23 @@ export declare const PlanWorkspaceSchema: z.ZodObject<{
|
|
|
2949
3536
|
}[] | undefined;
|
|
2950
3537
|
shortId?: string | undefined;
|
|
2951
3538
|
priority?: number | undefined;
|
|
3539
|
+
descriptionUpdatedAt?: string | undefined;
|
|
2952
3540
|
statusLog?: {
|
|
2953
3541
|
id: string;
|
|
2954
3542
|
date: string;
|
|
2955
3543
|
title: string;
|
|
2956
|
-
fromStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
2957
|
-
toStatus: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3544
|
+
fromStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
3545
|
+
toStatus: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2958
3546
|
description?: string | undefined;
|
|
2959
3547
|
}[] | undefined;
|
|
2960
3548
|
checklist?: (string | {
|
|
2961
3549
|
id: string;
|
|
2962
3550
|
title: string;
|
|
3551
|
+
number?: number | undefined;
|
|
2963
3552
|
checked?: boolean | undefined;
|
|
2964
3553
|
})[] | undefined;
|
|
2965
3554
|
subtasks?: {
|
|
2966
|
-
status: "planned" | "in-progress" | "done" | "blocked" | "
|
|
3555
|
+
status: "canceled" | "planned" | "in-progress" | "done" | "blocked" | "rejected" | "deferred" | "waiting";
|
|
2967
3556
|
updatedAt: string;
|
|
2968
3557
|
id: string;
|
|
2969
3558
|
createdAt: string;
|
|
@@ -3006,9 +3595,11 @@ export type Manifest = z.infer<typeof ManifestSchema>;
|
|
|
3006
3595
|
export type WorkflowRules = z.infer<typeof WorkflowRulesSchema>;
|
|
3007
3596
|
export type AcceptedDecision = z.infer<typeof AcceptedDecisionSchema>;
|
|
3008
3597
|
export type Project = z.infer<typeof ProjectSchema>;
|
|
3598
|
+
export type WorkDeviation = z.infer<typeof WorkDeviationSchema>;
|
|
3009
3599
|
export type Subtask = z.infer<typeof SubtaskSchema>;
|
|
3010
3600
|
export type ChecklistItem = z.infer<typeof ChecklistItemSchema>;
|
|
3011
3601
|
export type StatusLogEntry = z.infer<typeof StatusLogEntrySchema>;
|
|
3602
|
+
export type PhaseStatusLogEntry = z.infer<typeof PhaseStatusLogEntrySchema>;
|
|
3012
3603
|
export type Task = z.infer<typeof TaskSchema>;
|
|
3013
3604
|
export type Phase = z.infer<typeof PhaseSchema> & {
|
|
3014
3605
|
status: PhaseStatus;
|