@basou/core 0.30.0 → 0.32.0

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/index.d.ts CHANGED
@@ -124,8 +124,8 @@ declare function findBasouStopHookCommand(settings: unknown): string | null;
124
124
  * unrecognized top-level keys so preservation is not silent.
125
125
  */
126
126
  declare const ManifestSchema: z.ZodObject<{
127
- schema_version: z.ZodLiteral<"0.1.0">;
128
- basou_version: z.ZodLiteral<"0.1.0">;
127
+ schema_version: z.ZodString;
128
+ basou_version: z.ZodString;
129
129
  workspace: z.ZodObject<{
130
130
  id: z.ZodString & z.ZodType<`ws_${string}`, string, z.core.$ZodTypeInternals<`ws_${string}`, string>>;
131
131
  name: z.ZodString;
@@ -136,7 +136,6 @@ declare const ManifestSchema: z.ZodObject<{
136
136
  project: z.ZodObject<{
137
137
  name: z.ZodOptional<z.ZodString>;
138
138
  description: z.ZodOptional<z.ZodString>;
139
- repository_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
139
  }, z.core.$loose>;
141
140
  capabilities: z.ZodObject<{
142
141
  enabled: z.ZodArray<z.ZodString>;
@@ -260,11 +259,11 @@ declare const SessionInnerImportSchema: z.ZodObject<{
260
259
  active_intervals: z.ZodOptional<z.ZodArray<z.ZodObject<{
261
260
  start: z.ZodString;
262
261
  end: z.ZodString;
263
- }, z.core.$strip>>>;
262
+ }, z.core.$loose>>>;
264
263
  active_gap_cap_ms: z.ZodOptional<z.ZodNumber>;
265
264
  active_time_method: z.ZodOptional<z.ZodString>;
266
265
  machine_active_time_ms: z.ZodOptional<z.ZodNumber>;
267
- }, z.core.$strip>>;
266
+ }, z.core.$loose>>;
268
267
  integrity: z.ZodOptional<z.ZodObject<{
269
268
  head_hash: z.ZodString;
270
269
  event_count: z.ZodNumber;
@@ -326,18 +325,18 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
326
325
  active_intervals: z.ZodOptional<z.ZodArray<z.ZodObject<{
327
326
  start: z.ZodString;
328
327
  end: z.ZodString;
329
- }, z.core.$strip>>>;
328
+ }, z.core.$loose>>>;
330
329
  active_gap_cap_ms: z.ZodOptional<z.ZodNumber>;
331
330
  active_time_method: z.ZodOptional<z.ZodString>;
332
331
  machine_active_time_ms: z.ZodOptional<z.ZodNumber>;
333
- }, z.core.$strip>>;
332
+ }, z.core.$loose>>;
334
333
  integrity: z.ZodOptional<z.ZodObject<{
335
334
  head_hash: z.ZodString;
336
335
  event_count: z.ZodNumber;
337
336
  }, z.core.$strict>>;
338
337
  }, z.core.$strict>;
339
338
  events: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
340
- schema_version: z.ZodLiteral<"0.1.0">;
339
+ schema_version: z.ZodString;
341
340
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
342
341
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
343
342
  occurred_at: z.ZodString;
@@ -345,7 +344,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
345
344
  prev_hash: z.ZodOptional<z.ZodString>;
346
345
  type: z.ZodLiteral<"session_started">;
347
346
  }, z.core.$strip>, z.ZodObject<{
348
- schema_version: z.ZodLiteral<"0.1.0">;
347
+ schema_version: z.ZodString;
349
348
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
350
349
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
351
350
  occurred_at: z.ZodString;
@@ -354,7 +353,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
354
353
  type: z.ZodLiteral<"session_ended">;
355
354
  exit_code: z.ZodOptional<z.ZodNumber>;
356
355
  }, z.core.$strip>, z.ZodObject<{
357
- schema_version: z.ZodLiteral<"0.1.0">;
356
+ schema_version: z.ZodString;
358
357
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
359
358
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
360
359
  occurred_at: z.ZodString;
@@ -364,7 +363,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
364
363
  from: z.ZodString;
365
364
  to: z.ZodString;
366
365
  }, z.core.$strip>, z.ZodObject<{
367
- schema_version: z.ZodLiteral<"0.1.0">;
366
+ schema_version: z.ZodString;
368
367
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
369
368
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
370
369
  occurred_at: z.ZodString;
@@ -385,7 +384,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
385
384
  reason: z.ZodString;
386
385
  status: z.ZodLiteral<"pending">;
387
386
  }, z.core.$strip>, z.ZodObject<{
388
- schema_version: z.ZodLiteral<"0.1.0">;
387
+ schema_version: z.ZodString;
389
388
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
390
389
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
391
390
  occurred_at: z.ZodString;
@@ -396,7 +395,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
396
395
  resolver: z.ZodOptional<z.ZodString>;
397
396
  note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
398
397
  }, z.core.$strip>, z.ZodObject<{
399
- schema_version: z.ZodLiteral<"0.1.0">;
398
+ schema_version: z.ZodString;
400
399
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
401
400
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
402
401
  occurred_at: z.ZodString;
@@ -407,7 +406,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
407
406
  resolver: z.ZodOptional<z.ZodString>;
408
407
  reason: z.ZodString;
409
408
  }, z.core.$strip>, z.ZodObject<{
410
- schema_version: z.ZodLiteral<"0.1.0">;
409
+ schema_version: z.ZodString;
411
410
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
412
411
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
413
412
  occurred_at: z.ZodString;
@@ -416,7 +415,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
416
415
  type: z.ZodLiteral<"approval_expired">;
417
416
  approval_id: z.ZodString & z.ZodType<`appr_${string}`, string, z.core.$ZodTypeInternals<`appr_${string}`, string>>;
418
417
  }, z.core.$strip>, z.ZodObject<{
419
- schema_version: z.ZodLiteral<"0.1.0">;
418
+ schema_version: z.ZodString;
420
419
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
421
420
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
422
421
  occurred_at: z.ZodString;
@@ -431,7 +430,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
431
430
  received_signal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
432
431
  duration_ms: z.ZodNumber;
433
432
  }, z.core.$strip>, z.ZodObject<{
434
- schema_version: z.ZodLiteral<"0.1.0">;
433
+ schema_version: z.ZodString;
435
434
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
436
435
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
437
436
  occurred_at: z.ZodString;
@@ -447,7 +446,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
447
446
  ahead: z.ZodOptional<z.ZodNumber>;
448
447
  behind: z.ZodOptional<z.ZodNumber>;
449
448
  }, z.core.$strip>, z.ZodObject<{
450
- schema_version: z.ZodLiteral<"0.1.0">;
449
+ schema_version: z.ZodString;
451
450
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
452
451
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
453
452
  occurred_at: z.ZodString;
@@ -463,7 +462,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
463
462
  }>;
464
463
  old_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
465
464
  }, z.core.$strip>, z.ZodObject<{
466
- schema_version: z.ZodLiteral<"0.1.0">;
465
+ schema_version: z.ZodString;
467
466
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
468
467
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
469
468
  occurred_at: z.ZodString;
@@ -482,7 +481,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
482
481
  track: "track";
483
482
  }>>;
484
483
  }, z.core.$strip>, z.ZodObject<{
485
- schema_version: z.ZodLiteral<"0.1.0">;
484
+ schema_version: z.ZodString;
486
485
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
487
486
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
488
487
  occurred_at: z.ZodString;
@@ -493,7 +492,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
493
492
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
494
493
  superseded_by: z.ZodOptional<z.ZodString & z.ZodType<`decision_${string}`, string, z.core.$ZodTypeInternals<`decision_${string}`, string>>>;
495
494
  }, z.core.$strip>, z.ZodObject<{
496
- schema_version: z.ZodLiteral<"0.1.0">;
495
+ schema_version: z.ZodString;
497
496
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
498
497
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
499
498
  occurred_at: z.ZodString;
@@ -503,7 +502,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
503
502
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
504
503
  title: z.ZodString;
505
504
  }, z.core.$strip>, z.ZodObject<{
506
- schema_version: z.ZodLiteral<"0.1.0">;
505
+ schema_version: z.ZodString;
507
506
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
508
507
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
509
508
  occurred_at: z.ZodString;
@@ -514,7 +513,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
514
513
  from: z.ZodString;
515
514
  to: z.ZodString;
516
515
  }, z.core.$strip>, z.ZodObject<{
517
- schema_version: z.ZodLiteral<"0.1.0">;
516
+ schema_version: z.ZodString;
518
517
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
519
518
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
520
519
  occurred_at: z.ZodString;
@@ -526,7 +525,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
526
525
  created_in_session_replacement: z.ZodDefault<z.ZodNullable<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
527
526
  removed_linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
528
527
  }, z.core.$strict>, z.ZodObject<{
529
- schema_version: z.ZodLiteral<"0.1.0">;
528
+ schema_version: z.ZodString;
530
529
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
531
530
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
532
531
  occurred_at: z.ZodString;
@@ -538,7 +537,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
538
537
  removed_linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
539
538
  final_count: z.ZodOptional<z.ZodNumber>;
540
539
  }, z.core.$strict>, z.ZodObject<{
541
- schema_version: z.ZodLiteral<"0.1.0">;
540
+ schema_version: z.ZodString;
542
541
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
543
542
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
544
543
  occurred_at: z.ZodString;
@@ -548,7 +547,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
548
547
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
549
548
  title: z.ZodString;
550
549
  }, z.core.$strict>, z.ZodObject<{
551
- schema_version: z.ZodLiteral<"0.1.0">;
550
+ schema_version: z.ZodString;
552
551
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
553
552
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
554
553
  occurred_at: z.ZodString;
@@ -558,7 +557,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
558
557
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
559
558
  title: z.ZodString;
560
559
  }, z.core.$strict>, z.ZodObject<{
561
- schema_version: z.ZodLiteral<"0.1.0">;
560
+ schema_version: z.ZodString;
562
561
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
563
562
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
564
563
  occurred_at: z.ZodString;
@@ -571,7 +570,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
571
570
  next_step: "next_step";
572
571
  }>>;
573
572
  }, z.core.$strip>, z.ZodObject<{
574
- schema_version: z.ZodLiteral<"0.1.0">;
573
+ schema_version: z.ZodString;
575
574
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
576
575
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
577
576
  occurred_at: z.ZodString;
@@ -604,7 +603,7 @@ declare const SessionImportPayloadSchema: z.ZodObject<{
604
603
  why: z.ZodOptional<z.ZodString>;
605
604
  }, z.core.$strip>>>;
606
605
  }, z.core.$strip>, z.ZodObject<{
607
- schema_version: z.ZodLiteral<"0.1.0">;
606
+ schema_version: z.ZodString;
608
607
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
609
608
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
610
609
  occurred_at: z.ZodString;
@@ -917,7 +916,7 @@ type ApprovalStatus = z.infer<typeof ApprovalStatusSchema>;
917
916
  * event variant.
918
917
  */
919
918
  declare const ApprovalSchema: z.ZodObject<{
920
- schema_version: z.ZodLiteral<"0.1.0">;
919
+ schema_version: z.ZodString;
921
920
  id: z.ZodString & z.ZodType<`appr_${string}`, string, z.core.$ZodTypeInternals<`appr_${string}`, string>>;
922
921
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
923
922
  created_at: z.ZodString;
@@ -942,7 +941,7 @@ declare const ApprovalSchema: z.ZodObject<{
942
941
  resolved_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
943
942
  note: z.ZodDefault<z.ZodNullable<z.ZodString>>;
944
943
  rejection_reason: z.ZodDefault<z.ZodNullable<z.ZodString>>;
945
- }, z.core.$strip>;
944
+ }, z.core.$loose>;
946
945
  /** Inferred runtime type for {@link ApprovalSchema}. */
947
946
  type Approval = z.infer<typeof ApprovalSchema>;
948
947
 
@@ -1049,7 +1048,7 @@ declare function enumerateApprovals(paths: BasouPaths): Promise<{
1049
1048
  declare function isLazyExpired(approval: Approval, now: Date): boolean;
1050
1049
 
1051
1050
  declare const SessionStartedEventSchema: z.ZodObject<{
1052
- schema_version: z.ZodLiteral<"0.1.0">;
1051
+ schema_version: z.ZodString;
1053
1052
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1054
1053
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1055
1054
  occurred_at: z.ZodString;
@@ -1058,7 +1057,7 @@ declare const SessionStartedEventSchema: z.ZodObject<{
1058
1057
  type: z.ZodLiteral<"session_started">;
1059
1058
  }, z.core.$strip>;
1060
1059
  declare const SessionEndedEventSchema: z.ZodObject<{
1061
- schema_version: z.ZodLiteral<"0.1.0">;
1060
+ schema_version: z.ZodString;
1062
1061
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1063
1062
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1064
1063
  occurred_at: z.ZodString;
@@ -1068,7 +1067,7 @@ declare const SessionEndedEventSchema: z.ZodObject<{
1068
1067
  exit_code: z.ZodOptional<z.ZodNumber>;
1069
1068
  }, z.core.$strip>;
1070
1069
  declare const SessionStatusChangedEventSchema: z.ZodObject<{
1071
- schema_version: z.ZodLiteral<"0.1.0">;
1070
+ schema_version: z.ZodString;
1072
1071
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1073
1072
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1074
1073
  occurred_at: z.ZodString;
@@ -1079,7 +1078,7 @@ declare const SessionStatusChangedEventSchema: z.ZodObject<{
1079
1078
  to: z.ZodString;
1080
1079
  }, z.core.$strip>;
1081
1080
  declare const ApprovalRequestedEventSchema: z.ZodObject<{
1082
- schema_version: z.ZodLiteral<"0.1.0">;
1081
+ schema_version: z.ZodString;
1083
1082
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1084
1083
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1085
1084
  occurred_at: z.ZodString;
@@ -1101,7 +1100,7 @@ declare const ApprovalRequestedEventSchema: z.ZodObject<{
1101
1100
  status: z.ZodLiteral<"pending">;
1102
1101
  }, z.core.$strip>;
1103
1102
  declare const ApprovalApprovedEventSchema: z.ZodObject<{
1104
- schema_version: z.ZodLiteral<"0.1.0">;
1103
+ schema_version: z.ZodString;
1105
1104
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1106
1105
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1107
1106
  occurred_at: z.ZodString;
@@ -1113,7 +1112,7 @@ declare const ApprovalApprovedEventSchema: z.ZodObject<{
1113
1112
  note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1114
1113
  }, z.core.$strip>;
1115
1114
  declare const ApprovalRejectedEventSchema: z.ZodObject<{
1116
- schema_version: z.ZodLiteral<"0.1.0">;
1115
+ schema_version: z.ZodString;
1117
1116
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1118
1117
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1119
1118
  occurred_at: z.ZodString;
@@ -1125,7 +1124,7 @@ declare const ApprovalRejectedEventSchema: z.ZodObject<{
1125
1124
  reason: z.ZodString;
1126
1125
  }, z.core.$strip>;
1127
1126
  declare const ApprovalExpiredEventSchema: z.ZodObject<{
1128
- schema_version: z.ZodLiteral<"0.1.0">;
1127
+ schema_version: z.ZodString;
1129
1128
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1130
1129
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1131
1130
  occurred_at: z.ZodString;
@@ -1135,7 +1134,7 @@ declare const ApprovalExpiredEventSchema: z.ZodObject<{
1135
1134
  approval_id: z.ZodString & z.ZodType<`appr_${string}`, string, z.core.$ZodTypeInternals<`appr_${string}`, string>>;
1136
1135
  }, z.core.$strip>;
1137
1136
  declare const CommandExecutedEventSchema: z.ZodObject<{
1138
- schema_version: z.ZodLiteral<"0.1.0">;
1137
+ schema_version: z.ZodString;
1139
1138
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1140
1139
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1141
1140
  occurred_at: z.ZodString;
@@ -1151,7 +1150,7 @@ declare const CommandExecutedEventSchema: z.ZodObject<{
1151
1150
  duration_ms: z.ZodNumber;
1152
1151
  }, z.core.$strip>;
1153
1152
  declare const GitSnapshotEventSchema: z.ZodObject<{
1154
- schema_version: z.ZodLiteral<"0.1.0">;
1153
+ schema_version: z.ZodString;
1155
1154
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1156
1155
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1157
1156
  occurred_at: z.ZodString;
@@ -1168,7 +1167,7 @@ declare const GitSnapshotEventSchema: z.ZodObject<{
1168
1167
  behind: z.ZodOptional<z.ZodNumber>;
1169
1168
  }, z.core.$strip>;
1170
1169
  declare const FileChangedEventSchema: z.ZodObject<{
1171
- schema_version: z.ZodLiteral<"0.1.0">;
1170
+ schema_version: z.ZodString;
1172
1171
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1173
1172
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1174
1173
  occurred_at: z.ZodString;
@@ -1185,7 +1184,7 @@ declare const FileChangedEventSchema: z.ZodObject<{
1185
1184
  old_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1186
1185
  }, z.core.$strip>;
1187
1186
  declare const DecisionRecordedEventSchema: z.ZodObject<{
1188
- schema_version: z.ZodLiteral<"0.1.0">;
1187
+ schema_version: z.ZodString;
1189
1188
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1190
1189
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1191
1190
  occurred_at: z.ZodString;
@@ -1205,7 +1204,7 @@ declare const DecisionRecordedEventSchema: z.ZodObject<{
1205
1204
  }>>;
1206
1205
  }, z.core.$strip>;
1207
1206
  declare const TaskCreatedEventSchema: z.ZodObject<{
1208
- schema_version: z.ZodLiteral<"0.1.0">;
1207
+ schema_version: z.ZodString;
1209
1208
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1210
1209
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1211
1210
  occurred_at: z.ZodString;
@@ -1216,7 +1215,7 @@ declare const TaskCreatedEventSchema: z.ZodObject<{
1216
1215
  title: z.ZodString;
1217
1216
  }, z.core.$strip>;
1218
1217
  declare const TaskStatusChangedEventSchema: z.ZodObject<{
1219
- schema_version: z.ZodLiteral<"0.1.0">;
1218
+ schema_version: z.ZodString;
1220
1219
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1221
1220
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1222
1221
  occurred_at: z.ZodString;
@@ -1228,7 +1227,7 @@ declare const TaskStatusChangedEventSchema: z.ZodObject<{
1228
1227
  to: z.ZodString;
1229
1228
  }, z.core.$strip>;
1230
1229
  declare const TaskReconciledEventSchema: z.ZodObject<{
1231
- schema_version: z.ZodLiteral<"0.1.0">;
1230
+ schema_version: z.ZodString;
1232
1231
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1233
1232
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1234
1233
  occurred_at: z.ZodString;
@@ -1241,7 +1240,7 @@ declare const TaskReconciledEventSchema: z.ZodObject<{
1241
1240
  removed_linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
1242
1241
  }, z.core.$strict>;
1243
1242
  declare const TaskLinkageRefreshedEventSchema: z.ZodObject<{
1244
- schema_version: z.ZodLiteral<"0.1.0">;
1243
+ schema_version: z.ZodString;
1245
1244
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1246
1245
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1247
1246
  occurred_at: z.ZodString;
@@ -1254,7 +1253,7 @@ declare const TaskLinkageRefreshedEventSchema: z.ZodObject<{
1254
1253
  final_count: z.ZodOptional<z.ZodNumber>;
1255
1254
  }, z.core.$strict>;
1256
1255
  declare const TaskDeletedEventSchema: z.ZodObject<{
1257
- schema_version: z.ZodLiteral<"0.1.0">;
1256
+ schema_version: z.ZodString;
1258
1257
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1259
1258
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1260
1259
  occurred_at: z.ZodString;
@@ -1265,7 +1264,7 @@ declare const TaskDeletedEventSchema: z.ZodObject<{
1265
1264
  title: z.ZodString;
1266
1265
  }, z.core.$strict>;
1267
1266
  declare const TaskArchivedEventSchema: z.ZodObject<{
1268
- schema_version: z.ZodLiteral<"0.1.0">;
1267
+ schema_version: z.ZodString;
1269
1268
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1270
1269
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1271
1270
  occurred_at: z.ZodString;
@@ -1276,7 +1275,7 @@ declare const TaskArchivedEventSchema: z.ZodObject<{
1276
1275
  title: z.ZodString;
1277
1276
  }, z.core.$strict>;
1278
1277
  declare const NoteAddedEventSchema: z.ZodObject<{
1279
- schema_version: z.ZodLiteral<"0.1.0">;
1278
+ schema_version: z.ZodString;
1280
1279
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1281
1280
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1282
1281
  occurred_at: z.ZodString;
@@ -1308,7 +1307,7 @@ declare const ReviewBlockedSchema: z.ZodObject<{
1308
1307
  why: z.ZodOptional<z.ZodString>;
1309
1308
  }, z.core.$strip>;
1310
1309
  declare const ReviewRecordedEventSchema: z.ZodObject<{
1311
- schema_version: z.ZodLiteral<"0.1.0">;
1310
+ schema_version: z.ZodString;
1312
1311
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1313
1312
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1314
1313
  occurred_at: z.ZodString;
@@ -1342,7 +1341,7 @@ declare const ReviewRecordedEventSchema: z.ZodObject<{
1342
1341
  }, z.core.$strip>>>;
1343
1342
  }, z.core.$strip>;
1344
1343
  declare const AdapterOutputEventSchema: z.ZodObject<{
1345
- schema_version: z.ZodLiteral<"0.1.0">;
1344
+ schema_version: z.ZodString;
1346
1345
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1347
1346
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1348
1347
  occurred_at: z.ZodString;
@@ -1363,7 +1362,7 @@ declare const AdapterOutputEventSchema: z.ZodObject<{
1363
1362
  * variant is uniquely strict to bar raw adapter bodies.
1364
1363
  */
1365
1364
  declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1366
- schema_version: z.ZodLiteral<"0.1.0">;
1365
+ schema_version: z.ZodString;
1367
1366
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1368
1367
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1369
1368
  occurred_at: z.ZodString;
@@ -1371,7 +1370,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1371
1370
  prev_hash: z.ZodOptional<z.ZodString>;
1372
1371
  type: z.ZodLiteral<"session_started">;
1373
1372
  }, z.core.$strip>, z.ZodObject<{
1374
- schema_version: z.ZodLiteral<"0.1.0">;
1373
+ schema_version: z.ZodString;
1375
1374
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1376
1375
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1377
1376
  occurred_at: z.ZodString;
@@ -1380,7 +1379,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1380
1379
  type: z.ZodLiteral<"session_ended">;
1381
1380
  exit_code: z.ZodOptional<z.ZodNumber>;
1382
1381
  }, z.core.$strip>, z.ZodObject<{
1383
- schema_version: z.ZodLiteral<"0.1.0">;
1382
+ schema_version: z.ZodString;
1384
1383
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1385
1384
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1386
1385
  occurred_at: z.ZodString;
@@ -1390,7 +1389,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1390
1389
  from: z.ZodString;
1391
1390
  to: z.ZodString;
1392
1391
  }, z.core.$strip>, z.ZodObject<{
1393
- schema_version: z.ZodLiteral<"0.1.0">;
1392
+ schema_version: z.ZodString;
1394
1393
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1395
1394
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1396
1395
  occurred_at: z.ZodString;
@@ -1411,7 +1410,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1411
1410
  reason: z.ZodString;
1412
1411
  status: z.ZodLiteral<"pending">;
1413
1412
  }, z.core.$strip>, z.ZodObject<{
1414
- schema_version: z.ZodLiteral<"0.1.0">;
1413
+ schema_version: z.ZodString;
1415
1414
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1416
1415
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1417
1416
  occurred_at: z.ZodString;
@@ -1422,7 +1421,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1422
1421
  resolver: z.ZodOptional<z.ZodString>;
1423
1422
  note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1424
1423
  }, z.core.$strip>, z.ZodObject<{
1425
- schema_version: z.ZodLiteral<"0.1.0">;
1424
+ schema_version: z.ZodString;
1426
1425
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1427
1426
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1428
1427
  occurred_at: z.ZodString;
@@ -1433,7 +1432,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1433
1432
  resolver: z.ZodOptional<z.ZodString>;
1434
1433
  reason: z.ZodString;
1435
1434
  }, z.core.$strip>, z.ZodObject<{
1436
- schema_version: z.ZodLiteral<"0.1.0">;
1435
+ schema_version: z.ZodString;
1437
1436
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1438
1437
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1439
1438
  occurred_at: z.ZodString;
@@ -1442,7 +1441,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1442
1441
  type: z.ZodLiteral<"approval_expired">;
1443
1442
  approval_id: z.ZodString & z.ZodType<`appr_${string}`, string, z.core.$ZodTypeInternals<`appr_${string}`, string>>;
1444
1443
  }, z.core.$strip>, z.ZodObject<{
1445
- schema_version: z.ZodLiteral<"0.1.0">;
1444
+ schema_version: z.ZodString;
1446
1445
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1447
1446
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1448
1447
  occurred_at: z.ZodString;
@@ -1457,7 +1456,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1457
1456
  received_signal: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1458
1457
  duration_ms: z.ZodNumber;
1459
1458
  }, z.core.$strip>, z.ZodObject<{
1460
- schema_version: z.ZodLiteral<"0.1.0">;
1459
+ schema_version: z.ZodString;
1461
1460
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1462
1461
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1463
1462
  occurred_at: z.ZodString;
@@ -1473,7 +1472,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1473
1472
  ahead: z.ZodOptional<z.ZodNumber>;
1474
1473
  behind: z.ZodOptional<z.ZodNumber>;
1475
1474
  }, z.core.$strip>, z.ZodObject<{
1476
- schema_version: z.ZodLiteral<"0.1.0">;
1475
+ schema_version: z.ZodString;
1477
1476
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1478
1477
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1479
1478
  occurred_at: z.ZodString;
@@ -1489,7 +1488,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1489
1488
  }>;
1490
1489
  old_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1491
1490
  }, z.core.$strip>, z.ZodObject<{
1492
- schema_version: z.ZodLiteral<"0.1.0">;
1491
+ schema_version: z.ZodString;
1493
1492
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1494
1493
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1495
1494
  occurred_at: z.ZodString;
@@ -1508,7 +1507,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1508
1507
  track: "track";
1509
1508
  }>>;
1510
1509
  }, z.core.$strip>, z.ZodObject<{
1511
- schema_version: z.ZodLiteral<"0.1.0">;
1510
+ schema_version: z.ZodString;
1512
1511
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1513
1512
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1514
1513
  occurred_at: z.ZodString;
@@ -1519,7 +1518,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1519
1518
  reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1520
1519
  superseded_by: z.ZodOptional<z.ZodString & z.ZodType<`decision_${string}`, string, z.core.$ZodTypeInternals<`decision_${string}`, string>>>;
1521
1520
  }, z.core.$strip>, z.ZodObject<{
1522
- schema_version: z.ZodLiteral<"0.1.0">;
1521
+ schema_version: z.ZodString;
1523
1522
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1524
1523
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1525
1524
  occurred_at: z.ZodString;
@@ -1529,7 +1528,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1529
1528
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
1530
1529
  title: z.ZodString;
1531
1530
  }, z.core.$strip>, z.ZodObject<{
1532
- schema_version: z.ZodLiteral<"0.1.0">;
1531
+ schema_version: z.ZodString;
1533
1532
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1534
1533
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1535
1534
  occurred_at: z.ZodString;
@@ -1540,7 +1539,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1540
1539
  from: z.ZodString;
1541
1540
  to: z.ZodString;
1542
1541
  }, z.core.$strip>, z.ZodObject<{
1543
- schema_version: z.ZodLiteral<"0.1.0">;
1542
+ schema_version: z.ZodString;
1544
1543
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1545
1544
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1546
1545
  occurred_at: z.ZodString;
@@ -1552,7 +1551,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1552
1551
  created_in_session_replacement: z.ZodDefault<z.ZodNullable<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
1553
1552
  removed_linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
1554
1553
  }, z.core.$strict>, z.ZodObject<{
1555
- schema_version: z.ZodLiteral<"0.1.0">;
1554
+ schema_version: z.ZodString;
1556
1555
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1557
1556
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1558
1557
  occurred_at: z.ZodString;
@@ -1564,7 +1563,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1564
1563
  removed_linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
1565
1564
  final_count: z.ZodOptional<z.ZodNumber>;
1566
1565
  }, z.core.$strict>, z.ZodObject<{
1567
- schema_version: z.ZodLiteral<"0.1.0">;
1566
+ schema_version: z.ZodString;
1568
1567
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1569
1568
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1570
1569
  occurred_at: z.ZodString;
@@ -1574,7 +1573,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1574
1573
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
1575
1574
  title: z.ZodString;
1576
1575
  }, z.core.$strict>, z.ZodObject<{
1577
- schema_version: z.ZodLiteral<"0.1.0">;
1576
+ schema_version: z.ZodString;
1578
1577
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1579
1578
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1580
1579
  occurred_at: z.ZodString;
@@ -1584,7 +1583,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1584
1583
  task_id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
1585
1584
  title: z.ZodString;
1586
1585
  }, z.core.$strict>, z.ZodObject<{
1587
- schema_version: z.ZodLiteral<"0.1.0">;
1586
+ schema_version: z.ZodString;
1588
1587
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1589
1588
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1590
1589
  occurred_at: z.ZodString;
@@ -1597,7 +1596,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1597
1596
  next_step: "next_step";
1598
1597
  }>>;
1599
1598
  }, z.core.$strip>, z.ZodObject<{
1600
- schema_version: z.ZodLiteral<"0.1.0">;
1599
+ schema_version: z.ZodString;
1601
1600
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1602
1601
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1603
1602
  occurred_at: z.ZodString;
@@ -1630,7 +1629,7 @@ declare const EventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1630
1629
  why: z.ZodOptional<z.ZodString>;
1631
1630
  }, z.core.$strip>>>;
1632
1631
  }, z.core.$strip>, z.ZodObject<{
1633
- schema_version: z.ZodLiteral<"0.1.0">;
1632
+ schema_version: z.ZodString;
1634
1633
  id: z.ZodString & z.ZodType<`evt_${string}`, string, z.core.$ZodTypeInternals<`evt_${string}`, string>>;
1635
1634
  session_id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1636
1635
  occurred_at: z.ZodString;
@@ -1822,11 +1821,11 @@ declare const SessionMetricsSchema: z.ZodObject<{
1822
1821
  active_intervals: z.ZodOptional<z.ZodArray<z.ZodObject<{
1823
1822
  start: z.ZodString;
1824
1823
  end: z.ZodString;
1825
- }, z.core.$strip>>>;
1824
+ }, z.core.$loose>>>;
1826
1825
  active_gap_cap_ms: z.ZodOptional<z.ZodNumber>;
1827
1826
  active_time_method: z.ZodOptional<z.ZodString>;
1828
1827
  machine_active_time_ms: z.ZodOptional<z.ZodNumber>;
1829
- }, z.core.$strip>;
1828
+ }, z.core.$loose>;
1830
1829
  /** Inferred runtime type for {@link SessionMetricsSchema}. */
1831
1830
  type SessionMetrics = z.infer<typeof SessionMetricsSchema>;
1832
1831
  /**
@@ -1851,7 +1850,7 @@ type SessionIntegrity = z.infer<typeof SessionIntegritySchema>;
1851
1850
  * `session:` key.
1852
1851
  */
1853
1852
  declare const SessionSchema: z.ZodObject<{
1854
- schema_version: z.ZodLiteral<"0.1.0">;
1853
+ schema_version: z.ZodString;
1855
1854
  session: z.ZodObject<{
1856
1855
  id: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
1857
1856
  label: z.ZodOptional<z.ZodString>;
@@ -1870,7 +1869,7 @@ declare const SessionSchema: z.ZodObject<{
1870
1869
  version: z.ZodLiteral<"0.1.0">;
1871
1870
  external_id: z.ZodOptional<z.ZodString>;
1872
1871
  source_size_bytes: z.ZodOptional<z.ZodNumber>;
1873
- }, z.core.$strip>;
1872
+ }, z.core.$loose>;
1874
1873
  started_at: z.ZodString;
1875
1874
  ended_at: z.ZodOptional<z.ZodString>;
1876
1875
  status: z.ZodEnum<{
@@ -1888,7 +1887,7 @@ declare const SessionSchema: z.ZodObject<{
1888
1887
  command: z.ZodString;
1889
1888
  args: z.ZodDefault<z.ZodArray<z.ZodString>>;
1890
1889
  exit_code: z.ZodNullable<z.ZodNumber>;
1891
- }, z.core.$strip>;
1890
+ }, z.core.$loose>;
1892
1891
  related_files: z.ZodDefault<z.ZodArray<z.ZodString>>;
1893
1892
  events_log: z.ZodDefault<z.ZodString>;
1894
1893
  summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1901,17 +1900,17 @@ declare const SessionSchema: z.ZodObject<{
1901
1900
  active_intervals: z.ZodOptional<z.ZodArray<z.ZodObject<{
1902
1901
  start: z.ZodString;
1903
1902
  end: z.ZodString;
1904
- }, z.core.$strip>>>;
1903
+ }, z.core.$loose>>>;
1905
1904
  active_gap_cap_ms: z.ZodOptional<z.ZodNumber>;
1906
1905
  active_time_method: z.ZodOptional<z.ZodString>;
1907
1906
  machine_active_time_ms: z.ZodOptional<z.ZodNumber>;
1908
- }, z.core.$strip>>;
1907
+ }, z.core.$loose>>;
1909
1908
  integrity: z.ZodOptional<z.ZodObject<{
1910
1909
  head_hash: z.ZodString;
1911
1910
  event_count: z.ZodNumber;
1912
1911
  }, z.core.$strict>>;
1913
- }, z.core.$strip>;
1914
- }, z.core.$strip>;
1912
+ }, z.core.$loose>;
1913
+ }, z.core.$loose>;
1915
1914
  /** Inferred runtime type for {@link SessionSchema}. */
1916
1915
  type Session = z.infer<typeof SessionSchema>;
1917
1916
 
@@ -2643,7 +2642,7 @@ type TaskStatus = z.infer<typeof TaskStatusSchema>;
2643
2642
  * the file into `task` (this schema) and `body` (the trailing string).
2644
2643
  */
2645
2644
  declare const TaskSchema: z.ZodObject<{
2646
- schema_version: z.ZodLiteral<"0.1.0">;
2645
+ schema_version: z.ZodString;
2647
2646
  task: z.ZodObject<{
2648
2647
  id: z.ZodString & z.ZodType<`task_${string}`, string, z.core.$ZodTypeInternals<`task_${string}`, string>>;
2649
2648
  title: z.ZodString;
@@ -2659,8 +2658,8 @@ declare const TaskSchema: z.ZodObject<{
2659
2658
  workspace_id: z.ZodString & z.ZodType<`ws_${string}`, string, z.core.$ZodTypeInternals<`ws_${string}`, string>>;
2660
2659
  created_in_session: z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>;
2661
2660
  linked_sessions: z.ZodDefault<z.ZodArray<z.ZodString & z.ZodType<`ses_${string}`, string, z.core.$ZodTypeInternals<`ses_${string}`, string>>>>;
2662
- }, z.core.$strip>;
2663
- }, z.core.$strip>;
2661
+ }, z.core.$loose>;
2662
+ }, z.core.$loose>;
2664
2663
  /** Inferred runtime type for {@link TaskSchema}. */
2665
2664
  type Task = z.infer<typeof TaskSchema>;
2666
2665
 
@@ -3845,6 +3844,62 @@ declare function summarizeOrientation(input: OrientationRendererInput): Promise<
3845
3844
  */
3846
3845
  declare function renderOrientation(input: OrientationRendererInput): Promise<OrientationRendererResult>;
3847
3846
 
3847
+ /**
3848
+ * The anchor (planning master) repo's own AGENTS.md STARTER. Unlike a repo's
3849
+ * preset block or the workspace view's canonical — both marker-managed regions
3850
+ * that `basou project preset` keeps in sync — the anchor's own AGENTS.md is
3851
+ * HAND-MAINTAINED by design (preset deliberately skips the anchor, and its
3852
+ * canonical lives at the anchor root, never under `agents/`). A greenfield
3853
+ * bring-up (`basou project new` → declare → `basou project derive`) therefore
3854
+ * leaves the planning master with no conventions doc at all, while every project
3855
+ * onboarded the older way carries one from the start.
3856
+ *
3857
+ * This renders a MINIMAL starter so a greenfield anchor is not empty: identity,
3858
+ * commit-routing, per-repo AGENTS.md pointers, a pointer to the workspace view
3859
+ * for the LIVE roster, and TODO stubs for the policy basou cannot derive
3860
+ * (product facts, phase, secrets, language policy). It is meant to be written
3861
+ * ONCE if the file is absent and NEVER touched again (create-only, no
3862
+ * BASOU:GENERATED markers) — the operator owns and hand-maintains it thereafter,
3863
+ * preserving the anchor's hands-off design.
3864
+ *
3865
+ * It deliberately does NOT embed a roster snapshot table: a manifest-derived
3866
+ * table frozen into a markerless, never-resynced file would drift silently the
3867
+ * moment a repo is added / renamed / archived, with no staleness signal for a
3868
+ * reader (or an agent) that trusts it. The live roster lives in the workspace
3869
+ * view's own generated AGENTS.md, which stays in sync; the anchor points there.
3870
+ *
3871
+ * Pure and deterministic: it renders markdown from the declared fields only, so
3872
+ * the output is a function of the manifest snapshot at seed time. It embeds no
3873
+ * operator-specific string beyond the declared repo names / project name.
3874
+ */
3875
+ /** One roster repo referenced by the anchor starter's per-repo pointers. */
3876
+ type AnchorStarterRepo = {
3877
+ /** The repo's display name (its on-disk basename). */
3878
+ name: string;
3879
+ /** True when this repo IS the anchor (the planning master itself; excluded from the pointers). */
3880
+ anchor?: boolean | undefined;
3881
+ };
3882
+ /** The declared fields the anchor starter is rendered from. */
3883
+ type AnchorStarterInput = {
3884
+ /** The anchor repo's display name (its on-disk basename) — names the file heading. */
3885
+ anchorName: string;
3886
+ /** `manifest.project.name`, when declared — used in the identity line. */
3887
+ projectName?: string | undefined;
3888
+ /** The workspace view's directory basename, when the project has a view. */
3889
+ viewName?: string | undefined;
3890
+ /** The declared roster (the anchor included), in declared order. */
3891
+ repos: AnchorStarterRepo[];
3892
+ };
3893
+ /**
3894
+ * Render the anchor's starter AGENTS.md (a full file, NOT a marker block). The
3895
+ * manifest-derived parts (identity, per-repo pointers) are filled from the
3896
+ * declaration; everything basou cannot know (product facts, phase, secrets,
3897
+ * language policy) is left as an explicit `<!-- TODO -->` for the operator. The
3898
+ * live roster is NOT snapshotted here — the file points at the workspace view's
3899
+ * generated AGENTS.md for it. Returns the file content WITH a trailing newline.
3900
+ */
3901
+ declare function renderAnchorStarter(input: AnchorStarterInput): string;
3902
+
3848
3903
  /**
3849
3904
  * Project roster drift (the "saddle" model). A project's repos are DECLARED
3850
3905
  * once in the manifest's `repos` list; the capture config (`source_roots`) must
@@ -4185,6 +4240,48 @@ declare function isRenderable(repo: PresetRepo): boolean;
4185
4240
  * writer adds the surrounding structure.
4186
4241
  */
4187
4242
  declare function renderPresetBlock(repo: PresetRepo): string;
4243
+ /** One repo aggregated by the view, rendered with its short visibility / language. */
4244
+ type ViewPresetRepo = {
4245
+ name: string;
4246
+ visibility?: RepoVisibility | undefined;
4247
+ language?: RepoLanguage | undefined;
4248
+ /**
4249
+ * True when the repo declares `instructions: self` (it owns its AGENTS.md;
4250
+ * basou stays hands-off). Rendered in the instruction-ownership column so an
4251
+ * agent reading the view knows which AGENTS.md files are generated and which
4252
+ * are hand-maintained. Absent => the default `hub` (basou-generated).
4253
+ */
4254
+ self?: boolean | undefined;
4255
+ /**
4256
+ * True when this repo IS the project anchor (the planning master). Its own
4257
+ * AGENTS.md is hand-maintained at the anchor root — basou never generates it
4258
+ * (preset skips it), so the instruction column must NOT claim `hub`. Takes
4259
+ * precedence over `self` in the label.
4260
+ */
4261
+ anchor?: boolean | undefined;
4262
+ };
4263
+ /** The declared fields the view preset block is rendered from. */
4264
+ type ViewPresetInput = {
4265
+ /**
4266
+ * The view directory's basename — names the view's own canonical
4267
+ * (`agents/<viewName>/AGENTS.md`) in the block's self-description, so a reader
4268
+ * of the generated file learns where its editable source of truth lives.
4269
+ */
4270
+ viewName: string;
4271
+ repos: ViewPresetRepo[];
4272
+ };
4273
+ /**
4274
+ * Render the workspace-view instruction-file preset block (the content between
4275
+ * the BASOU:GENERATED markers in the view's own canonical). Like
4276
+ * {@link renderPresetBlock} it is deterministic and OSS-generic: it derives
4277
+ * entirely from the declared roster (repo names come from the manifest, no
4278
+ * operator-specific string is embedded), so re-running on an unchanged manifest
4279
+ * produces byte-identical output. The repos are listed in the order supplied.
4280
+ * An empty roster still renders cleanly (a header-only table, empty lists).
4281
+ * Returns the block WITHOUT a trailing newline; the marker writer adds the
4282
+ * surrounding structure.
4283
+ */
4284
+ declare function renderViewPresetBlock(input: ViewPresetInput): string;
4188
4285
  /**
4189
4286
  * The canonical's marker state as parsed by the caller (mirrors
4190
4287
  * `markdown-store`'s `MarkerSection.kind`). `ok` means exactly one well-ordered
@@ -4258,6 +4355,13 @@ type PresetMarkerConflict = {
4258
4355
  type PresetCollision = {
4259
4356
  canonicalName: string;
4260
4357
  repos: string[];
4358
+ /**
4359
+ * True when the shared canonical is the WORKSPACE VIEW's own
4360
+ * (`agents/<viewName>/AGENTS.md`): the listed repo(s) collide with the view,
4361
+ * not (only) with each other, so neither the repo side nor the view side is
4362
+ * generated. Absent for a plain repo↔repo collision.
4363
+ */
4364
+ view?: boolean;
4261
4365
  };
4262
4366
  type PresetPlanSummary = {
4263
4367
  /** Repos whose canonical's generated region will be created/updated (only those with work). */
@@ -4302,8 +4406,15 @@ type PresetPlanSummary = {
4302
4406
  * - Two DISTINCT repos resolving to the same canonical name are a
4303
4407
  * {@link PresetCollision} and neither is generated (silent clobbering of one
4304
4408
  * canonical is surfaced, not actioned).
4305
- */
4306
- declare function summarizePresetPlan(facts: RepoPresetFacts[]): PresetPlanSummary;
4409
+ * - When the caller passes `opts.viewCanonicalName` (the workspace view's own
4410
+ * canonical name), a repo whose canonical name equals it is ALSO a collision
4411
+ * (flagged `view: true`) and is suppressed — the repo and the view would
4412
+ * otherwise write over one shared `agents/<name>/AGENTS.md`. Without the
4413
+ * option the behavior is unchanged.
4414
+ */
4415
+ declare function summarizePresetPlan(facts: RepoPresetFacts[], opts?: {
4416
+ viewCanonicalName?: string;
4417
+ }): PresetPlanSummary;
4307
4418
 
4308
4419
  /**
4309
4420
  * Rename (re-path) a repo in a project's declared roster. When a repo's
@@ -4424,6 +4535,13 @@ type RetrofitReason =
4424
4535
  | "blocked"
4425
4536
  /** refuse: the destination canonical already exists (relocating would clobber it). */
4426
4537
  | "canonical-exists"
4538
+ /**
4539
+ * refuse: the repo's canonical name equals the workspace view's, so
4540
+ * `agents/<name>/AGENTS.md` would be owned by BOTH — relocating the repo's
4541
+ * file into it (and later generating the view block over it) would corrupt
4542
+ * one with the other. The operator renames the view directory or the repo.
4543
+ */
4544
+ | "view-collision"
4427
4545
  /** skip: AGENTS.md is already a symlink (likely already wired — idempotent). */
4428
4546
  | "already-symlink"
4429
4547
  /** skip: there is no AGENTS.md to relocate. */
@@ -4446,6 +4564,13 @@ type RetrofitFacts = {
4446
4564
  reachable: boolean;
4447
4565
  /** The repo basename used for the anchor canonical `agents/<canonicalName>/AGENTS.md`. */
4448
4566
  canonicalName: string;
4567
+ /**
4568
+ * The workspace view's own canonical name (`agents/<viewCanonicalName>/AGENTS.md`),
4569
+ * when a view is declared. A repo whose `canonicalName` equals it shares ONE
4570
+ * canonical file with the view, so the relocate is refused (`view-collision`).
4571
+ * Absent (no view declared) => no collision possible.
4572
+ */
4573
+ viewCanonicalName?: string | undefined;
4449
4574
  /** On-disk state of the repo's own `AGENTS.md`. */
4450
4575
  agentsState: RetrofitAgentsState;
4451
4576
  /** True when the destination canonical already exists (moving would clobber it). */
@@ -4476,9 +4601,11 @@ type RetrofitPlan = {
4476
4601
  * apply: undeclared → anchor → self → unreachable → uninspectable AGENTS.md. Then
4477
4602
  * the idempotent skips (already a symlink, or absent — nothing to move). Only a
4478
4603
  * genuine regular-file AGENTS.md reaches the relocate decision, and even then a
4479
- * pre-existing destination canonical refuses (relocating would clobber it).
4480
- * `regularSpokes` is echoed in every outcome (it is advisory, relevant whenever a
4481
- * relocate or skip leaves the operator to tidy the spokes).
4604
+ * canonical name shared with the workspace view refuses (`view-collision` — the
4605
+ * relocate would land in the view's own canonical) and a pre-existing destination
4606
+ * canonical refuses (relocating would clobber it). `regularSpokes` is echoed in
4607
+ * every outcome (it is advisory, relevant whenever a relocate or skip leaves the
4608
+ * operator to tidy the spokes).
4482
4609
  */
4483
4610
  declare function classifyRetrofit(facts: RetrofitFacts): RetrofitPlan;
4484
4611
 
@@ -4537,8 +4664,13 @@ type RepoSymlinkFacts = {
4537
4664
  /** Roster repo path (relative to the manifest root). */
4538
4665
  path: string;
4539
4666
  /**
4540
- * True when this repo IS the project anchor (it owns the canonical sources, so
4541
- * it never links to itself). An anchor entry is skipped entirely.
4667
+ * True when this repo IS the project anchor (it hosts the OTHER repos' hub
4668
+ * canonicals under `agents/`, so it is excluded from canonical-collision
4669
+ * detection — it owns those, never links to them). Its OWN AGENTS.md is a
4670
+ * regular committed file at the anchor root, the same shape as a `self` repo:
4671
+ * only its CLAUDE.md / Copilot spokes are generated, and only once that root
4672
+ * AGENTS.md exists (`canonicalPresent`). An anchor whose AGENTS.md is absent is
4673
+ * left alone (not reported missing) until it is seeded.
4542
4674
  */
4543
4675
  isAnchor: boolean;
4544
4676
  /**
@@ -4568,7 +4700,7 @@ type RepoSymlinkFacts = {
4568
4700
  * caller for reachable, canonical-present repos; undefined otherwise.
4569
4701
  */
4570
4702
  canonicalName?: string;
4571
- /** Per instruction-file facts (empty when anchor / unreachable / canonical absent). */
4703
+ /** Per instruction-file facts (empty when an un-seeded anchor / unreachable / canonical absent). */
4572
4704
  files: InstructionSymlinkFact[];
4573
4705
  };
4574
4706
  /** The instruction-file symlinks to CREATE in one repo (only the `missing` ones). */
@@ -4629,12 +4761,18 @@ type SymlinkPlanSummary = {
4629
4761
  };
4630
4762
  /**
4631
4763
  * Compute the {@link SymlinkPlanSummary} from per-repo facts. For each declared,
4632
- * non-anchor, reachable repo whose canonical exists: a `missing` link becomes a
4633
- * create, a `mismatch`/`occupied`/`blocked` link becomes a {@link SymlinkConflict}
4634
- * (never a create — we do not overwrite), and a `correct` link is a no-op. The
4635
- * anchor is skipped (it owns the canonical), an absent canonical is reported as
4636
- * `missingCanonical` (no links planned, since the hub would dangle), and an
4637
- * unresolvable repo as `unreachable`.
4764
+ * reachable repo whose canonical exists: a `missing` link becomes a create, a
4765
+ * `mismatch`/`occupied`/`blocked` link becomes a {@link SymlinkConflict} (never a
4766
+ * create — we do not overwrite), and a `correct` link is a no-op. An absent
4767
+ * canonical is reported as `missingCanonical` (no links planned, since the hub
4768
+ * would dangle), and an unresolvable repo as `unreachable`.
4769
+ *
4770
+ * The anchor is a special case: it hosts the other repos' hub canonicals (so it
4771
+ * is excluded from collision detection — it owns those), but its OWN AGENTS.md is
4772
+ * a root committed file (self-style), so its CLAUDE.md / Copilot spokes ARE wired
4773
+ * — once that root AGENTS.md exists. An anchor whose AGENTS.md is absent is left
4774
+ * alone (not reported as missing): the seed step / operator creates it, then a
4775
+ * re-run wires the spokes.
4638
4776
  *
4639
4777
  * Robustness:
4640
4778
  * - Facts are deduped by normalized path (first wins), so a repo listed twice in
@@ -4740,6 +4878,124 @@ type WiringSummary = {
4740
4878
  */
4741
4879
  declare function summarizeWiring(facts: RepoWiringFacts[]): WiringSummary;
4742
4880
 
4881
+ /**
4882
+ * Wiring drift for `basou project check`: given the gathered instruction-file
4883
+ * facts for every declared repo AND the workspace view, classify what is DRIFTED
4884
+ * from basou's native hub-and-spoke topology — an ABSENT instruction canonical
4885
+ * (AGENTS.md), an incompletely wired repo/view, an existing file/link that is not
4886
+ * what basou would wire, a canonical-name collision, or an unreachable repo.
4887
+ *
4888
+ * The motivating gap: `project check` compared only the roster against the
4889
+ * capture config (`source_roots`) and did no filesystem probe, so a MISSING
4890
+ * instruction canonical — most sharply the workspace view's own AGENTS.md — went
4891
+ * unnoticed until an operator eyeballed it. This makes `check` surface that class
4892
+ * as drift, leading with canonical absence (the missing-AGENTS.md case).
4893
+ *
4894
+ * Pure: it composes {@link summarizeSymlinkPlan} (which already judges the repo
4895
+ * side) with the view's gathered facts and re-frames both as read-only drift. The
4896
+ * realpath / symlink reading that produces the facts is the caller's job (the CLI
4897
+ * reuses the same gatherers `project symlinks` uses), so this stays testable
4898
+ * without disk I/O.
4899
+ */
4900
+
4901
+ /**
4902
+ * The workspace view's gathered instruction facts, structurally identical to the
4903
+ * CLI's `ViewSymlinksOutcome` so the CLI passes its gathered value straight
4904
+ * through. `no-view` = no `workspace.view` declared; `collision` = the view name
4905
+ * clashes with a roster repo's canonical; `missing-canonical` = the view's own
4906
+ * canonical (`agents/<viewName>/AGENTS.md`) is absent (the my-favorites case);
4907
+ * `gathered` = the canonical exists and each spoke's on-disk state was inspected.
4908
+ */
4909
+ type ViewWiringFacts = {
4910
+ kind: "no-view";
4911
+ } | {
4912
+ kind: "collision";
4913
+ viewName: string;
4914
+ repoPath: string;
4915
+ } | {
4916
+ kind: "missing-canonical";
4917
+ viewName: string;
4918
+ } | {
4919
+ kind: "gathered";
4920
+ viewName: string;
4921
+ files: InstructionSymlinkFact[];
4922
+ };
4923
+ /**
4924
+ * An absent instruction canonical (AGENTS.md) — the primary drift this surfaces.
4925
+ * `repo-hub`: a `hub` repo's anchor canonical (`agents/<repo>/AGENTS.md`) is
4926
+ * missing; `repo-self`: a `self` repo's own committed AGENTS.md is missing;
4927
+ * `view`: the workspace view's canonical (`agents/<viewName>/AGENTS.md`) is
4928
+ * missing. `name` is the repo's roster path (repo targets) or the view name.
4929
+ */
4930
+ type MissingCanonical = {
4931
+ target: "repo-hub" | "repo-self" | "view";
4932
+ name: string;
4933
+ };
4934
+ /** A repo or the view whose canonical exists but whose spoke links are not all wired. */
4935
+ type IncompleteWiring = {
4936
+ target: "repo" | "view";
4937
+ /** Repo roster path, or the view name. */
4938
+ path: string;
4939
+ /** Instruction files still missing their link (e.g. "AGENTS.md", "CLAUDE.md"). */
4940
+ files: string[];
4941
+ };
4942
+ /** An existing file/link that is not what basou would wire — surfaced, never touched. */
4943
+ type WiringConflict = {
4944
+ target: "repo" | "view";
4945
+ /** Repo roster path, or the view name. */
4946
+ path: string;
4947
+ file: string;
4948
+ reason: "mismatch" | "occupied" | "blocked";
4949
+ /** The conflicting link's current target, present only when `reason` is `mismatch`. */
4950
+ actualTarget?: string;
4951
+ };
4952
+ /** Distinct repos (or view↔repo) resolving to the same `agents/<canonicalName>/AGENTS.md`. */
4953
+ type WiringCollision = {
4954
+ canonicalName: string;
4955
+ /** The colliding roster repo paths. */
4956
+ repos: string[];
4957
+ /** True when the workspace view is one side of the collision. */
4958
+ view?: boolean;
4959
+ };
4960
+ type WiringDriftSummary = {
4961
+ /** Absent instruction canonicals (repo hub, repo self, or view) — the headline gap. */
4962
+ missingCanonicals: MissingCanonical[];
4963
+ /** Repos/view whose canonical exists but whose spoke links are not fully wired. */
4964
+ incompleteWiring: IncompleteWiring[];
4965
+ /** Existing links that are not what basou would wire (left untouched). */
4966
+ conflicts: WiringConflict[];
4967
+ /** Ambiguous canonical-name collisions (repo↔repo or view↔repo). */
4968
+ collisions: WiringCollision[];
4969
+ /**
4970
+ * Declared repos not present on this machine (unresolvable / not a usable git
4971
+ * repo). ADVISORY: expected on a partial checkout (a workspace declares N repos;
4972
+ * a given machine has a subset cloned), so it is reported but does NOT fail
4973
+ * `ok` — otherwise `check` would read chronically dirty on every partial
4974
+ * checkout and drown the actionable drift it exists to surface.
4975
+ */
4976
+ unreachable: string[];
4977
+ /**
4978
+ * True when there is no ACTIONABLE drift: no missing canonical, no incomplete
4979
+ * wiring, no conflict, no collision. `unreachable` is deliberately excluded (it
4980
+ * is advisory — see above), so a partial checkout with otherwise-correct wiring
4981
+ * is `ok`. A missing view/repo AGENTS.md, a mismatched link, or a collision all
4982
+ * deny `ok`.
4983
+ */
4984
+ ok: boolean;
4985
+ };
4986
+ /**
4987
+ * Compute the {@link WiringDriftSummary} from the per-repo instruction facts and
4988
+ * the view's gathered facts. The repo side is delegated to
4989
+ * {@link summarizeSymlinkPlan} (so its dedup, collision, and canonical-absence
4990
+ * judgments are reused verbatim) and re-labelled as drift; the view side is folded
4991
+ * in from {@link ViewWiringFacts}. Leads with `missingCanonicals` because an absent
4992
+ * AGENTS.md is the drift the caller most needs to see.
4993
+ */
4994
+ declare function summarizeWiringDrift(input: {
4995
+ repos: RepoSymlinkFacts[];
4996
+ view: ViewWiringFacts;
4997
+ }): WiringDriftSummary;
4998
+
4743
4999
  /**
4744
5000
  * Plan the symlinks a project's throwaway "view" needs (the generation step
4745
5001
  * after the instruction-file symlinks in the "saddle" model). When a project
@@ -4763,7 +5019,12 @@ declare function summarizeWiring(facts: RepoWiringFacts[]): WiringSummary;
4763
5019
  * Pruning stray entries already in the view IS now in scope (see `toPrune` /
4764
5020
  * `strayUnknown` and {@link ExistingViewLink}): the ownership model that tells an
4765
5021
  * orphaned repo link from the view's own instruction files / local state lives
4766
- * here. Still NOT in scope: generating the view's own instruction files.
5022
+ * here. Generating the view's OWN instruction files (its AGENTS.md canonical and
5023
+ * the CLAUDE.md / Copilot spokes) is handled by `project preset` / `project
5024
+ * symlinks`, which treat the view as a second instruction target — this planner's
5025
+ * job stays the repo-aggregation symlinks and their strays. The prune ownership
5026
+ * model here (which excludes the view's own top-level instruction-file symlinks
5027
+ * from stray detection) is what keeps those generated files safe from pruning.
4767
5028
  */
4768
5029
  /**
4769
5030
  * The on-disk state of one repo's view symlink. `correct` = the expected link
@@ -4965,10 +5226,22 @@ declare function buildJsonSchemas(): JsonSchemaArtifact[];
4965
5226
  declare function serializeJsonSchema(schema: Record<string, unknown>): string;
4966
5227
 
4967
5228
  /**
4968
- * Schema version literal pinned to "0.1.0" for Basou v0.1.
4969
- * Reused across every entity schema so inferred types narrow to the literal.
5229
+ * The `.basou` on-disk format version, of the form `MAJOR.MINOR.PATCH`.
5230
+ *
5231
+ * This basou reads format **major 0**: it accepts any `0.x.y` (a newer MINOR /
5232
+ * PATCH is additive and still parses, because the entity schemas are loose and
5233
+ * preserve unknown fields) and GATES a higher / unknown major with an explicit
5234
+ * "upgrade basou" error rather than a cryptic field-level parse failure. The
5235
+ * gate behavior is part of the frozen format contract, so it is defined before
5236
+ * the semver-1.0 freeze — it cannot be retrofitted onto a frozen `z.literal`.
5237
+ *
5238
+ * The format major is DECOUPLED from the npm / product version: shipping basou
5239
+ * product 1.0.0 does not bump this major — it stays `0` until the on-disk format
5240
+ * itself changes incompatibly. The regex (not a `.refine`) is the gate so it is
5241
+ * emitted faithfully into the published JSON Schema `pattern`, letting a
5242
+ * cross-language validator enforce the same major.
4970
5243
  */
4971
- declare const SchemaVersionSchema: z.ZodLiteral<"0.1.0">;
5244
+ declare const SchemaVersionSchema: z.ZodString;
4972
5245
  /**
4973
5246
  * ISO 8601 timestamp with explicit timezone offset (e.g. `+09:00`).
4974
5247
  *
@@ -5023,7 +5296,7 @@ declare const StatusSchema: z.ZodObject<{
5023
5296
  workspace: z.ZodObject<{
5024
5297
  id: z.ZodString & z.ZodType<`ws_${string}`, string, z.core.$ZodTypeInternals<`ws_${string}`, string>>;
5025
5298
  name: z.ZodString;
5026
- basou_version: z.ZodLiteral<"0.1.0">;
5299
+ basou_version: z.ZodString;
5027
5300
  }, z.core.$strict>;
5028
5301
  directories_present: z.ZodObject<{
5029
5302
  sessions: z.ZodBoolean;
@@ -5767,13 +6040,12 @@ declare function acquireLock(paths: BasouPaths, scope: LockScope, resourceId: st
5767
6040
  /**
5768
6041
  * Inputs for {@link createManifest}. Optional fields drop out of the
5769
6042
  * resulting Manifest entirely (they are not emitted as `null`/`undefined`
5770
- * in YAML); pass `null` for `repositoryUrl` to keep an explicit `null`.
6043
+ * in YAML).
5771
6044
  */
5772
6045
  type CreateManifestInput = {
5773
6046
  workspaceName: string;
5774
6047
  projectName?: string;
5775
6048
  projectDescription?: string;
5776
- repositoryUrl?: string | null;
5777
6049
  /** Override for tests; defaults to `new Date()`. */
5778
6050
  now?: Date;
5779
6051
  /** Override for tests; defaults to a freshly generated `ws_<ULID>`. */
@@ -5901,6 +6173,27 @@ declare function parseMarkers(content: string, markers?: Markers): MarkerSection
5901
6173
  * so the error message is informative without leaking an absolute path.
5902
6174
  */
5903
6175
  declare function renderWithMarkers(existing: string | null, generated: string, fileLabel: string, markers?: Markers): string;
6176
+ /**
6177
+ * Seed a marker region into a file, migrating a markerless (hand-authored) file
6178
+ * IN PLACE instead of refusing it the way {@link renderWithMarkers} does. Used by
6179
+ * `project retrofit` to auto-migrate an existing prose canonical: the generated
6180
+ * block is prepended and every byte of the existing content is preserved.
6181
+ *
6182
+ * - `existing === null` (no file yet): identical to `renderWithMarkers(null, …)`
6183
+ * — a fresh `<START>\n<generated>\n<END>\n` block.
6184
+ * - existing parses to `ok`: delegated to {@link renderWithMarkers} — the marked
6185
+ * region is replaced, everything before START / after END is kept.
6186
+ * - `no_markers` (including a 0-byte / empty-string file): the block is PREPENDED
6187
+ * (`<START>\n<generated><END>\n\n<existing>`) so the hand-authored prose is kept
6188
+ * verbatim after one blank-line separator. A leading UTF-8 BOM is re-placed at
6189
+ * the FILE head (before the seeded block), never left mid-file — matching
6190
+ * {@link parseMarkers}' BOM tolerance. A leading YAML frontmatter (`---`) is
6191
+ * NOT special-cased: the block is prepended above it (a known limitation).
6192
+ * - any malformed result (`missing_start` / `missing_end` / `multiple_pairs` /
6193
+ * `wrong_order`): throws a pathless error referencing `fileLabel`, exactly like
6194
+ * {@link renderWithMarkers} (a broken marker pair must never be silently rewritten).
6195
+ */
6196
+ declare function seedMarkers(existing: string | null, generated: string, fileLabel: string, markers?: Markers): string;
5904
6197
  /**
5905
6198
  * Remove a marker region from `existing`, returning the body without the block.
5906
6199
  *
@@ -6138,4 +6431,4 @@ declare function overwriteYamlFile(filePath: string, value: unknown): Promise<vo
6138
6431
  */
6139
6432
  declare const BASOU_CORE_VERSION = "0.1.0";
6140
6433
 
6141
- export { ACTIVE_GAP_CAP_MS, AGENT_INFRA_DIRS, type ActiveTimeBasis, type AdapterOutputEvent, type AdoptCandidate, type AdoptCandidateKind, type AppendBasouGitignoreOptions, type AppendBasouGitignoreResult, type AppendEventToExistingInput, type AppendEventToExistingResult, type Approval, type ApprovalApprovedEvent, type ApprovalExpiredEvent, ApprovalIdSchema, type ApprovalLocation, type ApprovalRejectedEvent, type ApprovalRequestedEvent, ApprovalSchema, type ApprovalStatus, ApprovalStatusSchema, type ArchivePlan, type ArchiveTaskInput, type ArchiveTaskResult, type AttachTaskInput, type AttachUpdateTaskStatusInput, type AttachableStatus, BASOU_CORE_VERSION, type BasouPaths, type BuildStopHookCommandOptions, type BulkChainResult, CLAUDE_IMPORT_SOURCE, CODEX_IMPORT_SOURCE, type CaptureMode, type ChainBreakReason, type ChainTailState, type ChainVerdict, type ChainVerdictStatus, type ChainedEvents, ChildProcessRunner, type CitedReview, type ClaudeSettings, type ClaudeTranscriptRecord, type ClaudeTranscriptToPayloadOptions, type CodexCommandLookup, type CodexRolloutRecord, type CodexRolloutToPayloadOptions, type CommandExecutedEvent, type CommandLookup, type CreateAdHocSessionInput, type CreateAdHocSessionResult, type CreateAdHocTaskInput, type CreateManifestInput, type CreateTaskInput, type CreateTaskResult, DEFAULT_STOP_HOOK_MIN_EDITS, type DayWorkStats, DecisionIdSchema, type DecisionRecordedEvent, type DecisionsRendererInput, type DecisionsRendererResult, type DeleteTaskInput, type DeleteTaskResult, type DiffResult, type EditTaskInput, type EditTaskResult, type Event, EventIdSchema, EventSchema, EventSourceSchema, type ExistingViewLink, FailedToFinalizeError, type FederatedRoot, type FileChange, type FileChangeStatus, type FileChangedEvent, GENERATED_END, GENERATED_START, type GitSnapshot, type GitSnapshotEvent, type GitignorePlanSummary, type HandoffRendererInput, type HandoffRendererResult, ID_PREFIXES, type IdPrefix, type ImportSessionOptions, type ImportSessionResult, type InstructionFileFact, type InstructionSymlinkFact, type InstructionSymlinkState, IsoTimestampSchema, JSON_SCHEMA_VERSION, type JsonSchemaArtifact, type LoadFederatedOptions, type LoadSessionEntriesOptions, type LoadTaskEntriesOptions, type LoadedApproval, type LockHandle, type LockScope, type Manifest, ManifestSchema, type MarkerSection, type Markers, type MeasureAvailability, type NoteAddedEvent, ORIENTATION_END, ORIENTATION_START, type OrientationRendererInput, type OrientationRendererResult, type OrientationSummary, PROTOCOL_END, PROTOCOL_START, type PrefixedId, type PresetAction, type PresetCollision, type PresetMarkerConflict, type PresetMarkerKind, type PresetPlanSummary, type PresetRepo, type ProcessRunner, type PublishKind, type PublishTarget, REVIEW_RECORD_NO_INPUT_HINT, type RechainOptions, type RechainResult, type ReconcileAllResult, type ReconcileAllTasksInput, type ReconcileAllTasksOptions, type ReconcileFailure, type ReconcileResult, type ReconcileTaskInput, type RefreshLinkageInput, type RefreshLinkageResult, type ReimportOptions, type ReimportResult, type RenamePlan, type ReplayOptions, type ReplayWarning, type RepoEntry, type RepoGitignoreFacts, type RepoGitignorePlan, type RepoInstructions, type RepoLanguage, type RepoPresetFacts, type RepoPresetPlan, type RepoSymlinkFacts, type RepoSymlinkPlan, type RepoVisibility, type RepoWiringFacts, type ReportApprovalItem, type ReportData, type ReportDecisionItem, type ReportRendererInput, type ReportRendererResult, type ReportSessionItem, type ReportTaskItem, type RetrofitAction, type RetrofitAgentsState, type RetrofitFacts, type RetrofitPlan, type RetrofitReason, type ReviewBlocked, type ReviewFinding, type ReviewGapRepoSummary, type ReviewGapUnit, type ReviewGapVerdict, type ReviewGapsInput, type ReviewGapsSummary, type ReviewGateResult, type ReviewGateSilentReason, type ReviewRecordBlockedInput, type ReviewRecordFindingInput, type ReviewRecordInput, type ReviewRecordedEvent, type RiskLevel, RiskLevelSchema, type RosterAdoptionPlan, type RosterDriftSummary, type RunOptions, type RunResult, STOP_HOOK_TIMEOUT_SECONDS, STUCK_THRESHOLD_MS, type SanitizePathOptions, type SanitizeRelatedFilesResult, SchemaVersionSchema, type Session, type SessionEndedEvent, type SessionEntry, SessionIdSchema, type SessionImportPayload, SessionImportPayloadSchema, type SessionInnerImportInput, SessionInnerImportSchema, type SessionIntegrity, SessionIntegritySchema, type SessionMetrics, SessionMetricsSchema, SessionSchema, type SessionSkipReason, type SessionSourceKind, SessionSourceKindSchema, type SessionStartedEvent, type SessionStatus, type SessionStatusChangedEvent, SessionStatusSchema, type SessionWorkStats, type SourceRootScope, type SourceRootsReconcile, type SourceWorkStats, type StatusCount, StatusSchema, type StatusSnapshot, type StopHookEvaluation, type StopHookEvaluationInput, type StopHookRemoval, type StopHookSilentReason, type StopHookUpsert, type SuspectReason, type SymlinkCollision, type SymlinkConflict, type SymlinkPlanSummary, type Task, type TaskArchivedEvent, type TaskCreatedEvent, type TaskDeletedEvent, type TaskDocument, TaskIdSchema, type TaskLinkageRefreshedEvent, type TaskReconciledEvent, TaskSchema, type TaskSkipReason, type TaskStatus, type TaskStatusChangedEvent, type TaskStatusCount, TaskStatusSchema, TaskWriteAfterEventError, type TaskWriteAfterEventPhase, type TokenTotals, type UpdateAdHocTaskStatusInput, type UpdateTaskStatusInput, type UpdateTaskStatusResult, type ViewCollision, type ViewConflict, type ViewLinkState, type ViewRepoFact, type ViewStrayUnknown, type WiringRisk, type WiringSummary, type WorkStatsInput, type WorkStatsResult, type WorkStatsTotals, WorkspaceIdSchema, type WorkspaceViewPlan, type WriteEventsBulkOptions, type WriteTaskFileMode, acquireLock, appendBasouGitignore, appendChainedEvent, appendChainedEventLocked, appendEvent, appendEventToExistingSession, archiveTask, assertBasouRootSafe, basouPaths, buildJsonSchemas, buildReviewRecordLabel, buildReviewRecordedEvent, buildStatusSnapshot, buildStopHookCommand, chainEvents, chainRawJsonLines, classifyFilesBySourceRoot, classifyRetrofit, classifySuspect, claudeCodeAdapterMetadata, claudeTranscriptToImportPayload, codexAdapterMetadata, codexRolloutToImportPayload, computeWorkStats, createAdHocSessionWithEvent, createManifest, createTaskWithEvent, deleteTask, editTask, ensureBasouDirectory, enumerateApprovals, enumerateArchivedTaskIds, enumerateSessionDirs, enumerateTaskIds, evaluateStopHook, finalizeSessionYaml, findBasouStopHookCommand, findErrorCode, findReviewGaps, formatDurationMs, genesisHash, getDiff, getSnapshot, importSessionFromJson, inspectChainTail, instructionMode, isBasouStopHookCommand, isGitNotFound, isImportDerivedSource, isLazyExpired, isRenderable, isValidPrefixedId, lineHash, linkYamlFile, loadApproval, loadFederatedSessionEntries, loadSessionEntries, loadTaskEntries, normalizeRepoKey, normalizeRepoPath, overwriteYamlFile, parseDuration, parseMarkers, parseReviewRecordInput, pathBasename, planArchive, planGitignore, planRename, planRosterAdoption, planWorkspaceView, prefixedUlid, readAllEvents, readManifest, readMarkdownFile, readSessionYaml, readStatus, readTaskFile, readTaskFileWithArchiveFallback, readYamlFile, rechainSessionInPlace, reconcileAllTasks, reconcileSourceRoots, reconcileTask, refreshTaskLinkedSessions, reimportPreservingId, removeMarkerSection, removeStopHook, renderDecisions, renderHandoff, renderOrientation, renderPresetBlock, renderReport, renderWithMarkers, replayEvents, resolveBasouRepositoryRoot, resolveClaudeCodeCommand, resolveCodexCommand, resolveRepositoryRoot, resolveSessionId, resolveTaskId, safeSimpleGit, sanitizePath, sanitizeRelatedFiles, sanitizeWorkingDirectory, serializeEventLine, serializeJsonSchema, sessionWorkStatsFromEvents, summarizeAdapterOutput, summarizeOrientation, summarizePresetPlan, summarizeRosterDrift, summarizeSymlinkPlan, summarizeWiring, tryRemoteUrl, ulid, unknownManifestKeys, updateTaskStatusWithEvent, upsertStopHook, verifyEventsChain, writeEventsBulk, writeManifest, writeMarkdownFile, writeStatus, writeTaskFile, writeYamlFile };
6434
+ export { ACTIVE_GAP_CAP_MS, AGENT_INFRA_DIRS, type ActiveTimeBasis, type AdapterOutputEvent, type AdoptCandidate, type AdoptCandidateKind, type AnchorStarterInput, type AnchorStarterRepo, type AppendBasouGitignoreOptions, type AppendBasouGitignoreResult, type AppendEventToExistingInput, type AppendEventToExistingResult, type Approval, type ApprovalApprovedEvent, type ApprovalExpiredEvent, ApprovalIdSchema, type ApprovalLocation, type ApprovalRejectedEvent, type ApprovalRequestedEvent, ApprovalSchema, type ApprovalStatus, ApprovalStatusSchema, type ArchivePlan, type ArchiveTaskInput, type ArchiveTaskResult, type AttachTaskInput, type AttachUpdateTaskStatusInput, type AttachableStatus, BASOU_CORE_VERSION, type BasouPaths, type BuildStopHookCommandOptions, type BulkChainResult, CLAUDE_IMPORT_SOURCE, CODEX_IMPORT_SOURCE, type CaptureMode, type ChainBreakReason, type ChainTailState, type ChainVerdict, type ChainVerdictStatus, type ChainedEvents, ChildProcessRunner, type CitedReview, type ClaudeSettings, type ClaudeTranscriptRecord, type ClaudeTranscriptToPayloadOptions, type CodexCommandLookup, type CodexRolloutRecord, type CodexRolloutToPayloadOptions, type CommandExecutedEvent, type CommandLookup, type CreateAdHocSessionInput, type CreateAdHocSessionResult, type CreateAdHocTaskInput, type CreateManifestInput, type CreateTaskInput, type CreateTaskResult, DEFAULT_STOP_HOOK_MIN_EDITS, type DayWorkStats, DecisionIdSchema, type DecisionRecordedEvent, type DecisionsRendererInput, type DecisionsRendererResult, type DeleteTaskInput, type DeleteTaskResult, type DiffResult, type EditTaskInput, type EditTaskResult, type Event, EventIdSchema, EventSchema, EventSourceSchema, type ExistingViewLink, FailedToFinalizeError, type FederatedRoot, type FileChange, type FileChangeStatus, type FileChangedEvent, GENERATED_END, GENERATED_START, type GitSnapshot, type GitSnapshotEvent, type GitignorePlanSummary, type HandoffRendererInput, type HandoffRendererResult, ID_PREFIXES, type IdPrefix, type ImportSessionOptions, type ImportSessionResult, type IncompleteWiring, type InstructionFileFact, type InstructionSymlinkFact, type InstructionSymlinkState, IsoTimestampSchema, JSON_SCHEMA_VERSION, type JsonSchemaArtifact, type LoadFederatedOptions, type LoadSessionEntriesOptions, type LoadTaskEntriesOptions, type LoadedApproval, type LockHandle, type LockScope, type Manifest, ManifestSchema, type MarkerSection, type Markers, type MeasureAvailability, type MissingCanonical, type NoteAddedEvent, ORIENTATION_END, ORIENTATION_START, type OrientationRendererInput, type OrientationRendererResult, type OrientationSummary, PROTOCOL_END, PROTOCOL_START, type PrefixedId, type PresetAction, type PresetCollision, type PresetMarkerConflict, type PresetMarkerKind, type PresetPlanSummary, type PresetRepo, type ProcessRunner, type PublishKind, type PublishTarget, REVIEW_RECORD_NO_INPUT_HINT, type RechainOptions, type RechainResult, type ReconcileAllResult, type ReconcileAllTasksInput, type ReconcileAllTasksOptions, type ReconcileFailure, type ReconcileResult, type ReconcileTaskInput, type RefreshLinkageInput, type RefreshLinkageResult, type ReimportOptions, type ReimportResult, type RenamePlan, type ReplayOptions, type ReplayWarning, type RepoEntry, type RepoGitignoreFacts, type RepoGitignorePlan, type RepoInstructions, type RepoLanguage, type RepoPresetFacts, type RepoPresetPlan, type RepoSymlinkFacts, type RepoSymlinkPlan, type RepoVisibility, type RepoWiringFacts, type ReportApprovalItem, type ReportData, type ReportDecisionItem, type ReportRendererInput, type ReportRendererResult, type ReportSessionItem, type ReportTaskItem, type RetrofitAction, type RetrofitAgentsState, type RetrofitFacts, type RetrofitPlan, type RetrofitReason, type ReviewBlocked, type ReviewFinding, type ReviewGapRepoSummary, type ReviewGapUnit, type ReviewGapVerdict, type ReviewGapsInput, type ReviewGapsSummary, type ReviewGateResult, type ReviewGateSilentReason, type ReviewRecordBlockedInput, type ReviewRecordFindingInput, type ReviewRecordInput, type ReviewRecordedEvent, type RiskLevel, RiskLevelSchema, type RosterAdoptionPlan, type RosterDriftSummary, type RunOptions, type RunResult, STOP_HOOK_TIMEOUT_SECONDS, STUCK_THRESHOLD_MS, type SanitizePathOptions, type SanitizeRelatedFilesResult, SchemaVersionSchema, type Session, type SessionEndedEvent, type SessionEntry, SessionIdSchema, type SessionImportPayload, SessionImportPayloadSchema, type SessionInnerImportInput, SessionInnerImportSchema, type SessionIntegrity, SessionIntegritySchema, type SessionMetrics, SessionMetricsSchema, SessionSchema, type SessionSkipReason, type SessionSourceKind, SessionSourceKindSchema, type SessionStartedEvent, type SessionStatus, type SessionStatusChangedEvent, SessionStatusSchema, type SessionWorkStats, type SourceRootScope, type SourceRootsReconcile, type SourceWorkStats, type StatusCount, StatusSchema, type StatusSnapshot, type StopHookEvaluation, type StopHookEvaluationInput, type StopHookRemoval, type StopHookSilentReason, type StopHookUpsert, type SuspectReason, type SymlinkCollision, type SymlinkConflict, type SymlinkPlanSummary, type Task, type TaskArchivedEvent, type TaskCreatedEvent, type TaskDeletedEvent, type TaskDocument, TaskIdSchema, type TaskLinkageRefreshedEvent, type TaskReconciledEvent, TaskSchema, type TaskSkipReason, type TaskStatus, type TaskStatusChangedEvent, type TaskStatusCount, TaskStatusSchema, TaskWriteAfterEventError, type TaskWriteAfterEventPhase, type TokenTotals, type UpdateAdHocTaskStatusInput, type UpdateTaskStatusInput, type UpdateTaskStatusResult, type ViewCollision, type ViewConflict, type ViewLinkState, type ViewPresetInput, type ViewPresetRepo, type ViewRepoFact, type ViewStrayUnknown, type ViewWiringFacts, type WiringCollision, type WiringConflict, type WiringDriftSummary, type WiringRisk, type WiringSummary, type WorkStatsInput, type WorkStatsResult, type WorkStatsTotals, WorkspaceIdSchema, type WorkspaceViewPlan, type WriteEventsBulkOptions, type WriteTaskFileMode, acquireLock, appendBasouGitignore, appendChainedEvent, appendChainedEventLocked, appendEvent, appendEventToExistingSession, archiveTask, assertBasouRootSafe, basouPaths, buildJsonSchemas, buildReviewRecordLabel, buildReviewRecordedEvent, buildStatusSnapshot, buildStopHookCommand, chainEvents, chainRawJsonLines, classifyFilesBySourceRoot, classifyRetrofit, classifySuspect, claudeCodeAdapterMetadata, claudeTranscriptToImportPayload, codexAdapterMetadata, codexRolloutToImportPayload, computeWorkStats, createAdHocSessionWithEvent, createManifest, createTaskWithEvent, deleteTask, editTask, ensureBasouDirectory, enumerateApprovals, enumerateArchivedTaskIds, enumerateSessionDirs, enumerateTaskIds, evaluateStopHook, finalizeSessionYaml, findBasouStopHookCommand, findErrorCode, findReviewGaps, formatDurationMs, genesisHash, getDiff, getSnapshot, importSessionFromJson, inspectChainTail, instructionMode, isBasouStopHookCommand, isGitNotFound, isImportDerivedSource, isLazyExpired, isRenderable, isValidPrefixedId, lineHash, linkYamlFile, loadApproval, loadFederatedSessionEntries, loadSessionEntries, loadTaskEntries, normalizeRepoKey, normalizeRepoPath, overwriteYamlFile, parseDuration, parseMarkers, parseReviewRecordInput, pathBasename, planArchive, planGitignore, planRename, planRosterAdoption, planWorkspaceView, prefixedUlid, readAllEvents, readManifest, readMarkdownFile, readSessionYaml, readStatus, readTaskFile, readTaskFileWithArchiveFallback, readYamlFile, rechainSessionInPlace, reconcileAllTasks, reconcileSourceRoots, reconcileTask, refreshTaskLinkedSessions, reimportPreservingId, removeMarkerSection, removeStopHook, renderAnchorStarter, renderDecisions, renderHandoff, renderOrientation, renderPresetBlock, renderReport, renderViewPresetBlock, renderWithMarkers, replayEvents, resolveBasouRepositoryRoot, resolveClaudeCodeCommand, resolveCodexCommand, resolveRepositoryRoot, resolveSessionId, resolveTaskId, safeSimpleGit, sanitizePath, sanitizeRelatedFiles, sanitizeWorkingDirectory, seedMarkers, serializeEventLine, serializeJsonSchema, sessionWorkStatsFromEvents, summarizeAdapterOutput, summarizeOrientation, summarizePresetPlan, summarizeRosterDrift, summarizeSymlinkPlan, summarizeWiring, summarizeWiringDrift, tryRemoteUrl, ulid, unknownManifestKeys, updateTaskStatusWithEvent, upsertStopHook, verifyEventsChain, writeEventsBulk, writeManifest, writeMarkdownFile, writeStatus, writeTaskFile, writeYamlFile };