@gitgov/core 1.3.0 → 1.4.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.
@@ -23,17 +23,17 @@ interface ActorRecord {
23
23
  */
24
24
  displayName: string;
25
25
  /**
26
- * The Ed25519 public key (base64 encoded) for verifying the actor's signatures.
26
+ * The Ed25519 public key (base64 encoded, 44 characters) for verifying the actor's signatures.
27
27
  */
28
28
  publicKey: string;
29
29
  /**
30
- * List of capacity roles defining the actor's skills and permissions.
30
+ * List of capacity roles defining the actor's skills and permissions. Uses hierarchical format with colons.
31
31
  *
32
32
  * @minItems 1
33
33
  */
34
34
  roles: [string, ...string[]];
35
35
  /**
36
- * The lifecycle status of the actor.
36
+ * Optional. The lifecycle status of the actor. Defaults to 'active' if not specified.
37
37
  */
38
38
  status?: 'active' | 'revoked';
39
39
  /**
@@ -60,29 +60,109 @@ interface AgentRecord {
60
60
  */
61
61
  id: string;
62
62
  status?: 'active' | 'archived';
63
- guild: 'design' | 'intelligence' | 'strategy' | 'operations' | 'quality';
63
+ /**
64
+ * Optional list of triggers that activate the agent.
65
+ * Additional fields are allowed and depend on trigger type:
66
+ * - webhook triggers: 'event' (event identifier), 'filter' (condition)
67
+ * - scheduled triggers: 'cron' (cron expression)
68
+ * - manual triggers: 'command' (example CLI command)
69
+ *
70
+ */
64
71
  triggers?: {
72
+ /**
73
+ * Type of trigger that activates the agent
74
+ */
65
75
  type: 'manual' | 'webhook' | 'scheduled';
76
+ [k: string]: unknown | undefined;
66
77
  }[];
67
78
  knowledge_dependencies?: string[];
68
79
  prompt_engine_requirements?: {
69
80
  roles?: string[];
70
81
  skills?: string[];
71
82
  };
83
+ /**
84
+ * Optional framework-specific or deployment-specific metadata for agent extensions.
85
+ * Common use cases: framework identification (langchain, google-adk), deployment info (provider, image, region),
86
+ * cost tracking (cost_per_invocation, currency), tool capabilities, maintainer info.
87
+ * This field does NOT affect agent execution - it is purely informational.
88
+ *
89
+ */
90
+ metadata?: {
91
+ [k: string]: unknown | undefined;
92
+ };
72
93
  engine: {
73
94
  type: 'local';
95
+ /**
96
+ * Runtime environment (typescript, python, etc.)
97
+ */
74
98
  runtime?: string;
99
+ /**
100
+ * Path to the agent entry file
101
+ */
75
102
  entrypoint?: string;
103
+ /**
104
+ * Function name to invoke
105
+ */
76
106
  function?: string;
77
107
  } | {
78
108
  type: 'api';
79
- url?: string;
109
+ /**
110
+ * HTTP endpoint for the agent
111
+ */
112
+ url: string;
80
113
  method?: 'POST' | 'GET';
81
- auth?: {};
114
+ /**
115
+ * Authentication configuration for API requests
116
+ */
117
+ auth?: {
118
+ /**
119
+ * Authentication type. 'actor-signature' uses the agent's ActorRecord keypair to sign requests.
120
+ */
121
+ type?: 'bearer' | 'oauth' | 'api-key' | 'actor-signature';
122
+ /**
123
+ * Reference to secret in Secret Manager (for bearer/api-key/oauth auth types)
124
+ */
125
+ secret_key?: string;
126
+ /**
127
+ * Direct token value (not recommended for production, use secret_key instead)
128
+ */
129
+ token?: string;
130
+ [k: string]: unknown | undefined;
131
+ };
82
132
  } | {
83
133
  type: 'mcp';
84
- url?: string;
85
- auth?: {};
134
+ /**
135
+ * MCP server endpoint
136
+ */
137
+ url: string;
138
+ /**
139
+ * Authentication configuration for MCP server
140
+ */
141
+ auth?: {
142
+ /**
143
+ * Authentication type. 'actor-signature' uses the agent's ActorRecord keypair to sign requests.
144
+ */
145
+ type?: 'bearer' | 'oauth' | 'api-key' | 'actor-signature';
146
+ /**
147
+ * Reference to secret in Secret Manager (for bearer/api-key/oauth auth types)
148
+ */
149
+ secret_key?: string;
150
+ /**
151
+ * Direct token value (not recommended for production, use secret_key instead)
152
+ */
153
+ token?: string;
154
+ [k: string]: unknown | undefined;
155
+ };
156
+ } | {
157
+ type: 'custom';
158
+ /**
159
+ * Custom protocol identifier (e.g., 'a2a', 'grpc')
160
+ */
161
+ protocol?: string;
162
+ /**
163
+ * Protocol-specific configuration
164
+ */
165
+ config?: {};
86
166
  };
87
167
  }
88
168
 
@@ -92,7 +172,7 @@ interface AgentRecord {
92
172
  * and run 'pnpm compile:types' to regenerate this file.
93
173
  */
94
174
  /**
95
- * Canonical schema for changelog records - Enterprise Grade System Historian
175
+ * Canonical schema for changelog records - aggregates N tasks into 1 release note
96
176
  */
97
177
  interface ChangelogRecord {
98
178
  /**
@@ -100,90 +180,51 @@ interface ChangelogRecord {
100
180
  */
101
181
  id: string;
102
182
  /**
103
- * Type of the primary entity that changed
104
- */
105
- entityType: 'task' | 'cycle' | 'agent' | 'system' | 'configuration';
106
- /**
107
- * ID of the primary entity that changed
108
- */
109
- entityId: string;
110
- /**
111
- * The nature of the change
112
- */
113
- changeType: 'creation' | 'completion' | 'update' | 'deletion' | 'hotfix';
114
- /**
115
- * Executive title of the change
183
+ * Executive title of the deliverable
116
184
  */
117
185
  title: string;
118
186
  /**
119
- * Detailed description of the change and its impact
187
+ * Detailed description of the value delivered, including key decisions and impact
120
188
  */
121
189
  description: string;
122
190
  /**
123
- * Unix timestamp in seconds when the change occurred
124
- */
125
- timestamp: number;
126
- /**
127
- * How the change was initiated
128
- */
129
- trigger: 'manual' | 'automated' | 'emergency';
130
- /**
131
- * Actor or agent ID that initiated the change
132
- */
133
- triggeredBy: string;
134
- /**
135
- * Why the change was made
191
+ * IDs of tasks that compose this deliverable (minimum 1 required)
192
+ *
193
+ * @minItems 1
136
194
  */
137
- reason: string;
195
+ relatedTasks: [string, ...string[]];
138
196
  /**
139
- * Risk level of the change
197
+ * Unix timestamp in seconds when the deliverable was completed
140
198
  */
141
- riskLevel: 'low' | 'medium' | 'high' | 'critical';
199
+ completedAt: number;
142
200
  /**
143
- * IDs of systems impacted by this change
201
+ * Optional IDs of cycles related to this deliverable
144
202
  */
145
- affectedSystems?: string[];
203
+ relatedCycles?: string[];
146
204
  /**
147
- * Number of users impacted by this change
205
+ * Optional IDs of key execution records related to this work
148
206
  */
149
- usersAffected?: number;
207
+ relatedExecutions?: string[];
150
208
  /**
151
- * Downtime in seconds caused by this change
209
+ * Optional version or release identifier (e.g., 'v1.0.0', 'sprint-24')
152
210
  */
153
- downtime?: number;
211
+ version?: string;
154
212
  /**
155
- * List of main files that were created or modified
213
+ * Optional tags for categorization (e.g., 'feature:auth', 'bugfix', 'security')
156
214
  */
157
- files?: string[];
215
+ tags?: string[];
158
216
  /**
159
- * List of git commit hashes related to this change
217
+ * Optional list of git commit hashes related to this deliverable
160
218
  */
161
219
  commits?: string[];
162
220
  /**
163
- * Step-by-step instructions to rollback this change
221
+ * Optional list of main files that were created or modified
164
222
  */
165
- rollbackInstructions?: string;
223
+ files?: string[];
166
224
  /**
167
- * Cross-references to other GitGovernance records
225
+ * Optional additional context, decisions, or learnings
168
226
  */
169
- references?: {
170
- /**
171
- * IDs of related TaskRecords
172
- */
173
- tasks?: string[];
174
- /**
175
- * IDs of related CycleRecords
176
- */
177
- cycles?: string[];
178
- /**
179
- * IDs of related ExecutionRecords
180
- */
181
- executions?: string[];
182
- /**
183
- * IDs of related ChangelogRecords
184
- */
185
- changelogs?: string[];
186
- };
227
+ notes?: string;
187
228
  }
188
229
 
189
230
  /**
@@ -192,32 +233,35 @@ interface ChangelogRecord {
192
233
  * and run 'pnpm compile:types' to regenerate this file.
193
234
  */
194
235
  /**
195
- * Canonical schema for cycle records (sprints, milestones)
236
+ * Canonical schema for cycle records - strategic grouping of work
196
237
  */
197
238
  interface CycleRecord {
198
239
  /**
199
- * Unique identifier for the cycle
240
+ * Unique identifier for the cycle (10 timestamp + 1 dash + 5 'cycle' + 1 dash + max 50 slug = 67 max)
200
241
  */
201
242
  id: string;
202
243
  /**
203
- * Human-readable title for the cycle (e.g., 'Sprint 24.08')
244
+ * Human-readable title for the cycle (e.g., 'Sprint 24', 'Auth v2.0', 'Q4 2025')
204
245
  */
205
246
  title: string;
206
247
  /**
207
248
  * The lifecycle status of the cycle
208
249
  */
209
250
  status: 'planning' | 'active' | 'completed' | 'archived';
251
+ /**
252
+ * Optional array of Task IDs that belong to this cycle. Can be empty for cycles that only contain child cycles. (10 timestamp + 1 dash + 4 'task' + 1 dash + max 50 slug = 66 max)
253
+ */
210
254
  taskIds?: string[];
211
255
  /**
212
- * An optional array of Cycle IDs that are children of this cycle, allowing for hierarchies.
256
+ * Optional array of Cycle IDs that are children of this cycle, allowing for hierarchies (e.g., Q1 containing Sprint 1, Sprint 2, Sprint 3). (10 timestamp + 1 dash + 5 'cycle' + 1 dash + max 50 slug = 67 max)
213
257
  */
214
258
  childCycleIds?: string[];
215
259
  /**
216
- * Optional list of key:value tags for categorization (e.g., 'roadmap:q4', 'team:alpha').
260
+ * Optional list of key:value tags for categorization (e.g., 'roadmap:q4', 'team:alpha', 'okr:growth').
217
261
  */
218
262
  tags?: string[];
219
263
  /**
220
- * An optional description of the cycle's goals and objectives
264
+ * Optional description of the cycle's goals, objectives, and context
221
265
  */
222
266
  notes?: string;
223
267
  }
@@ -228,35 +272,49 @@ interface CycleRecord {
228
272
  * and run 'pnpm compile:types' to regenerate this file.
229
273
  */
230
274
  /**
231
- * Canonical schema for execution log records
275
+ * Canonical schema for execution log records - the universal event stream
232
276
  */
233
277
  interface ExecutionRecord {
234
278
  /**
235
- * Unique identifier for the execution log entry
279
+ * Unique identifier for the execution log entry (10 timestamp + 1 dash + 4 'exec' + 1 dash + max 50 slug = 66 max)
236
280
  */
237
281
  id: string;
238
282
  /**
239
- * ID of the parent task
283
+ * ID of the parent task this execution belongs to (10 timestamp + 1 dash + 4 'task' + 1 dash + max 50 slug = 66 max)
240
284
  */
241
285
  taskId: string;
242
286
  /**
243
287
  * Semantic classification of the execution event
244
288
  */
245
- type?: 'analysis' | 'progress' | 'blocker' | 'completion' | 'info' | 'correction';
289
+ type: 'analysis' | 'progress' | 'blocker' | 'completion' | 'info' | 'correction';
246
290
  /**
247
- * Human-readable title for the execution
291
+ * Human-readable title for the execution (used to generate ID)
248
292
  */
249
- title?: string;
293
+ title: string;
250
294
  /**
251
- * The tangible, verifiable output or result of the execution
295
+ * The tangible, verifiable output or result of the execution.
296
+ * This is the "WHAT" - evidence of work or event summary.
297
+ *
252
298
  */
253
299
  result: string;
254
300
  /**
255
- * Optional comments about decisions, blockers or context
301
+ * Optional narrative, context and decisions behind the execution.
302
+ * This is the "HOW" and "WHY" - the story behind the result.
303
+ *
256
304
  */
257
305
  notes?: string;
258
306
  /**
259
- * List of URIs to relevant commits, files, or external documents
307
+ * Optional list of typed references to relevant commits, files, PRs, or external documents.
308
+ * Should use typed prefixes for clarity and trazabilidad (see execution_protocol_appendix.md):
309
+ * - commit: Git commit SHA
310
+ * - pr: Pull Request number
311
+ * - file: File path (relative to repo root)
312
+ * - url: External URL
313
+ * - issue: GitHub Issue number
314
+ * - task: TaskRecord ID
315
+ * - exec: ExecutionRecord ID (for corrections or dependencies)
316
+ * - changelog: ChangelogRecord ID
317
+ *
260
318
  */
261
319
  references?: string[];
262
320
  }
@@ -267,7 +325,7 @@ interface ExecutionRecord {
267
325
  * and run 'pnpm compile:types' to regenerate this file.
268
326
  */
269
327
  /**
270
- * Canonical schema for feedback records
328
+ * Canonical schema for feedback records - structured conversation about work
271
329
  */
272
330
  interface FeedbackRecord {
273
331
  /**
@@ -277,9 +335,16 @@ interface FeedbackRecord {
277
335
  /**
278
336
  * The type of entity this feedback refers to
279
337
  */
280
- entityType: 'task' | 'execution' | 'changelog' | 'feedback';
338
+ entityType: 'task' | 'execution' | 'changelog' | 'feedback' | 'cycle';
281
339
  /**
282
- * The ID of the entity this feedback refers to
340
+ * The ID of the entity this feedback refers to.
341
+ * Must match the pattern for its entityType:
342
+ * - task: ^\d{10}-task-[a-z0-9-]{1,50}$
343
+ * - execution: ^\d{10}-exec-[a-z0-9-]{1,50}$
344
+ * - changelog: ^\d{10}-changelog-[a-z0-9-]{1,50}$
345
+ * - feedback: ^\d{10}-feedback-[a-z0-9-]{1,50}$
346
+ * - cycle: ^\d{10}-cycle-[a-z0-9-]{1,50}$
347
+ *
283
348
  */
284
349
  entityId: string;
285
350
  /**
@@ -287,19 +352,22 @@ interface FeedbackRecord {
287
352
  */
288
353
  type: 'blocking' | 'suggestion' | 'question' | 'approval' | 'clarification' | 'assignment';
289
354
  /**
290
- * The lifecycle status of the feedback
355
+ * The lifecycle status of the feedback.
356
+ * Note: FeedbackRecords are immutable. To change status, create a new feedback
357
+ * that references this one using entityType: "feedback" and resolvesFeedbackId.
358
+ *
291
359
  */
292
360
  status: 'open' | 'acknowledged' | 'resolved' | 'wontfix';
293
361
  /**
294
- * The content of the feedback
362
+ * The content of the feedback. Reduced from 10000 to 5000 chars for practical use.
295
363
  */
296
364
  content: string;
297
365
  /**
298
- * The Actor ID of the agent responsible for addressing the feedback
366
+ * Optional. The Actor ID responsible for addressing the feedback (e.g., 'human:maria', 'agent:camilo:cursor')
299
367
  */
300
368
  assignee?: string;
301
369
  /**
302
- * The ID of another feedback record that this one resolves or responds to
370
+ * Optional. The ID of another feedback record that this one resolves or responds to
303
371
  */
304
372
  resolvesFeedbackId?: string;
305
373
  }
@@ -314,7 +382,7 @@ interface FeedbackRecord {
314
382
  */
315
383
  interface TaskRecord {
316
384
  /**
317
- * Unique identifier for the task
385
+ * Unique identifier for the task (10 timestamp + 1 dash + 4 'task' + 1 dash + max 50 slug = 66 max)
318
386
  */
319
387
  id: string;
320
388
  /**
@@ -322,7 +390,7 @@ interface TaskRecord {
322
390
  */
323
391
  title: string;
324
392
  /**
325
- * Optional. The IDs of the strategic cycles this task belongs to.
393
+ * Optional. The IDs of the strategic cycles this task belongs to. (10 timestamp + 1 dash + 5 'cycle' + 1 dash + max 50 slug = 67 max)
326
394
  */
327
395
  cycleIds?: string[];
328
396
  /**
@@ -338,9 +406,9 @@ interface TaskRecord {
338
406
  */
339
407
  description: string;
340
408
  /**
341
- * List of key:value tags for categorization and role suggestion (e.g., 'skill:react', 'role:agent:developer'). Can be an empty array.
409
+ * Optional. List of key:value tags for categorization and role suggestion (e.g., 'skill:react', 'role:agent:developer').
342
410
  */
343
- tags: string[];
411
+ tags?: string[];
344
412
  /**
345
413
  * Valid links or files, when mentioned
346
414
  */
@@ -400,7 +468,7 @@ interface WorkflowMethodologyRecord {
400
468
  */
401
469
  event?: string;
402
470
  /**
403
- * Signature requirements keyed by guild
471
+ * Signature requirements keyed by role (e.g., 'approver:quality', 'developer:backend')
404
472
  */
405
473
  signatures?: {
406
474
  [k: string]: {
@@ -501,46 +569,7 @@ interface WorkflowMethodologyRecord {
501
569
  * List of agents required for this methodology
502
570
  */
503
571
  required_agents?: {
504
- /**
505
- * Unique agent identifier
506
- */
507
- id: string;
508
- /**
509
- * Agent guild classification
510
- */
511
- gremio: 'design' | 'intelligence' | 'strategy' | 'operations' | 'quality';
512
- engine: {
513
- type: 'local';
514
- runtime?: string;
515
- entrypoint?: string;
516
- function?: string;
517
- } | {
518
- type: 'api';
519
- url?: string;
520
- method?: 'POST' | 'GET';
521
- auth?: {};
522
- } | {
523
- type: 'mcp';
524
- url?: string;
525
- auth?: {};
526
- };
527
- /**
528
- * Event triggers for this agent
529
- */
530
- triggers?: {
531
- /**
532
- * Event that triggers the agent
533
- */
534
- event: string;
535
- /**
536
- * Action the agent should perform
537
- */
538
- action: string;
539
- }[];
540
- /**
541
- * Knowledge files this agent depends on
542
- */
543
- knowledge_dependencies?: string[];
572
+ [k: string]: unknown | undefined;
544
573
  }[];
545
574
  /**
546
575
  * Automation rules linking triggers to agents
@@ -600,53 +629,49 @@ type EmbeddedMetadataRecord$1 = {
600
629
  signatures: [
601
630
  {
602
631
  /**
603
- * The Actor ID of the signer.
632
+ * The Actor ID of the signer (must match ActorRecord.id pattern).
604
633
  */
605
634
  keyId: string;
606
635
  /**
607
- * The context role of the signature (e.g., 'author').
636
+ * The context role of the signature (e.g., 'author', 'reviewer', 'auditor', or 'custom:*').
608
637
  */
609
638
  role: string;
610
639
  /**
611
- * The Ed25519 signature (base64 encoded) of the signature digest.
640
+ * Human-readable note from the signer. Part of the signature digest.
641
+ */
642
+ notes: string;
643
+ /**
644
+ * The Ed25519 signature (base64 encoded, 88 chars with padding) of the signature digest.
612
645
  */
613
646
  signature: string;
614
647
  /**
615
648
  * Unix timestamp of the signature.
616
649
  */
617
650
  timestamp: number;
618
- /**
619
- * ISO 8601 timestamp of the signature.
620
- */
621
- timestamp_iso: string;
622
651
  },
623
652
  ...{
624
653
  /**
625
- * The Actor ID of the signer.
654
+ * The Actor ID of the signer (must match ActorRecord.id pattern).
626
655
  */
627
656
  keyId: string;
628
657
  /**
629
- * The context role of the signature (e.g., 'author').
658
+ * The context role of the signature (e.g., 'author', 'reviewer', 'auditor', or 'custom:*').
630
659
  */
631
660
  role: string;
632
661
  /**
633
- * The Ed25519 signature (base64 encoded) of the signature digest.
662
+ * Human-readable note from the signer. Part of the signature digest.
663
+ */
664
+ notes: string;
665
+ /**
666
+ * The Ed25519 signature (base64 encoded, 88 chars with padding) of the signature digest.
634
667
  */
635
668
  signature: string;
636
669
  /**
637
670
  * Unix timestamp of the signature.
638
671
  */
639
672
  timestamp: number;
640
- /**
641
- * ISO 8601 timestamp of the signature.
642
- */
643
- timestamp_iso: string;
644
673
  }[]
645
674
  ];
646
- /**
647
- * A human-readable audit stamp (e.g., from gitgov audit).
648
- */
649
- audit?: string;
650
675
  };
651
676
  /**
652
677
  * The specific record data, validated against the schema defined by header.type.
@@ -661,13 +686,18 @@ type EmbeddedMetadataRecord$1 = {
661
686
  * This is hardcoded solution but avoids duplication and uses the generated type as source of truth.
662
687
  */
663
688
  type Signature = EmbeddedMetadataRecord$1['header']['signatures'][0];
689
+ /**
690
+ * Extract Header type from the auto-generated base type.
691
+ * This is the complete header structure for EmbeddedMetadata.
692
+ */
693
+ type EmbeddedMetadataHeader = EmbeddedMetadataRecord$1['header'];
664
694
  /**
665
695
  * Generic version of EmbeddedMetadataRecord that accepts any payload type T.
666
696
  * This extends the auto-generated base type but makes the payload generic.
667
697
  * We need to explicitly preserve the header structure due to the index signature in the base type.
668
698
  */
669
699
  type EmbeddedMetadataRecord<T extends GitGovRecordPayload> = {
670
- header: EmbeddedMetadataRecord$1['header'];
700
+ header: EmbeddedMetadataHeader;
671
701
  payload: T;
672
702
  };
673
703
 
@@ -690,6 +720,21 @@ type GitGovRecordPayload = ActorRecord | AgentRecord | CycleRecord | TaskRecord
690
720
  * The canonical type for any record in GitGovernance, wrapping a payload with metadata.
691
721
  */
692
722
  type GitGovRecord = EmbeddedMetadataRecord<GitGovRecordPayload>;
723
+ /**
724
+ * Specific GitGov record types with full metadata (header + payload).
725
+ * These types provide clean, type-safe access to records with their signatures and checksums.
726
+ *
727
+ * @example
728
+ * const taskRecord: GitGovTaskRecord = await taskStore.read(taskId);
729
+ * const authorId = taskRecord.header.signatures[0].keyId;
730
+ */
731
+ type GitGovTaskRecord = EmbeddedMetadataRecord<TaskRecord>;
732
+ type GitGovCycleRecord = EmbeddedMetadataRecord<CycleRecord>;
733
+ type GitGovFeedbackRecord = EmbeddedMetadataRecord<FeedbackRecord>;
734
+ type GitGovExecutionRecord = EmbeddedMetadataRecord<ExecutionRecord>;
735
+ type GitGovChangelogRecord = EmbeddedMetadataRecord<ChangelogRecord>;
736
+ type GitGovActorRecord = EmbeddedMetadataRecord<ActorRecord>;
737
+ type GitGovAgentRecord = EmbeddedMetadataRecord<AgentRecord>;
693
738
  type ActorPayload = Partial<ActorRecord>;
694
739
  type AgentPayload = Partial<AgentRecord>;
695
740
  type CyclePayload = Partial<CycleRecord>;
@@ -715,22 +760,30 @@ type index$j_ChangelogRecord = ChangelogRecord;
715
760
  type index$j_CustomRecord = CustomRecord;
716
761
  type index$j_CyclePayload = CyclePayload;
717
762
  type index$j_CycleRecord = CycleRecord;
763
+ type index$j_EmbeddedMetadataHeader = EmbeddedMetadataHeader;
718
764
  type index$j_EmbeddedMetadataRecord<T extends GitGovRecordPayload> = EmbeddedMetadataRecord<T>;
719
765
  type index$j_ExecutionPayload = ExecutionPayload;
720
766
  type index$j_ExecutionRecord = ExecutionRecord;
721
767
  type index$j_FeedbackPayload = FeedbackPayload;
722
768
  type index$j_FeedbackRecord = FeedbackRecord;
769
+ type index$j_GitGovActorRecord = GitGovActorRecord;
770
+ type index$j_GitGovAgentRecord = GitGovAgentRecord;
771
+ type index$j_GitGovChangelogRecord = GitGovChangelogRecord;
772
+ type index$j_GitGovCycleRecord = GitGovCycleRecord;
723
773
  type index$j_GitGovError = GitGovError;
724
774
  declare const index$j_GitGovError: typeof GitGovError;
775
+ type index$j_GitGovExecutionRecord = GitGovExecutionRecord;
776
+ type index$j_GitGovFeedbackRecord = GitGovFeedbackRecord;
725
777
  type index$j_GitGovRecord = GitGovRecord;
726
778
  type index$j_GitGovRecordPayload = GitGovRecordPayload;
727
779
  type index$j_GitGovRecordType = GitGovRecordType;
780
+ type index$j_GitGovTaskRecord = GitGovTaskRecord;
728
781
  type index$j_Signature = Signature;
729
782
  type index$j_TaskPayload = TaskPayload;
730
783
  type index$j_TaskRecord = TaskRecord;
731
784
  type index$j_WorkflowMethodologyRecord = WorkflowMethodologyRecord;
732
785
  declare namespace index$j {
733
- export { type index$j_ActorPayload as ActorPayload, type index$j_ActorRecord as ActorRecord, type index$j_AgentPayload as AgentPayload, type index$j_AgentRecord as AgentRecord, type index$j_ChangelogPayload as ChangelogPayload, type index$j_ChangelogRecord as ChangelogRecord, type index$j_CustomRecord as CustomRecord, type index$j_CyclePayload as CyclePayload, type index$j_CycleRecord as CycleRecord, type index$j_EmbeddedMetadataRecord as EmbeddedMetadataRecord, type index$j_ExecutionPayload as ExecutionPayload, type index$j_ExecutionRecord as ExecutionRecord, type index$j_FeedbackPayload as FeedbackPayload, type index$j_FeedbackRecord as FeedbackRecord, index$j_GitGovError as GitGovError, type index$j_GitGovRecord as GitGovRecord, type index$j_GitGovRecordPayload as GitGovRecordPayload, type index$j_GitGovRecordType as GitGovRecordType, type index$j_Signature as Signature, type index$j_TaskPayload as TaskPayload, type index$j_TaskRecord as TaskRecord, type index$j_WorkflowMethodologyRecord as WorkflowMethodologyRecord };
786
+ export { type index$j_ActorPayload as ActorPayload, type index$j_ActorRecord as ActorRecord, type index$j_AgentPayload as AgentPayload, type index$j_AgentRecord as AgentRecord, type index$j_ChangelogPayload as ChangelogPayload, type index$j_ChangelogRecord as ChangelogRecord, type index$j_CustomRecord as CustomRecord, type index$j_CyclePayload as CyclePayload, type index$j_CycleRecord as CycleRecord, type index$j_EmbeddedMetadataHeader as EmbeddedMetadataHeader, type index$j_EmbeddedMetadataRecord as EmbeddedMetadataRecord, type index$j_ExecutionPayload as ExecutionPayload, type index$j_ExecutionRecord as ExecutionRecord, type index$j_FeedbackPayload as FeedbackPayload, type index$j_FeedbackRecord as FeedbackRecord, type index$j_GitGovActorRecord as GitGovActorRecord, type index$j_GitGovAgentRecord as GitGovAgentRecord, type index$j_GitGovChangelogRecord as GitGovChangelogRecord, type index$j_GitGovCycleRecord as GitGovCycleRecord, index$j_GitGovError as GitGovError, type index$j_GitGovExecutionRecord as GitGovExecutionRecord, type index$j_GitGovFeedbackRecord as GitGovFeedbackRecord, type index$j_GitGovRecord as GitGovRecord, type index$j_GitGovRecordPayload as GitGovRecordPayload, type index$j_GitGovRecordType as GitGovRecordType, type index$j_GitGovTaskRecord as GitGovTaskRecord, type index$j_Signature as Signature, type index$j_TaskPayload as TaskPayload, type index$j_TaskRecord as TaskRecord, type index$j_WorkflowMethodologyRecord as WorkflowMethodologyRecord };
734
787
  }
735
788
 
736
789
  type StorablePayload = Exclude<GitGovRecordPayload, CustomRecord>;
@@ -847,26 +900,16 @@ type ExecutionCreatedEvent = BaseEvent & {
847
900
 
848
901
  type FeedbackCreatedEvent = BaseEvent & {
849
902
  type: 'feedback.created';
850
- payload: Pick<FeedbackRecord, 'entityType' | 'entityId' | 'type' | 'status' | 'content' | 'assignee'> & {
851
- feedbackId: string;
852
- triggeredBy: string;
853
- };
854
- };
855
- type FeedbackStatusChangedEvent = BaseEvent & {
856
- type: 'feedback.status.changed';
857
- payload: Pick<FeedbackRecord, 'assignee'> & {
903
+ payload: Pick<FeedbackRecord, 'entityType' | 'entityId' | 'type' | 'status' | 'content' | 'assignee' | 'resolvesFeedbackId'> & {
858
904
  feedbackId: string;
859
- oldStatus: FeedbackRecord['status'];
860
- newStatus: FeedbackRecord['status'];
861
905
  triggeredBy: string;
862
906
  };
863
907
  };
864
908
 
865
909
  type ChangelogCreatedEvent = BaseEvent & {
866
910
  type: 'changelog.created';
867
- payload: Pick<ChangelogRecord, 'entityType' | 'entityId' | 'changeType' | 'riskLevel' | 'title' | 'trigger'> & {
911
+ payload: Pick<ChangelogRecord, 'relatedTasks' | 'title' | 'version'> & {
868
912
  changelogId: string;
869
- triggeredBy: string;
870
913
  };
871
914
  };
872
915
 
@@ -887,7 +930,7 @@ type ActorRevokedEvent = BaseEvent & {
887
930
  };
888
931
  type AgentRegisteredEvent = BaseEvent & {
889
932
  type: 'identity.agent.registered';
890
- payload: Pick<AgentRecord, 'guild' | 'engine'> & {
933
+ payload: Pick<AgentRecord, 'engine'> & {
891
934
  agentId: string;
892
935
  correspondingActorId: string;
893
936
  };
@@ -904,7 +947,7 @@ type SystemDailyTickEvent = BaseEvent & {
904
947
  /**
905
948
  * Union type of all possible events
906
949
  */
907
- type GitGovEvent = TaskCreatedEvent | TaskStatusChangedEvent | CycleCreatedEvent | CycleStatusChangedEvent | ExecutionCreatedEvent | FeedbackCreatedEvent | FeedbackStatusChangedEvent | ChangelogCreatedEvent | ActorCreatedEvent | ActorRevokedEvent | AgentRegisteredEvent | SystemDailyTickEvent;
950
+ type GitGovEvent = TaskCreatedEvent | TaskStatusChangedEvent | CycleCreatedEvent | CycleStatusChangedEvent | ExecutionCreatedEvent | FeedbackCreatedEvent | ChangelogCreatedEvent | ActorCreatedEvent | ActorRevokedEvent | AgentRegisteredEvent | SystemDailyTickEvent;
908
951
  /**
909
952
  * Event handler function type
910
953
  */
@@ -927,22 +970,73 @@ type EventSubscription = {
927
970
  };
928
971
  /**
929
972
  * Activity Event for IndexerAdapter activity tracking
973
+ * Uses discriminated unions for type-safe metadata per event type
930
974
  */
931
975
  type ActivityEvent = {
932
976
  timestamp: number;
933
- type: "task_created" | "cycle_created" | "feedback_created" | "changelog_created" | "execution_created" | "actor_created" | "agent_registered";
977
+ type: "task_created";
934
978
  entityId: string;
935
979
  entityTitle: string;
936
980
  actorId?: string;
937
981
  metadata?: {
938
982
  priority?: string;
939
983
  status?: string;
984
+ };
985
+ } | {
986
+ timestamp: number;
987
+ type: "cycle_created";
988
+ entityId: string;
989
+ entityTitle: string;
990
+ actorId?: string;
991
+ metadata?: {
992
+ status?: string;
993
+ };
994
+ } | {
995
+ timestamp: number;
996
+ type: "feedback_created";
997
+ entityId: string;
998
+ entityTitle: string;
999
+ actorId?: string;
1000
+ metadata?: {
940
1001
  type?: string;
941
1002
  assignee?: string;
942
1003
  resolution?: string;
1004
+ };
1005
+ } | {
1006
+ timestamp: number;
1007
+ type: "changelog_created";
1008
+ entityId: string;
1009
+ entityTitle: string;
1010
+ actorId?: string;
1011
+ metadata?: {
1012
+ version?: string;
1013
+ };
1014
+ } | {
1015
+ timestamp: number;
1016
+ type: "execution_created";
1017
+ entityId: string;
1018
+ entityTitle: string;
1019
+ actorId?: string;
1020
+ metadata?: {
943
1021
  executionType?: string;
944
1022
  taskId?: string;
945
1023
  };
1024
+ } | {
1025
+ timestamp: number;
1026
+ type: "actor_created";
1027
+ entityId: string;
1028
+ entityTitle: string;
1029
+ actorId?: string;
1030
+ metadata?: {
1031
+ type?: string;
1032
+ };
1033
+ } | {
1034
+ timestamp: number;
1035
+ type: "agent_registered";
1036
+ entityId: string;
1037
+ entityTitle: string;
1038
+ actorId?: string;
1039
+ metadata?: Record<string, never>;
946
1040
  };
947
1041
 
948
1042
  /**
@@ -969,6 +1063,12 @@ interface IEventStream {
969
1063
  * Clear all subscriptions (for testing/cleanup)
970
1064
  */
971
1065
  clearSubscriptions(): void;
1066
+ /**
1067
+ * Wait for all pending event handlers to complete (for testing)
1068
+ */
1069
+ waitForIdle(options?: {
1070
+ timeout?: number;
1071
+ }): Promise<void>;
972
1072
  }
973
1073
  /**
974
1074
  * Local EventBus implementation using Node.js EventEmitter
@@ -985,6 +1085,7 @@ interface IEventStream {
985
1085
  declare class EventBus implements IEventStream {
986
1086
  private emitter;
987
1087
  private subscriptions;
1088
+ private pendingHandlers;
988
1089
  constructor();
989
1090
  /**
990
1091
  * Publish an event to all subscribers
@@ -1038,6 +1139,28 @@ declare class EventBus implements IEventStream {
1038
1139
  * @returns EventSubscription object
1039
1140
  */
1040
1141
  subscribeToAll(handler: EventHandler<BaseEvent>): EventSubscription;
1142
+ /**
1143
+ * Wait for all pending event handlers to complete.
1144
+ * This is primarily useful for testing to ensure event handlers finish before assertions.
1145
+ *
1146
+ * In production, events are fire-and-forget for performance.
1147
+ * In tests, use this to synchronize and avoid race conditions.
1148
+ *
1149
+ * @param options - Optional configuration
1150
+ * @param options.timeout - Maximum time to wait in ms (default: 5000)
1151
+ * @returns Promise that resolves when all handlers complete or timeout occurs
1152
+ *
1153
+ * @example
1154
+ * ```typescript
1155
+ * await feedbackAdapter.create(...); // publishes event
1156
+ * await eventBus.waitForIdle(); // wait for BacklogAdapter.handleFeedbackCreated()
1157
+ * const task = await backlogAdapter.getTask(taskId);
1158
+ * expect(task.status).toBe('paused'); // now safe to assert
1159
+ * ```
1160
+ */
1161
+ waitForIdle(options?: {
1162
+ timeout?: number;
1163
+ }): Promise<void>;
1041
1164
  }
1042
1165
  /**
1043
1166
  * Singleton instance for application-wide event bus usage
@@ -1069,7 +1192,6 @@ type index$h_EventMetadata = EventMetadata;
1069
1192
  type index$h_EventSubscription = EventSubscription;
1070
1193
  type index$h_ExecutionCreatedEvent = ExecutionCreatedEvent;
1071
1194
  type index$h_FeedbackCreatedEvent = FeedbackCreatedEvent;
1072
- type index$h_FeedbackStatusChangedEvent = FeedbackStatusChangedEvent;
1073
1195
  type index$h_GitGovEvent = GitGovEvent;
1074
1196
  type index$h_IEventStream = IEventStream;
1075
1197
  type index$h_SystemDailyTickEvent = SystemDailyTickEvent;
@@ -1079,7 +1201,7 @@ declare const index$h_eventBus: typeof eventBus;
1079
1201
  declare const index$h_publishEvent: typeof publishEvent;
1080
1202
  declare const index$h_subscribeToEvent: typeof subscribeToEvent;
1081
1203
  declare namespace index$h {
1082
- export { type index$h_ActivityEvent as ActivityEvent, type index$h_ActorCreatedEvent as ActorCreatedEvent, type index$h_ActorRevokedEvent as ActorRevokedEvent, type index$h_AgentRegisteredEvent as AgentRegisteredEvent, type index$h_BaseEvent as BaseEvent, type index$h_ChangelogCreatedEvent as ChangelogCreatedEvent, type index$h_CycleCreatedEvent as CycleCreatedEvent, type index$h_CycleStatusChangedEvent as CycleStatusChangedEvent, index$h_EventBus as EventBus, type index$h_EventHandler as EventHandler, type index$h_EventMetadata as EventMetadata, type index$h_EventSubscription as EventSubscription, type index$h_ExecutionCreatedEvent as ExecutionCreatedEvent, type index$h_FeedbackCreatedEvent as FeedbackCreatedEvent, type index$h_FeedbackStatusChangedEvent as FeedbackStatusChangedEvent, type index$h_GitGovEvent as GitGovEvent, type index$h_IEventStream as IEventStream, type index$h_SystemDailyTickEvent as SystemDailyTickEvent, type index$h_TaskCreatedEvent as TaskCreatedEvent, type index$h_TaskStatusChangedEvent as TaskStatusChangedEvent, index$h_eventBus as eventBus, index$h_publishEvent as publishEvent, index$h_subscribeToEvent as subscribeToEvent };
1204
+ export { type index$h_ActivityEvent as ActivityEvent, type index$h_ActorCreatedEvent as ActorCreatedEvent, type index$h_ActorRevokedEvent as ActorRevokedEvent, type index$h_AgentRegisteredEvent as AgentRegisteredEvent, type index$h_BaseEvent as BaseEvent, type index$h_ChangelogCreatedEvent as ChangelogCreatedEvent, type index$h_CycleCreatedEvent as CycleCreatedEvent, type index$h_CycleStatusChangedEvent as CycleStatusChangedEvent, index$h_EventBus as EventBus, type index$h_EventHandler as EventHandler, type index$h_EventMetadata as EventMetadata, type index$h_EventSubscription as EventSubscription, type index$h_ExecutionCreatedEvent as ExecutionCreatedEvent, type index$h_FeedbackCreatedEvent as FeedbackCreatedEvent, type index$h_GitGovEvent as GitGovEvent, type index$h_IEventStream as IEventStream, type index$h_SystemDailyTickEvent as SystemDailyTickEvent, type index$h_TaskCreatedEvent as TaskCreatedEvent, type index$h_TaskStatusChangedEvent as TaskStatusChangedEvent, index$h_eventBus as eventBus, index$h_publishEvent as publishEvent, index$h_subscribeToEvent as subscribeToEvent };
1083
1205
  }
1084
1206
 
1085
1207
  /**
@@ -1178,15 +1300,22 @@ interface FeedbackAdapterDependencies {
1178
1300
  /**
1179
1301
  * FeedbackAdapter Interface - The Communication Facilitator
1180
1302
  */
1303
+ /**
1304
+ * FeedbackThread structure for conversation trees
1305
+ */
1306
+ interface FeedbackThread {
1307
+ feedback: FeedbackRecord;
1308
+ responses: FeedbackThread[];
1309
+ }
1181
1310
  interface IFeedbackAdapter {
1182
1311
  /**
1183
1312
  * Creates a new FeedbackRecord.
1184
1313
  */
1185
1314
  create(payload: Partial<FeedbackRecord>, actorId: string): Promise<FeedbackRecord>;
1186
1315
  /**
1187
- * Resolves an existing FeedbackRecord.
1316
+ * Helper: Creates a new feedback that "resolves" another (immutable pattern).
1188
1317
  */
1189
- resolve(feedbackId: string, actorId: string): Promise<FeedbackRecord>;
1318
+ resolve(feedbackId: string, actorId: string, content?: string): Promise<FeedbackRecord>;
1190
1319
  /**
1191
1320
  * Gets a specific FeedbackRecord by its ID.
1192
1321
  */
@@ -1199,6 +1328,10 @@ interface IFeedbackAdapter {
1199
1328
  * Gets all FeedbackRecords in the system.
1200
1329
  */
1201
1330
  getAllFeedback(): Promise<FeedbackRecord[]>;
1331
+ /**
1332
+ * Builds the complete conversation tree for a feedback.
1333
+ */
1334
+ getFeedbackThread(feedbackId: string, maxDepth?: number): Promise<FeedbackThread>;
1202
1335
  }
1203
1336
  /**
1204
1337
  * FeedbackAdapter - The Communication Facilitator
@@ -1212,25 +1345,25 @@ declare class FeedbackAdapter implements IFeedbackAdapter {
1212
1345
  private eventBus;
1213
1346
  constructor(dependencies: FeedbackAdapterDependencies);
1214
1347
  /**
1215
- * [EARS-1] Creates a new FeedbackRecord for structured communication between actors.
1348
+ * [EARS-1, EARS-2, EARS-3, EARS-4, EARS-5, EARS-6, EARS-7, EARS-8] Creates a new FeedbackRecord for structured communication between actors.
1216
1349
  *
1217
1350
  * Description: Creates a new FeedbackRecord for structured communication between actors.
1218
1351
  * Implementation: Builds record with status: "open", signs with actorId, persists and emits event.
1219
- * Usage: Invoked by `gitgov feedback add` to create feedback, assignments, blocks.
1352
+ * Usage: Invoked by `gitgov feedback create` to create feedback, assignments, blocks, responses.
1220
1353
  * Returns: Complete and signed FeedbackRecord.
1221
1354
  */
1222
1355
  create(payload: Partial<FeedbackRecord>, actorId: string): Promise<FeedbackRecord>;
1223
1356
  /**
1224
- * [EARS-4] Resolves an existing feedback changing its status to resolved.
1357
+ * [EARS-9, EARS-10, EARS-11, EARS-12] Helper: Creates a new feedback that "resolves" another (immutable).
1225
1358
  *
1226
- * Description: Resolves an existing feedback changing its status to resolved.
1227
- * Implementation: Reads feedback, validates permissions (future), transitions state, signs and emits event.
1228
- * Usage: Invoked by `gitgov feedback resolve` to close conversations and blocks.
1229
- * Returns: Updated FeedbackRecord with new signature.
1359
+ * Description: Helper method that creates a new feedback documenting resolution of another feedback.
1360
+ * Implementation: Verifies original exists, then delegates to create() with immutable pattern.
1361
+ * Usage: Ergonomic helper for common case. For advanced cases (wontfix, approval), use create() directly.
1362
+ * Returns: New FeedbackRecord that points to the original with resolvesFeedbackId.
1230
1363
  */
1231
- resolve(feedbackId: string, actorId: string): Promise<FeedbackRecord>;
1364
+ resolve(feedbackId: string, actorId: string, content?: string): Promise<FeedbackRecord>;
1232
1365
  /**
1233
- * [EARS-7] Gets a specific FeedbackRecord by its ID for query.
1366
+ * [EARS-13, EARS-14] Gets a specific FeedbackRecord by its ID for query.
1234
1367
  *
1235
1368
  * Description: Gets a specific FeedbackRecord by its ID for query.
1236
1369
  * Implementation: Direct read from record store without modifications.
@@ -1239,31 +1372,45 @@ declare class FeedbackAdapter implements IFeedbackAdapter {
1239
1372
  */
1240
1373
  getFeedback(feedbackId: string): Promise<FeedbackRecord | null>;
1241
1374
  /**
1242
- * [EARS-9] Gets all FeedbackRecords associated with a specific entity.
1375
+ * [EARS-15] Gets all FeedbackRecords associated with a specific entity.
1243
1376
  *
1244
1377
  * Description: Gets all FeedbackRecords associated with a specific entity.
1245
1378
  * Implementation: Reads all records and filters by matching entityId.
1246
- * Usage: Invoked by `gitgov feedback list` to display feedback for a task/cycle.
1379
+ * Usage: Invoked by `gitgov feedback list` to display feedback for a task/cycle/execution.
1247
1380
  * Returns: Array of FeedbackRecords filtered for the entity.
1248
1381
  */
1249
1382
  getFeedbackByEntity(entityId: string): Promise<FeedbackRecord[]>;
1250
1383
  /**
1251
- * [EARS-10] Gets all FeedbackRecords in the system for indexation.
1384
+ * [EARS-16] Gets all FeedbackRecords in the system for indexation.
1252
1385
  *
1253
1386
  * Description: Gets all FeedbackRecords in the system for complete indexation.
1254
1387
  * Implementation: Complete read from record store without filters.
1255
- * Usage: Invoked by `gitgov feedback list --all` and by MetricsAdapter for calculations.
1388
+ * Usage: Invoked by `gitgov feedback list` and by MetricsAdapter for calculations.
1256
1389
  * Returns: Complete array of all FeedbackRecords.
1257
1390
  */
1258
1391
  getAllFeedback(): Promise<FeedbackRecord[]>;
1392
+ /**
1393
+ * [EARS-17, EARS-18, EARS-19, EARS-20] Builds the complete conversation tree for a feedback.
1394
+ *
1395
+ * Description: Recursively constructs the conversation tree for a feedback.
1396
+ * Implementation: Reads root feedback, finds all responses, builds tree recursively until maxDepth.
1397
+ * Usage: Invoked by `gitgov feedback thread` and `gitgov feedback show --thread`.
1398
+ * Returns: FeedbackThread object with tree structure.
1399
+ */
1400
+ getFeedbackThread(feedbackId: string, maxDepth?: number): Promise<FeedbackThread>;
1401
+ /**
1402
+ * Private helper: Recursively builds conversation thread.
1403
+ */
1404
+ private buildThread;
1259
1405
  }
1260
1406
 
1261
1407
  type index$f_FeedbackAdapter = FeedbackAdapter;
1262
1408
  declare const index$f_FeedbackAdapter: typeof FeedbackAdapter;
1263
1409
  type index$f_FeedbackAdapterDependencies = FeedbackAdapterDependencies;
1410
+ type index$f_FeedbackThread = FeedbackThread;
1264
1411
  type index$f_IFeedbackAdapter = IFeedbackAdapter;
1265
1412
  declare namespace index$f {
1266
- export { index$f_FeedbackAdapter as FeedbackAdapter, type index$f_FeedbackAdapterDependencies as FeedbackAdapterDependencies, type index$f_IFeedbackAdapter as IFeedbackAdapter };
1413
+ export { index$f_FeedbackAdapter as FeedbackAdapter, type index$f_FeedbackAdapterDependencies as FeedbackAdapterDependencies, type index$f_FeedbackThread as FeedbackThread, type index$f_IFeedbackAdapter as IFeedbackAdapter };
1267
1414
  }
1268
1415
 
1269
1416
  /**
@@ -1359,6 +1506,16 @@ declare namespace index$e {
1359
1506
  export { index$e_ExecutionAdapter as ExecutionAdapter, type index$e_ExecutionAdapterDependencies as ExecutionAdapterDependencies, type index$e_IExecutionAdapter as IExecutionAdapter };
1360
1507
  }
1361
1508
 
1509
+ /**
1510
+ * Options for filtering and sorting changelog lists
1511
+ */
1512
+ interface ChangelogListOptions {
1513
+ tags?: string[];
1514
+ version?: string;
1515
+ limit?: number;
1516
+ sortBy?: 'completedAt' | 'title';
1517
+ sortOrder?: 'asc' | 'desc';
1518
+ }
1362
1519
  /**
1363
1520
  * ChangelogAdapter Dependencies - Facade + Dependency Injection Pattern
1364
1521
  */
@@ -1370,11 +1527,11 @@ interface ChangelogAdapterDependencies {
1370
1527
  cycleStore?: RecordStore<CycleRecord>;
1371
1528
  }
1372
1529
  /**
1373
- * ChangelogAdapter Interface - The Enterprise Historian
1530
+ * ChangelogAdapter Interface - Release Notes & Deliverables Historian
1374
1531
  */
1375
1532
  interface IChangelogAdapter {
1376
1533
  /**
1377
- * Records a significant change in any system entity.
1534
+ * Records a deliverable/release note aggregating multiple tasks.
1378
1535
  */
1379
1536
  create(payload: Partial<ChangelogRecord>, actorId: string): Promise<ChangelogRecord>;
1380
1537
  /**
@@ -1382,23 +1539,23 @@ interface IChangelogAdapter {
1382
1539
  */
1383
1540
  getChangelog(changelogId: string): Promise<ChangelogRecord | null>;
1384
1541
  /**
1385
- * Gets all ChangelogRecords for a specific entity.
1542
+ * Gets all ChangelogRecords for a specific task.
1386
1543
  */
1387
- getChangelogsByEntity(entityId: string, entityType?: string): Promise<ChangelogRecord[]>;
1544
+ getChangelogsByTask(taskId: string): Promise<ChangelogRecord[]>;
1388
1545
  /**
1389
- * Gets all ChangelogRecords in the system.
1546
+ * Gets all ChangelogRecords in the system with optional filtering.
1390
1547
  */
1391
- getAllChangelogs(): Promise<ChangelogRecord[]>;
1548
+ getAllChangelogs(options?: ChangelogListOptions): Promise<ChangelogRecord[]>;
1392
1549
  /**
1393
- * Gets recent ChangelogRecords ordered by timestamp.
1550
+ * Gets recent ChangelogRecords ordered by completedAt.
1394
1551
  */
1395
1552
  getRecentChangelogs(limit: number): Promise<ChangelogRecord[]>;
1396
1553
  }
1397
1554
  /**
1398
- * ChangelogAdapter - The Enterprise Historian
1555
+ * ChangelogAdapter - Release Notes & Deliverables Historian
1399
1556
  *
1400
- * Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
1401
- * Acts as Mediator between enterprise changelog system and multi-entity data stores.
1557
+ * Protocol v2: Aggregates N tasks into 1 release note/deliverable.
1558
+ * Focus: Executive communication of delivered value.
1402
1559
  */
1403
1560
  declare class ChangelogAdapter implements IChangelogAdapter {
1404
1561
  private changelogStore;
@@ -1408,58 +1565,44 @@ declare class ChangelogAdapter implements IChangelogAdapter {
1408
1565
  private cycleStore;
1409
1566
  constructor(dependencies: ChangelogAdapterDependencies);
1410
1567
  /**
1411
- * [EARS-1] Records a significant change in any entity with complete context and conditional validation.
1568
+ * [EARS-1] Records a deliverable/release note.
1412
1569
  *
1413
- * Description: Records a significant change in any entity of the ecosystem with complete context and conditional validation.
1414
- * Implementation: Validates entity existence (optional), builds record with factory, validates conditional fields, signs with actorId, persists and emits event.
1415
- * Usage: Invoked by `gitgov changelog add` to document changes in tasks, cycles, agents, systems, configurations.
1416
- * Returns: Complete and signed ChangelogRecord with 19 fields.
1570
+ * Description: Aggregates multiple tasks into a single deliverable/release note.
1571
+ * Implementation: Validates required fields, builds record with factory, signs, persists and emits event.
1572
+ * Usage: Invoked by `gitgov changelog add` to document deliverables.
1573
+ * Returns: Complete and signed ChangelogRecord.
1417
1574
  */
1418
1575
  create(payload: Partial<ChangelogRecord>, actorId: string): Promise<ChangelogRecord>;
1419
1576
  /**
1420
- * [EARS-9] Gets a specific ChangelogRecord by its ID for historical query.
1421
- *
1422
- * Description: Gets a specific ChangelogRecord by its ID for historical query.
1423
- * Implementation: Direct read from record store without modifications.
1424
- * Usage: Invoked by `gitgov changelog show` to display change details.
1425
- * Returns: ChangelogRecord found or null if it doesn't exist.
1577
+ * [EARS-9] Gets a specific ChangelogRecord by its ID.
1426
1578
  */
1427
1579
  getChangelog(changelogId: string): Promise<ChangelogRecord | null>;
1428
1580
  /**
1429
- * [EARS-11] Gets all ChangelogRecords associated with a specific entity.
1430
- *
1431
- * Description: Gets all ChangelogRecords associated with a specific entity with optional type filtering.
1432
- * Implementation: Reads all records and filters by matching entityId, optionally by entityType.
1433
- * Usage: Invoked by `gitgov changelog list` to display history for any system entity.
1434
- * Returns: Array of ChangelogRecords filtered for the entity.
1581
+ * [EARS-11] Gets all ChangelogRecords that include a specific task.
1435
1582
  */
1436
- getChangelogsByEntity(entityId: string, entityType?: string): Promise<ChangelogRecord[]>;
1583
+ getChangelogsByTask(taskId: string): Promise<ChangelogRecord[]>;
1437
1584
  /**
1438
- * [EARS-12] Gets all ChangelogRecords in the system for complete indexation.
1439
- *
1440
- * Description: Gets all ChangelogRecords in the system for complete indexation.
1441
- * Implementation: Complete read from record store without filters.
1442
- * Usage: Invoked by `gitgov changelog list --all` and MetricsAdapter for activity analysis.
1443
- * Returns: Complete array of all ChangelogRecords.
1585
+ * [EARS-11, EARS-12, EARS-13] Gets all ChangelogRecords with optional filtering and sorting.
1444
1586
  */
1445
- getAllChangelogs(): Promise<ChangelogRecord[]>;
1587
+ getAllChangelogs(options?: ChangelogListOptions): Promise<ChangelogRecord[]>;
1446
1588
  /**
1447
- * [EARS-13] Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
1448
- *
1449
- * Description: Gets recent ChangelogRecords ordered by timestamp for dashboard and monitoring.
1450
- * Implementation: Reads all records, sorts by timestamp descending and applies limit.
1451
- * Usage: Invoked by `gitgov changelog list --recent` and dashboard for activity monitoring.
1452
- * Returns: Array of ChangelogRecords limited and ordered by timestamp.
1589
+ * [EARS-13] Gets recent ChangelogRecords ordered by completedAt.
1453
1590
  */
1454
1591
  getRecentChangelogs(limit: number): Promise<ChangelogRecord[]>;
1592
+ /**
1593
+ * Legacy method for backwards compatibility - maps to getChangelogsByTask
1594
+ * @deprecated Use getChangelogsByTask instead
1595
+ */
1596
+ getChangelogsByEntity(entityId: string, _entityType?: string): Promise<ChangelogRecord[]>;
1455
1597
  }
1456
1598
 
1457
1599
  type index$d_ChangelogAdapter = ChangelogAdapter;
1458
1600
  declare const index$d_ChangelogAdapter: typeof ChangelogAdapter;
1459
1601
  type index$d_ChangelogAdapterDependencies = ChangelogAdapterDependencies;
1602
+ type index$d_ChangelogListOptions = ChangelogListOptions;
1460
1603
  type index$d_IChangelogAdapter = IChangelogAdapter;
1461
1604
  declare namespace index$d {
1462
- export { index$d_ChangelogAdapter as ChangelogAdapter, type index$d_ChangelogAdapterDependencies as ChangelogAdapterDependencies, type index$d_IChangelogAdapter as IChangelogAdapter };
1605
+ export { index$d_ChangelogAdapter as ChangelogAdapter, type index$d_ChangelogAdapterDependencies as ChangelogAdapterDependencies, type index$d_ChangelogListOptions as ChangelogListOptions, type index$d_IChangelogAdapter as IChangelogAdapter };
1463
1606
  }
1464
1607
 
1465
1608
  /**
@@ -1701,9 +1844,11 @@ declare class WorkflowMethodologyAdapter implements IWorkflowMethodology {
1701
1844
  */
1702
1845
  private getConfig;
1703
1846
  /**
1704
- * Gets the guild tag from a task's tags array
1847
+ * Determines which signature group to use for validation.
1848
+ * Checks all available signature groups and returns the first one where
1849
+ * the actor has matching capability roles.
1705
1850
  */
1706
- private getTaskGuild;
1851
+ private getApplicableSignatureGroup;
1707
1852
  /**
1708
1853
  * Determines if a state transition is legal according to the methodology
1709
1854
  */
@@ -1776,7 +1921,6 @@ interface IBacklogAdapter {
1776
1921
  moveTasksBetweenCycles(targetCycleId: string, taskIds: string[], sourceCycleId: string): Promise<void>;
1777
1922
  getTasksAssignedToActor(actorId: string): Promise<TaskRecord[]>;
1778
1923
  handleFeedbackCreated(event: FeedbackCreatedEvent): Promise<void>;
1779
- handleFeedbackResolved(event: FeedbackStatusChangedEvent): Promise<void>;
1780
1924
  handleExecutionCreated(event: ExecutionCreatedEvent): Promise<void>;
1781
1925
  handleChangelogCreated(event: ChangelogCreatedEvent): Promise<void>;
1782
1926
  handleCycleStatusChanged(event: CycleStatusChangedEvent): Promise<void>;
@@ -1880,13 +2024,18 @@ declare class BacklogAdapter implements IBacklogAdapter {
1880
2024
  */
1881
2025
  getTasksAssignedToActor(actorId: string): Promise<TaskRecord[]>;
1882
2026
  /**
1883
- * [EARS-31] Handles feedback created events - pauses task if blocking
2027
+ * [EARS-31, EARS-33, EARS-34] Handles feedback created events (Immutable Pattern)
2028
+ *
2029
+ * This handler respects the immutable feedback pattern:
2030
+ * - Case 1: Blocking feedback created → pause task if active/ready
2031
+ * - Case 2: Feedback resolving another feedback → resume task if no more blocks
2032
+ *
2033
+ * The immutable pattern means:
2034
+ * - Original feedbacks NEVER change status
2035
+ * - Resolution is expressed by creating a NEW feedback pointing to the original
2036
+ * - We detect resolution via: entityType='feedback' + status='resolved' + resolvesFeedbackId
1884
2037
  */
1885
2038
  handleFeedbackCreated(event: FeedbackCreatedEvent): Promise<void>;
1886
- /**
1887
- * [EARS-33] Handles feedback resolved events - resumes task if no more blocks
1888
- */
1889
- handleFeedbackResolved(event: FeedbackStatusChangedEvent): Promise<void>;
1890
2039
  /**
1891
2040
  * [EARS-35] Handles execution created events - transitions ready→active on first execution
1892
2041
  */
@@ -1964,13 +2113,19 @@ declare namespace index$a {
1964
2113
  export { index$a_BacklogAdapter as BacklogAdapter, type index$a_BacklogAdapterConfig as BacklogAdapterConfig, type index$a_BacklogAdapterDependencies as BacklogAdapterDependencies, type index$a_IBacklogAdapter as IBacklogAdapter };
1965
2114
  }
1966
2115
 
2116
+ /**
2117
+ * Collection of all records with full GitGov metadata (headers + payloads).
2118
+ * This allows access to signatures, checksums, and other metadata for enrichment.
2119
+ *
2120
+ * @see GitGovTaskRecord - Full record type with header.signatures for author/lastModifier extraction
2121
+ */
1967
2122
  type AllRecords = {
1968
- tasks: TaskRecord[];
1969
- cycles: CycleRecord[];
1970
- feedback: FeedbackRecord[];
1971
- executions: ExecutionRecord[];
1972
- changelogs: ChangelogRecord[];
1973
- actors: ActorRecord[];
2123
+ tasks: GitGovTaskRecord[];
2124
+ cycles: GitGovCycleRecord[];
2125
+ feedback: GitGovFeedbackRecord[];
2126
+ executions: GitGovExecutionRecord[];
2127
+ changelogs: GitGovChangelogRecord[];
2128
+ actors: GitGovActorRecord[];
1974
2129
  };
1975
2130
  /**
1976
2131
  * Enhanced Task Record with calculated activity metadata
@@ -2060,7 +2215,7 @@ interface IIndexerAdapter {
2060
2215
  lastActivityType: EnrichedTaskRecord['lastActivityType'];
2061
2216
  recentActivity: string;
2062
2217
  }>;
2063
- enrichTaskRecord(task: TaskRecord, relatedRecords: AllRecords): Promise<EnrichedTaskRecord>;
2218
+ enrichTaskRecord(task: GitGovTaskRecord, relatedRecords: AllRecords): Promise<EnrichedTaskRecord>;
2064
2219
  isIndexUpToDate(): Promise<boolean>;
2065
2220
  invalidateCache(): Promise<void>;
2066
2221
  }
@@ -2102,27 +2257,28 @@ declare class FileIndexerAdapter implements IIndexerAdapter {
2102
2257
  */
2103
2258
  invalidateCache(): Promise<void>;
2104
2259
  /**
2105
- * Reads all tasks from taskStore
2260
+ * Reads all tasks from taskStore with full metadata (headers + payloads).
2261
+ * Returns complete GitGovTaskRecord objects including signatures for author/lastModifier extraction.
2106
2262
  */
2107
2263
  private readAllTasks;
2108
2264
  /**
2109
- * Reads all cycles from cycleStore
2265
+ * Reads all cycles from cycleStore with full metadata.
2110
2266
  */
2111
2267
  private readAllCycles;
2112
2268
  /**
2113
- * Reads all actors from actorStore (graceful degradation)
2269
+ * Reads all actors from actorStore (graceful degradation) with full metadata.
2114
2270
  */
2115
2271
  private readAllActors;
2116
2272
  /**
2117
- * Reads all feedback from feedbackStore (graceful degradation)
2273
+ * Reads all feedback from feedbackStore (graceful degradation) with full metadata.
2118
2274
  */
2119
2275
  private readAllFeedback;
2120
2276
  /**
2121
- * Reads all executions from executionStore (graceful degradation)
2277
+ * Reads all executions from executionStore (graceful degradation) with full metadata.
2122
2278
  */
2123
2279
  private readAllExecutions;
2124
2280
  /**
2125
- * Reads all changelogs from changelogStore (graceful degradation)
2281
+ * Reads all changelogs from changelogStore (graceful degradation) with full metadata.
2126
2282
  */
2127
2283
  private readAllChangelogs;
2128
2284
  /**
@@ -2156,8 +2312,10 @@ declare class FileIndexerAdapter implements IIndexerAdapter {
2156
2312
  }>;
2157
2313
  /**
2158
2314
  * [EARS-22] Enrich a TaskRecord with activity metadata
2315
+ * @param task - Full GitGovTaskRecord with header.signatures for author/lastModifier extraction
2316
+ * @param relatedRecords - All related records with full metadata
2159
2317
  */
2160
- enrichTaskRecord(task: TaskRecord, relatedRecords: AllRecords): Promise<EnrichedTaskRecord>;
2318
+ enrichTaskRecord(task: GitGovTaskRecord, relatedRecords: AllRecords): Promise<EnrichedTaskRecord>;
2161
2319
  /**
2162
2320
  * Format timestamp as human-readable time ago
2163
2321
  */
@@ -2477,6 +2635,7 @@ type index$6_BacklogAdapterDependencies = BacklogAdapterDependencies;
2477
2635
  type index$6_ChangelogAdapter = ChangelogAdapter;
2478
2636
  declare const index$6_ChangelogAdapter: typeof ChangelogAdapter;
2479
2637
  type index$6_ChangelogAdapterDependencies = ChangelogAdapterDependencies;
2638
+ type index$6_ChangelogListOptions = ChangelogListOptions;
2480
2639
  type index$6_CollaborationMetrics = CollaborationMetrics;
2481
2640
  type index$6_EnrichedTaskRecord = EnrichedTaskRecord;
2482
2641
  type index$6_EnvironmentValidation = EnvironmentValidation;
@@ -2486,6 +2645,7 @@ type index$6_ExecutionAdapterDependencies = ExecutionAdapterDependencies;
2486
2645
  type index$6_FeedbackAdapter = FeedbackAdapter;
2487
2646
  declare const index$6_FeedbackAdapter: typeof FeedbackAdapter;
2488
2647
  type index$6_FeedbackAdapterDependencies = FeedbackAdapterDependencies;
2648
+ type index$6_FeedbackThread = FeedbackThread;
2489
2649
  type index$6_FileIndexerAdapter = FileIndexerAdapter;
2490
2650
  declare const index$6_FileIndexerAdapter: typeof FileIndexerAdapter;
2491
2651
  type index$6_IBacklogAdapter = IBacklogAdapter;
@@ -2526,7 +2686,7 @@ type index$6_WorkflowMethodologyAdapter = WorkflowMethodologyAdapter;
2526
2686
  declare const index$6_WorkflowMethodologyAdapter: typeof WorkflowMethodologyAdapter;
2527
2687
  type index$6_WorkflowMethodologyAdapterDependencies = WorkflowMethodologyAdapterDependencies;
2528
2688
  declare namespace index$6 {
2529
- export { type index$6_AllRecords as AllRecords, index$6_BacklogAdapter as BacklogAdapter, type index$6_BacklogAdapterConfig as BacklogAdapterConfig, type index$6_BacklogAdapterDependencies as BacklogAdapterDependencies, index$6_ChangelogAdapter as ChangelogAdapter, type index$6_ChangelogAdapterDependencies as ChangelogAdapterDependencies, type index$6_CollaborationMetrics as CollaborationMetrics, type index$6_EnrichedTaskRecord as EnrichedTaskRecord, type index$6_EnvironmentValidation as EnvironmentValidation, index$6_ExecutionAdapter as ExecutionAdapter, type index$6_ExecutionAdapterDependencies as ExecutionAdapterDependencies, index$6_FeedbackAdapter as FeedbackAdapter, type index$6_FeedbackAdapterDependencies as FeedbackAdapterDependencies, index$6_FileIndexerAdapter as FileIndexerAdapter, type index$6_IBacklogAdapter as IBacklogAdapter, type index$6_IChangelogAdapter as IChangelogAdapter, type index$6_IExecutionAdapter as IExecutionAdapter, type index$6_IFeedbackAdapter as IFeedbackAdapter, type index$6_IIdentityAdapter as IIdentityAdapter, type index$6_IIndexerAdapter as IIndexerAdapter, type index$6_IMetricsAdapter as IMetricsAdapter, type index$6_IProjectAdapter as IProjectAdapter, type index$6_IWorkflowMethodology as IWorkflowMethodology, index$6_IdentityAdapter as IdentityAdapter, type index$6_IdentityAdapterDependencies as IdentityAdapterDependencies, type index$6_IndexData as IndexData, type index$6_IndexGenerationReport as IndexGenerationReport, type index$6_IndexerAdapterDependencies as IndexerAdapterDependencies, type index$6_IntegrityError as IntegrityError, type index$6_IntegrityReport as IntegrityReport, type index$6_IntegrityWarning as IntegrityWarning, index$6_MetricsAdapter as MetricsAdapter, type index$6_MetricsAdapterDependencies as MetricsAdapterDependencies, type index$6_ProductivityMetrics as ProductivityMetrics, index$6_ProjectAdapter as ProjectAdapter, type index$6_ProjectAdapterDependencies as ProjectAdapterDependencies, type index$6_ProjectContext as ProjectContext, type index$6_ProjectInfo as ProjectInfo, type index$6_ProjectInitOptions as ProjectInitOptions, type index$6_ProjectInitResult as ProjectInitResult, type index$6_ProjectReport as ProjectReport, type index$6_SystemStatus as SystemStatus, type index$6_TaskHealthReport as TaskHealthReport, type index$6_TemplateProcessingResult as TemplateProcessingResult, type index$6_ValidationContext as ValidationContext, index$6_WorkflowMethodologyAdapter as WorkflowMethodologyAdapter, type index$6_WorkflowMethodologyAdapterDependencies as WorkflowMethodologyAdapterDependencies };
2689
+ export { type index$6_AllRecords as AllRecords, index$6_BacklogAdapter as BacklogAdapter, type index$6_BacklogAdapterConfig as BacklogAdapterConfig, type index$6_BacklogAdapterDependencies as BacklogAdapterDependencies, index$6_ChangelogAdapter as ChangelogAdapter, type index$6_ChangelogAdapterDependencies as ChangelogAdapterDependencies, type index$6_ChangelogListOptions as ChangelogListOptions, type index$6_CollaborationMetrics as CollaborationMetrics, type index$6_EnrichedTaskRecord as EnrichedTaskRecord, type index$6_EnvironmentValidation as EnvironmentValidation, index$6_ExecutionAdapter as ExecutionAdapter, type index$6_ExecutionAdapterDependencies as ExecutionAdapterDependencies, index$6_FeedbackAdapter as FeedbackAdapter, type index$6_FeedbackAdapterDependencies as FeedbackAdapterDependencies, type index$6_FeedbackThread as FeedbackThread, index$6_FileIndexerAdapter as FileIndexerAdapter, type index$6_IBacklogAdapter as IBacklogAdapter, type index$6_IChangelogAdapter as IChangelogAdapter, type index$6_IExecutionAdapter as IExecutionAdapter, type index$6_IFeedbackAdapter as IFeedbackAdapter, type index$6_IIdentityAdapter as IIdentityAdapter, type index$6_IIndexerAdapter as IIndexerAdapter, type index$6_IMetricsAdapter as IMetricsAdapter, type index$6_IProjectAdapter as IProjectAdapter, type index$6_IWorkflowMethodology as IWorkflowMethodology, index$6_IdentityAdapter as IdentityAdapter, type index$6_IdentityAdapterDependencies as IdentityAdapterDependencies, type index$6_IndexData as IndexData, type index$6_IndexGenerationReport as IndexGenerationReport, type index$6_IndexerAdapterDependencies as IndexerAdapterDependencies, type index$6_IntegrityError as IntegrityError, type index$6_IntegrityReport as IntegrityReport, type index$6_IntegrityWarning as IntegrityWarning, index$6_MetricsAdapter as MetricsAdapter, type index$6_MetricsAdapterDependencies as MetricsAdapterDependencies, type index$6_ProductivityMetrics as ProductivityMetrics, index$6_ProjectAdapter as ProjectAdapter, type index$6_ProjectAdapterDependencies as ProjectAdapterDependencies, type index$6_ProjectContext as ProjectContext, type index$6_ProjectInfo as ProjectInfo, type index$6_ProjectInitOptions as ProjectInitOptions, type index$6_ProjectInitResult as ProjectInitResult, type index$6_ProjectReport as ProjectReport, type index$6_SystemStatus as SystemStatus, type index$6_TaskHealthReport as TaskHealthReport, type index$6_TemplateProcessingResult as TemplateProcessingResult, type index$6_ValidationContext as ValidationContext, index$6_WorkflowMethodologyAdapter as WorkflowMethodologyAdapter, type index$6_WorkflowMethodologyAdapterDependencies as WorkflowMethodologyAdapterDependencies };
2530
2690
  }
2531
2691
 
2532
2692
  /**
@@ -2545,7 +2705,7 @@ declare function generateKeys(): Promise<{
2545
2705
  /**
2546
2706
  * Creates a signature for a given payload.
2547
2707
  */
2548
- declare function signPayload(payload: GitGovRecordPayload, privateKey: string, keyId: string, role: string): Signature;
2708
+ declare function signPayload(payload: GitGovRecordPayload, privateKey: string, keyId: string, role: string, notes: string): Signature;
2549
2709
  /**
2550
2710
  * Verifies all signatures on a record.
2551
2711
  */
@@ -2619,17 +2779,72 @@ declare function createWorkflowMethodologyConfig(payload: Partial<WorkflowMethod
2619
2779
  */
2620
2780
  declare function createDefaultWorkflowMethodologyConfig(): Promise<WorkflowMethodologyRecord>;
2621
2781
 
2782
+ /**
2783
+ * Configuration for signature generation
2784
+ * Extends Signature with privateKey for signing
2785
+ */
2786
+ type SignatureConfig = Partial<Pick<Signature, 'keyId' | 'role' | 'notes'>> & {
2787
+ /** Private key for signing (if not provided, creates unsigned test signature) */
2788
+ privateKey?: string;
2789
+ };
2790
+ /**
2791
+ * Options for creating an EmbeddedMetadataRecord
2792
+ */
2793
+ type CreateEmbeddedMetadataOptions = {
2794
+ /** Header configuration (partial override, excludes auto-generated fields) */
2795
+ header?: Partial<Pick<EmbeddedMetadataHeader, 'version' | 'type' | 'schemaUrl' | 'schemaChecksum'>>;
2796
+ /** Signature configuration (if not provided, uses default test signature) */
2797
+ signature?: SignatureConfig;
2798
+ /** Custom signatures array (if provided, overrides signature config) */
2799
+ signatures?: Signature[];
2800
+ };
2801
+ /**
2802
+ * Creates a test signature for development/testing purposes (unsigned)
2803
+ * Use this only for testing when you don't have a real private key
2804
+ *
2805
+ * @param keyId - The key ID for the signature (default: 'human:test-user')
2806
+ * @param role - The role for the signature (default: 'author')
2807
+ * @param notes - Notes for the signature (default: 'Test signature - unsigned')
2808
+ * @returns Signature object (with dummy signature value)
2809
+ */
2810
+ declare function createTestSignature(keyId?: string, role?: string, notes?: string): Signature;
2811
+ /**
2812
+ * Creates a complete EmbeddedMetadataRecord with validation
2813
+ *
2814
+ * @param payload - The record payload (ActorRecord, TaskRecord, etc.)
2815
+ * @param options - Optional configuration for the embedded metadata
2816
+ * @returns Promise<EmbeddedMetadataRecord<T>> - The validated embedded metadata record
2817
+ *
2818
+ * @example
2819
+ * ```typescript
2820
+ * const actorPayload: ActorRecord = {
2821
+ * id: 'human:john-doe',
2822
+ * type: 'human',
2823
+ * displayName: 'John Doe',
2824
+ * publicKey: 'abc123...',
2825
+ * roles: ['developer']
2826
+ * };
2827
+ *
2828
+ * const embedded = await createEmbeddedMetadataRecord(actorPayload);
2829
+ * ```
2830
+ */
2831
+ declare function createEmbeddedMetadataRecord<T extends GitGovRecordPayload>(payload: T, options?: CreateEmbeddedMetadataOptions): Promise<EmbeddedMetadataRecord<T>>;
2832
+
2833
+ type index$4_CreateEmbeddedMetadataOptions = CreateEmbeddedMetadataOptions;
2834
+ type index$4_SignatureConfig = SignatureConfig;
2622
2835
  declare const index$4_createActorRecord: typeof createActorRecord;
2623
2836
  declare const index$4_createAgentRecord: typeof createAgentRecord;
2624
2837
  declare const index$4_createChangelogRecord: typeof createChangelogRecord;
2625
2838
  declare const index$4_createCycleRecord: typeof createCycleRecord;
2626
2839
  declare const index$4_createDefaultWorkflowMethodologyConfig: typeof createDefaultWorkflowMethodologyConfig;
2840
+ declare const index$4_createEmbeddedMetadataRecord: typeof createEmbeddedMetadataRecord;
2627
2841
  declare const index$4_createExecutionRecord: typeof createExecutionRecord;
2628
2842
  declare const index$4_createFeedbackRecord: typeof createFeedbackRecord;
2629
2843
  declare const index$4_createTaskRecord: typeof createTaskRecord;
2844
+ declare const index$4_createTestSignature: typeof createTestSignature;
2630
2845
  declare const index$4_createWorkflowMethodologyConfig: typeof createWorkflowMethodologyConfig;
2631
2846
  declare namespace index$4 {
2632
- export { index$4_createActorRecord as createActorRecord, index$4_createAgentRecord as createAgentRecord, index$4_createChangelogRecord as createChangelogRecord, index$4_createCycleRecord as createCycleRecord, index$4_createDefaultWorkflowMethodologyConfig as createDefaultWorkflowMethodologyConfig, index$4_createExecutionRecord as createExecutionRecord, index$4_createFeedbackRecord as createFeedbackRecord, index$4_createTaskRecord as createTaskRecord, index$4_createWorkflowMethodologyConfig as createWorkflowMethodologyConfig };
2847
+ export { type index$4_CreateEmbeddedMetadataOptions as CreateEmbeddedMetadataOptions, type index$4_SignatureConfig as SignatureConfig, index$4_createActorRecord as createActorRecord, index$4_createAgentRecord as createAgentRecord, index$4_createChangelogRecord as createChangelogRecord, index$4_createCycleRecord as createCycleRecord, index$4_createDefaultWorkflowMethodologyConfig as createDefaultWorkflowMethodologyConfig, index$4_createEmbeddedMetadataRecord as createEmbeddedMetadataRecord, index$4_createExecutionRecord as createExecutionRecord, index$4_createFeedbackRecord as createFeedbackRecord, index$4_createTaskRecord as createTaskRecord, index$4_createTestSignature as createTestSignature, index$4_createWorkflowMethodologyConfig as createWorkflowMethodologyConfig };
2633
2848
  }
2634
2849
 
2635
2850
  type LogLevel = "debug" | "info" | "warn" | "error" | "silent";
@@ -2688,6 +2903,8 @@ declare const Schemas: {
2688
2903
  };
2689
2904
  publicKey: {
2690
2905
  type: string;
2906
+ minLength: number;
2907
+ maxLength: number;
2691
2908
  description: string;
2692
2909
  };
2693
2910
  roles: {
@@ -2745,27 +2962,29 @@ declare const Schemas: {
2745
2962
  enum: string[];
2746
2963
  default: string;
2747
2964
  };
2748
- guild: {
2749
- type: string;
2750
- enum: string[];
2751
- };
2752
2965
  triggers: {
2753
2966
  type: string;
2967
+ default: never[];
2968
+ description: string;
2754
2969
  items: {
2755
2970
  type: string;
2756
2971
  properties: {
2757
2972
  type: {
2758
2973
  type: string;
2759
2974
  enum: string[];
2975
+ description: string;
2760
2976
  };
2761
2977
  };
2762
2978
  required: string[];
2979
+ additionalProperties: boolean;
2763
2980
  };
2764
2981
  };
2765
2982
  knowledge_dependencies: {
2766
2983
  type: string;
2984
+ default: never[];
2767
2985
  items: {
2768
2986
  type: string;
2987
+ description: string;
2769
2988
  };
2770
2989
  };
2771
2990
  prompt_engine_requirements: {
@@ -2785,67 +3004,465 @@ declare const Schemas: {
2785
3004
  };
2786
3005
  };
2787
3006
  };
3007
+ metadata: {
3008
+ type: string;
3009
+ description: string;
3010
+ additionalProperties: boolean;
3011
+ };
2788
3012
  engine: {
2789
3013
  type: string;
2790
3014
  oneOf: ({
2791
3015
  required: string[];
3016
+ additionalProperties: boolean;
2792
3017
  properties: {
2793
3018
  type: {
2794
3019
  const: string;
2795
3020
  };
2796
3021
  runtime: {
2797
3022
  type: string;
3023
+ description: string;
2798
3024
  };
2799
3025
  entrypoint: {
2800
3026
  type: string;
3027
+ description: string;
2801
3028
  };
2802
3029
  function: {
2803
3030
  type: string;
3031
+ description: string;
2804
3032
  };
2805
3033
  url?: never;
2806
3034
  method?: never;
2807
3035
  auth?: never;
3036
+ protocol?: never;
3037
+ config?: never;
2808
3038
  };
2809
3039
  } | {
2810
3040
  required: string[];
3041
+ additionalProperties: boolean;
2811
3042
  properties: {
2812
3043
  type: {
2813
3044
  const: string;
2814
3045
  };
2815
3046
  url: {
2816
3047
  type: string;
3048
+ format: string;
3049
+ description: string;
2817
3050
  };
2818
3051
  method: {
2819
3052
  type: string;
2820
3053
  enum: string[];
3054
+ default: string;
2821
3055
  };
2822
3056
  auth: {
2823
3057
  type: string;
3058
+ description: string;
3059
+ additionalProperties: boolean;
3060
+ properties: {
3061
+ type: {
3062
+ type: string;
3063
+ enum: string[];
3064
+ description: string;
3065
+ };
3066
+ secret_key: {
3067
+ type: string;
3068
+ description: string;
3069
+ };
3070
+ token: {
3071
+ type: string;
3072
+ description: string;
3073
+ };
3074
+ };
2824
3075
  };
2825
3076
  runtime?: never;
2826
3077
  entrypoint?: never;
2827
3078
  function?: never;
3079
+ protocol?: never;
3080
+ config?: never;
2828
3081
  };
2829
3082
  } | {
2830
3083
  required: string[];
3084
+ additionalProperties: boolean;
2831
3085
  properties: {
2832
3086
  type: {
2833
3087
  const: string;
2834
3088
  };
2835
3089
  url: {
2836
3090
  type: string;
3091
+ format: string;
3092
+ description: string;
2837
3093
  };
2838
3094
  auth: {
2839
3095
  type: string;
3096
+ description: string;
3097
+ additionalProperties: boolean;
3098
+ properties: {
3099
+ type: {
3100
+ type: string;
3101
+ enum: string[];
3102
+ description: string;
3103
+ };
3104
+ secret_key: {
3105
+ type: string;
3106
+ description: string;
3107
+ };
3108
+ token: {
3109
+ type: string;
3110
+ description: string;
3111
+ };
3112
+ };
2840
3113
  };
2841
3114
  runtime?: never;
2842
3115
  entrypoint?: never;
2843
3116
  function?: never;
2844
3117
  method?: never;
3118
+ protocol?: never;
3119
+ config?: never;
3120
+ };
3121
+ } | {
3122
+ required: string[];
3123
+ additionalProperties: boolean;
3124
+ properties: {
3125
+ type: {
3126
+ const: string;
3127
+ };
3128
+ protocol: {
3129
+ type: string;
3130
+ description: string;
3131
+ };
3132
+ config: {
3133
+ type: string;
3134
+ description: string;
3135
+ };
3136
+ runtime?: never;
3137
+ entrypoint?: never;
3138
+ function?: never;
3139
+ url?: never;
3140
+ method?: never;
3141
+ auth?: never;
2845
3142
  };
2846
3143
  })[];
2847
3144
  };
2848
3145
  };
3146
+ examples: ({
3147
+ id: string;
3148
+ status: string;
3149
+ engine: {
3150
+ type: string;
3151
+ runtime: string;
3152
+ entrypoint: string;
3153
+ function: string;
3154
+ url?: never;
3155
+ method?: never;
3156
+ auth?: never;
3157
+ protocol?: never;
3158
+ config?: never;
3159
+ };
3160
+ metadata: {
3161
+ purpose: string;
3162
+ maintainer: string;
3163
+ framework?: never;
3164
+ version?: never;
3165
+ model?: never;
3166
+ deployment?: never;
3167
+ cost_per_invocation?: never;
3168
+ currency?: never;
3169
+ max_tokens?: never;
3170
+ ide?: never;
3171
+ tool?: never;
3172
+ accepts_tools?: never;
3173
+ provider?: never;
3174
+ supported_languages?: never;
3175
+ max_chars_per_request?: never;
3176
+ experimental?: never;
3177
+ };
3178
+ triggers: {
3179
+ type: string;
3180
+ }[];
3181
+ knowledge_dependencies: string[];
3182
+ prompt_engine_requirements?: never;
3183
+ } | {
3184
+ id: string;
3185
+ status: string;
3186
+ engine: {
3187
+ type: string;
3188
+ url: string;
3189
+ method: string;
3190
+ auth: {
3191
+ type: string;
3192
+ secret_key?: never;
3193
+ };
3194
+ runtime?: never;
3195
+ entrypoint?: never;
3196
+ function?: never;
3197
+ protocol?: never;
3198
+ config?: never;
3199
+ };
3200
+ metadata: {
3201
+ framework: string;
3202
+ version: string;
3203
+ model: string;
3204
+ deployment: {
3205
+ provider: string;
3206
+ service: string;
3207
+ region: string;
3208
+ runtime?: never;
3209
+ image?: never;
3210
+ port?: never;
3211
+ };
3212
+ cost_per_invocation: number;
3213
+ currency: string;
3214
+ purpose?: never;
3215
+ maintainer?: never;
3216
+ max_tokens?: never;
3217
+ ide?: never;
3218
+ tool?: never;
3219
+ accepts_tools?: never;
3220
+ provider?: never;
3221
+ supported_languages?: never;
3222
+ max_chars_per_request?: never;
3223
+ experimental?: never;
3224
+ };
3225
+ triggers: {
3226
+ type: string;
3227
+ event: string;
3228
+ }[];
3229
+ knowledge_dependencies: string[];
3230
+ prompt_engine_requirements?: never;
3231
+ } | {
3232
+ id: string;
3233
+ status: string;
3234
+ engine: {
3235
+ type: string;
3236
+ url: string;
3237
+ method: string;
3238
+ auth: {
3239
+ type: string;
3240
+ secret_key?: never;
3241
+ };
3242
+ runtime?: never;
3243
+ entrypoint?: never;
3244
+ function?: never;
3245
+ protocol?: never;
3246
+ config?: never;
3247
+ };
3248
+ metadata: {
3249
+ framework: string;
3250
+ version: string;
3251
+ model: string;
3252
+ deployment: {
3253
+ runtime: string;
3254
+ image: string;
3255
+ port: number;
3256
+ provider?: never;
3257
+ service?: never;
3258
+ region?: never;
3259
+ };
3260
+ max_tokens: number;
3261
+ purpose?: never;
3262
+ maintainer?: never;
3263
+ cost_per_invocation?: never;
3264
+ currency?: never;
3265
+ ide?: never;
3266
+ tool?: never;
3267
+ accepts_tools?: never;
3268
+ provider?: never;
3269
+ supported_languages?: never;
3270
+ max_chars_per_request?: never;
3271
+ experimental?: never;
3272
+ };
3273
+ triggers: {
3274
+ type: string;
3275
+ event: string;
3276
+ }[];
3277
+ knowledge_dependencies?: never;
3278
+ prompt_engine_requirements?: never;
3279
+ } | {
3280
+ id: string;
3281
+ status: string;
3282
+ engine: {
3283
+ type: string;
3284
+ url: string;
3285
+ auth: {
3286
+ type: string;
3287
+ secret_key?: never;
3288
+ };
3289
+ runtime?: never;
3290
+ entrypoint?: never;
3291
+ function?: never;
3292
+ method?: never;
3293
+ protocol?: never;
3294
+ config?: never;
3295
+ };
3296
+ metadata: {
3297
+ ide: string;
3298
+ tool: string;
3299
+ accepts_tools: string[];
3300
+ purpose?: never;
3301
+ maintainer?: never;
3302
+ framework?: never;
3303
+ version?: never;
3304
+ model?: never;
3305
+ deployment?: never;
3306
+ cost_per_invocation?: never;
3307
+ currency?: never;
3308
+ max_tokens?: never;
3309
+ provider?: never;
3310
+ supported_languages?: never;
3311
+ max_chars_per_request?: never;
3312
+ experimental?: never;
3313
+ };
3314
+ knowledge_dependencies: string[];
3315
+ triggers: {
3316
+ type: string;
3317
+ event: string;
3318
+ }[];
3319
+ prompt_engine_requirements?: never;
3320
+ } | {
3321
+ id: string;
3322
+ status: string;
3323
+ engine: {
3324
+ type: string;
3325
+ url: string;
3326
+ method: string;
3327
+ auth: {
3328
+ type: string;
3329
+ secret_key: string;
3330
+ };
3331
+ runtime?: never;
3332
+ entrypoint?: never;
3333
+ function?: never;
3334
+ protocol?: never;
3335
+ config?: never;
3336
+ };
3337
+ metadata: {
3338
+ provider: string;
3339
+ supported_languages: string[];
3340
+ max_chars_per_request: number;
3341
+ purpose?: never;
3342
+ maintainer?: never;
3343
+ framework?: never;
3344
+ version?: never;
3345
+ model?: never;
3346
+ deployment?: never;
3347
+ cost_per_invocation?: never;
3348
+ currency?: never;
3349
+ max_tokens?: never;
3350
+ ide?: never;
3351
+ tool?: never;
3352
+ accepts_tools?: never;
3353
+ experimental?: never;
3354
+ };
3355
+ triggers: {
3356
+ type: string;
3357
+ }[];
3358
+ knowledge_dependencies?: never;
3359
+ prompt_engine_requirements?: never;
3360
+ } | {
3361
+ id: string;
3362
+ status: string;
3363
+ engine: {
3364
+ type: string;
3365
+ protocol: string;
3366
+ config: {
3367
+ endpoint: string;
3368
+ version: string;
3369
+ capabilities: string[];
3370
+ };
3371
+ runtime?: never;
3372
+ entrypoint?: never;
3373
+ function?: never;
3374
+ url?: never;
3375
+ method?: never;
3376
+ auth?: never;
3377
+ };
3378
+ metadata: {
3379
+ purpose: string;
3380
+ experimental: boolean;
3381
+ maintainer?: never;
3382
+ framework?: never;
3383
+ version?: never;
3384
+ model?: never;
3385
+ deployment?: never;
3386
+ cost_per_invocation?: never;
3387
+ currency?: never;
3388
+ max_tokens?: never;
3389
+ ide?: never;
3390
+ tool?: never;
3391
+ accepts_tools?: never;
3392
+ provider?: never;
3393
+ supported_languages?: never;
3394
+ max_chars_per_request?: never;
3395
+ };
3396
+ triggers: {
3397
+ type: string;
3398
+ cron: string;
3399
+ }[];
3400
+ knowledge_dependencies?: never;
3401
+ prompt_engine_requirements?: never;
3402
+ } | {
3403
+ id: string;
3404
+ engine: {
3405
+ type: string;
3406
+ runtime?: never;
3407
+ entrypoint?: never;
3408
+ function?: never;
3409
+ url?: never;
3410
+ method?: never;
3411
+ auth?: never;
3412
+ protocol?: never;
3413
+ config?: never;
3414
+ };
3415
+ status?: never;
3416
+ metadata?: never;
3417
+ triggers?: never;
3418
+ knowledge_dependencies?: never;
3419
+ prompt_engine_requirements?: never;
3420
+ } | {
3421
+ id: string;
3422
+ status: string;
3423
+ engine: {
3424
+ type: string;
3425
+ url: string;
3426
+ runtime?: never;
3427
+ entrypoint?: never;
3428
+ function?: never;
3429
+ method?: never;
3430
+ auth?: never;
3431
+ protocol?: never;
3432
+ config?: never;
3433
+ };
3434
+ knowledge_dependencies: string[];
3435
+ triggers: {
3436
+ type: string;
3437
+ }[];
3438
+ metadata?: never;
3439
+ prompt_engine_requirements?: never;
3440
+ } | {
3441
+ id: string;
3442
+ status: string;
3443
+ engine: {
3444
+ type: string;
3445
+ runtime: string;
3446
+ entrypoint: string;
3447
+ function: string;
3448
+ url?: never;
3449
+ method?: never;
3450
+ auth?: never;
3451
+ protocol?: never;
3452
+ config?: never;
3453
+ };
3454
+ prompt_engine_requirements: {
3455
+ roles: string[];
3456
+ skills: string[];
3457
+ };
3458
+ knowledge_dependencies: string[];
3459
+ triggers: {
3460
+ type: string;
3461
+ event: string;
3462
+ filter: string;
3463
+ }[];
3464
+ metadata?: never;
3465
+ })[];
2849
3466
  };
2850
3467
  readonly ChangelogRecord: {
2851
3468
  $schema: string;
@@ -2859,27 +3476,16 @@ declare const Schemas: {
2859
3476
  id: {
2860
3477
  type: string;
2861
3478
  pattern: string;
3479
+ maxLength: number;
2862
3480
  description: string;
2863
- };
2864
- entityType: {
2865
- type: string;
2866
- enum: string[];
2867
- description: string;
2868
- };
2869
- entityId: {
2870
- type: string;
2871
- description: string;
2872
- };
2873
- changeType: {
2874
- type: string;
2875
- enum: string[];
2876
- description: string;
3481
+ examples: string[];
2877
3482
  };
2878
3483
  title: {
2879
3484
  type: string;
2880
3485
  minLength: number;
2881
3486
  maxLength: number;
2882
3487
  description: string;
3488
+ examples: string[];
2883
3489
  };
2884
3490
  description: {
2885
3491
  type: string;
@@ -2887,145 +3493,104 @@ declare const Schemas: {
2887
3493
  maxLength: number;
2888
3494
  description: string;
2889
3495
  };
2890
- timestamp: {
2891
- type: string;
2892
- minimum: number;
2893
- description: string;
2894
- };
2895
- trigger: {
2896
- type: string;
2897
- enum: string[];
2898
- description: string;
2899
- };
2900
- triggeredBy: {
3496
+ relatedTasks: {
2901
3497
  type: string;
3498
+ items: {
3499
+ type: string;
3500
+ pattern: string;
3501
+ };
3502
+ minItems: number;
2902
3503
  description: string;
2903
3504
  };
2904
- reason: {
2905
- type: string;
2906
- minLength: number;
2907
- maxLength: number;
2908
- description: string;
2909
- };
2910
- riskLevel: {
3505
+ completedAt: {
2911
3506
  type: string;
2912
- enum: string[];
3507
+ minimum: number;
2913
3508
  description: string;
2914
3509
  };
2915
- affectedSystems: {
3510
+ relatedCycles: {
2916
3511
  type: string;
2917
3512
  items: {
2918
3513
  type: string;
3514
+ pattern: string;
2919
3515
  };
3516
+ default: never[];
2920
3517
  description: string;
2921
3518
  };
2922
- usersAffected: {
3519
+ relatedExecutions: {
2923
3520
  type: string;
2924
- minimum: number;
3521
+ items: {
3522
+ type: string;
3523
+ pattern: string;
3524
+ };
3525
+ default: never[];
2925
3526
  description: string;
2926
3527
  };
2927
- downtime: {
3528
+ version: {
2928
3529
  type: string;
2929
- minimum: number;
3530
+ minLength: number;
3531
+ maxLength: number;
2930
3532
  description: string;
3533
+ examples: string[];
2931
3534
  };
2932
- files: {
3535
+ tags: {
2933
3536
  type: string;
2934
3537
  items: {
2935
3538
  type: string;
3539
+ pattern: string;
2936
3540
  };
3541
+ default: never[];
2937
3542
  description: string;
2938
3543
  };
2939
3544
  commits: {
2940
3545
  type: string;
2941
3546
  items: {
2942
3547
  type: string;
3548
+ maxLength: number;
2943
3549
  };
3550
+ default: never[];
2944
3551
  description: string;
2945
3552
  };
2946
- rollbackInstructions: {
3553
+ files: {
2947
3554
  type: string;
2948
- minLength: number;
2949
- maxLength: number;
3555
+ items: {
3556
+ type: string;
3557
+ maxLength: number;
3558
+ };
3559
+ default: never[];
2950
3560
  description: string;
2951
3561
  };
2952
- references: {
3562
+ notes: {
2953
3563
  type: string;
2954
- additionalProperties: boolean;
2955
- properties: {
2956
- tasks: {
2957
- type: string;
2958
- items: {
2959
- type: string;
2960
- };
2961
- description: string;
2962
- };
2963
- cycles: {
2964
- type: string;
2965
- items: {
2966
- type: string;
2967
- };
2968
- description: string;
2969
- };
2970
- executions: {
2971
- type: string;
2972
- items: {
2973
- type: string;
2974
- };
2975
- description: string;
2976
- };
2977
- changelogs: {
2978
- type: string;
2979
- items: {
2980
- type: string;
2981
- };
2982
- description: string;
2983
- };
2984
- };
3564
+ maxLength: number;
2985
3565
  description: string;
2986
3566
  };
2987
3567
  };
2988
3568
  examples: ({
2989
3569
  id: string;
2990
- entityType: string;
2991
- entityId: string;
2992
- changeType: string;
2993
3570
  title: string;
2994
3571
  description: string;
2995
- timestamp: number;
2996
- trigger: string;
2997
- triggeredBy: string;
2998
- reason: string;
2999
- riskLevel: string;
3000
- files: string[];
3572
+ relatedTasks: string[];
3573
+ completedAt: number;
3574
+ relatedCycles: string[];
3575
+ relatedExecutions: string[];
3576
+ version: string;
3577
+ tags: string[];
3001
3578
  commits: string[];
3002
- references: {
3003
- tasks: string[];
3004
- executions: string[];
3005
- };
3006
- affectedSystems?: never;
3007
- usersAffected?: never;
3008
- downtime?: never;
3009
- rollbackInstructions?: never;
3579
+ files: string[];
3580
+ notes: string;
3010
3581
  } | {
3011
3582
  id: string;
3012
- entityType: string;
3013
- entityId: string;
3014
- changeType: string;
3015
3583
  title: string;
3016
3584
  description: string;
3017
- timestamp: number;
3018
- trigger: string;
3019
- triggeredBy: string;
3020
- reason: string;
3021
- riskLevel: string;
3022
- affectedSystems: string[];
3023
- usersAffected: number;
3024
- downtime: number;
3025
- rollbackInstructions: string;
3585
+ relatedTasks: string[];
3586
+ completedAt: number;
3587
+ version: string;
3588
+ tags: string[];
3026
3589
  commits: string[];
3590
+ notes: string;
3591
+ relatedCycles?: never;
3592
+ relatedExecutions?: never;
3027
3593
  files?: never;
3028
- references?: never;
3029
3594
  })[];
3030
3595
  };
3031
3596
  readonly CycleRecord: {
@@ -3040,13 +3605,16 @@ declare const Schemas: {
3040
3605
  id: {
3041
3606
  type: string;
3042
3607
  pattern: string;
3608
+ maxLength: number;
3043
3609
  description: string;
3610
+ examples: string[];
3044
3611
  };
3045
3612
  title: {
3046
3613
  type: string;
3047
3614
  minLength: number;
3048
3615
  maxLength: number;
3049
3616
  description: string;
3617
+ examples: string[];
3050
3618
  };
3051
3619
  status: {
3052
3620
  type: string;
@@ -3058,39 +3626,58 @@ declare const Schemas: {
3058
3626
  items: {
3059
3627
  type: string;
3060
3628
  pattern: string;
3629
+ maxLength: number;
3061
3630
  };
3631
+ default: never[];
3632
+ description: string;
3633
+ examples: string[][];
3062
3634
  };
3063
3635
  childCycleIds: {
3064
3636
  type: string;
3065
3637
  items: {
3066
3638
  type: string;
3067
3639
  pattern: string;
3640
+ maxLength: number;
3068
3641
  };
3642
+ default: never[];
3069
3643
  description: string;
3644
+ examples: string[][];
3070
3645
  };
3071
3646
  tags: {
3072
3647
  type: string;
3073
3648
  items: {
3074
3649
  type: string;
3075
3650
  pattern: string;
3651
+ maxLength: number;
3076
3652
  };
3077
3653
  default: never[];
3078
3654
  description: string;
3655
+ examples: string[][];
3079
3656
  };
3080
3657
  notes: {
3081
3658
  type: string;
3659
+ minLength: number;
3082
3660
  maxLength: number;
3083
3661
  description: string;
3084
3662
  };
3085
3663
  };
3086
- examples: {
3664
+ examples: ({
3087
3665
  id: string;
3088
3666
  title: string;
3089
3667
  status: string;
3090
3668
  taskIds: string[];
3091
3669
  tags: string[];
3092
3670
  notes: string;
3093
- }[];
3671
+ childCycleIds?: never;
3672
+ } | {
3673
+ id: string;
3674
+ title: string;
3675
+ status: string;
3676
+ childCycleIds: string[];
3677
+ tags: string[];
3678
+ notes: string;
3679
+ taskIds?: never;
3680
+ })[];
3094
3681
  };
3095
3682
  readonly EmbeddedMetadata: {
3096
3683
  $schema: string;
@@ -3134,35 +3721,37 @@ declare const Schemas: {
3134
3721
  properties: {
3135
3722
  keyId: {
3136
3723
  type: string;
3724
+ pattern: string;
3137
3725
  description: string;
3138
3726
  };
3139
3727
  role: {
3140
3728
  type: string;
3729
+ pattern: string;
3730
+ minLength: number;
3731
+ maxLength: number;
3141
3732
  description: string;
3142
3733
  };
3143
- signature: {
3734
+ notes: {
3144
3735
  type: string;
3736
+ minLength: number;
3737
+ maxLength: number;
3145
3738
  description: string;
3146
3739
  };
3147
- timestamp: {
3740
+ signature: {
3148
3741
  type: string;
3742
+ pattern: string;
3149
3743
  description: string;
3150
3744
  };
3151
- timestamp_iso: {
3745
+ timestamp: {
3152
3746
  type: string;
3153
3747
  description: string;
3154
3748
  };
3155
3749
  };
3156
3750
  required: string[];
3751
+ additionalProperties: boolean;
3157
3752
  };
3158
3753
  description: string;
3159
3754
  };
3160
- audit: {
3161
- type: string;
3162
- minLength: number;
3163
- maxLength: number;
3164
- description: string;
3165
- };
3166
3755
  };
3167
3756
  required: string[];
3168
3757
  additionalProperties: boolean;
@@ -3220,7 +3809,7 @@ declare const Schemas: {
3220
3809
  };
3221
3810
  else: boolean;
3222
3811
  })[];
3223
- examples: {
3812
+ examples: ({
3224
3813
  header: {
3225
3814
  version: string;
3226
3815
  type: string;
@@ -3228,9 +3817,9 @@ declare const Schemas: {
3228
3817
  signatures: {
3229
3818
  keyId: string;
3230
3819
  role: string;
3820
+ notes: string;
3231
3821
  signature: string;
3232
3822
  timestamp: number;
3233
- timestamp_iso: string;
3234
3823
  }[];
3235
3824
  };
3236
3825
  payload: {
@@ -3239,8 +3828,69 @@ declare const Schemas: {
3239
3828
  priority: string;
3240
3829
  description: string;
3241
3830
  tags: string[];
3831
+ taskId?: never;
3832
+ type?: never;
3833
+ title?: never;
3834
+ result?: never;
3835
+ displayName?: never;
3836
+ publicKey?: never;
3837
+ roles?: never;
3242
3838
  };
3243
- }[];
3839
+ } | {
3840
+ header: {
3841
+ version: string;
3842
+ type: string;
3843
+ payloadChecksum: string;
3844
+ signatures: {
3845
+ keyId: string;
3846
+ role: string;
3847
+ notes: string;
3848
+ signature: string;
3849
+ timestamp: number;
3850
+ }[];
3851
+ };
3852
+ payload: {
3853
+ id: string;
3854
+ taskId: string;
3855
+ type: string;
3856
+ title: string;
3857
+ result: string;
3858
+ status?: never;
3859
+ priority?: never;
3860
+ description?: never;
3861
+ tags?: never;
3862
+ displayName?: never;
3863
+ publicKey?: never;
3864
+ roles?: never;
3865
+ };
3866
+ } | {
3867
+ header: {
3868
+ version: string;
3869
+ type: string;
3870
+ payloadChecksum: string;
3871
+ signatures: {
3872
+ keyId: string;
3873
+ role: string;
3874
+ notes: string;
3875
+ signature: string;
3876
+ timestamp: number;
3877
+ }[];
3878
+ };
3879
+ payload: {
3880
+ id: string;
3881
+ type: string;
3882
+ displayName: string;
3883
+ publicKey: string;
3884
+ roles: string[];
3885
+ status?: never;
3886
+ priority?: never;
3887
+ description?: never;
3888
+ tags?: never;
3889
+ taskId?: never;
3890
+ title?: never;
3891
+ result?: never;
3892
+ };
3893
+ })[];
3244
3894
  };
3245
3895
  readonly ExecutionRecord: {
3246
3896
  $schema: string;
@@ -3272,6 +3922,7 @@ declare const Schemas: {
3272
3922
  };
3273
3923
  title: {
3274
3924
  type: string;
3925
+ minLength: number;
3275
3926
  maxLength: number;
3276
3927
  description: string;
3277
3928
  examples: string[];
@@ -3293,6 +3944,7 @@ declare const Schemas: {
3293
3944
  type: string;
3294
3945
  maxLength: number;
3295
3946
  };
3947
+ default: never[];
3296
3948
  description: string;
3297
3949
  };
3298
3950
  };
@@ -3318,7 +3970,9 @@ declare const Schemas: {
3318
3970
  id: {
3319
3971
  type: string;
3320
3972
  pattern: string;
3973
+ maxLength: number;
3321
3974
  description: string;
3975
+ examples: string[];
3322
3976
  };
3323
3977
  entityType: {
3324
3978
  type: string;
@@ -3327,12 +3981,16 @@ declare const Schemas: {
3327
3981
  };
3328
3982
  entityId: {
3329
3983
  type: string;
3984
+ minLength: number;
3985
+ maxLength: number;
3330
3986
  description: string;
3987
+ examples: string[];
3331
3988
  };
3332
3989
  type: {
3333
3990
  type: string;
3334
3991
  enum: string[];
3335
3992
  description: string;
3993
+ examples: string[];
3336
3994
  };
3337
3995
  status: {
3338
3996
  type: string;
@@ -3347,21 +4005,47 @@ declare const Schemas: {
3347
4005
  };
3348
4006
  assignee: {
3349
4007
  type: string;
4008
+ pattern: string;
4009
+ maxLength: number;
3350
4010
  description: string;
4011
+ examples: string[];
3351
4012
  };
3352
4013
  resolvesFeedbackId: {
3353
4014
  type: string;
4015
+ pattern: string;
4016
+ maxLength: number;
3354
4017
  description: string;
4018
+ examples: string[];
3355
4019
  };
3356
4020
  };
3357
- examples: {
4021
+ examples: ({
3358
4022
  id: string;
3359
4023
  entityType: string;
3360
4024
  entityId: string;
3361
4025
  type: string;
3362
4026
  status: string;
3363
4027
  content: string;
3364
- }[];
4028
+ resolvesFeedbackId?: never;
4029
+ assignee?: never;
4030
+ } | {
4031
+ id: string;
4032
+ entityType: string;
4033
+ entityId: string;
4034
+ type: string;
4035
+ status: string;
4036
+ content: string;
4037
+ resolvesFeedbackId: string;
4038
+ assignee?: never;
4039
+ } | {
4040
+ id: string;
4041
+ entityType: string;
4042
+ entityId: string;
4043
+ type: string;
4044
+ status: string;
4045
+ content: string;
4046
+ assignee: string;
4047
+ resolvesFeedbackId?: never;
4048
+ })[];
3365
4049
  };
3366
4050
  readonly TaskRecord: {
3367
4051
  $schema: string;
@@ -3389,8 +4073,11 @@ declare const Schemas: {
3389
4073
  type: string;
3390
4074
  items: {
3391
4075
  type: string;
4076
+ minLength: number;
3392
4077
  pattern: string;
4078
+ maxLength: number;
3393
4079
  };
4080
+ default: never[];
3394
4081
  description: string;
3395
4082
  };
3396
4083
  status: {
@@ -3415,30 +4102,50 @@ declare const Schemas: {
3415
4102
  type: string;
3416
4103
  items: {
3417
4104
  type: string;
4105
+ minLength: number;
3418
4106
  pattern: string;
3419
4107
  };
4108
+ default: never[];
3420
4109
  description: string;
3421
4110
  };
3422
4111
  references: {
3423
4112
  type: string;
3424
4113
  items: {
3425
4114
  type: string;
4115
+ minLength: number;
3426
4116
  maxLength: number;
3427
4117
  };
4118
+ default: never[];
3428
4119
  description: string;
3429
4120
  };
3430
4121
  notes: {
3431
4122
  type: string;
4123
+ minLength: number;
3432
4124
  maxLength: number;
3433
4125
  description: string;
3434
4126
  };
3435
4127
  };
3436
- examples: {
4128
+ examples: ({
3437
4129
  id: string;
4130
+ title: string;
3438
4131
  status: string;
3439
4132
  priority: string;
3440
4133
  description: string;
3441
- }[];
4134
+ cycleIds: string[];
4135
+ tags: string[];
4136
+ references: string[];
4137
+ notes: string;
4138
+ } | {
4139
+ id: string;
4140
+ title: string;
4141
+ status: string;
4142
+ priority: string;
4143
+ description: string;
4144
+ cycleIds: never[];
4145
+ tags: string[];
4146
+ references: never[];
4147
+ notes?: never;
4148
+ })[];
3442
4149
  };
3443
4150
  readonly WorkflowMethodologyRecord: {
3444
4151
  $schema: string;
@@ -3632,6 +4339,9 @@ declare const Schemas: {
3632
4339
  items: {
3633
4340
  type: string;
3634
4341
  required: string[];
4342
+ anyOf: {
4343
+ required: string[];
4344
+ }[];
3635
4345
  additionalProperties: boolean;
3636
4346
  properties: {
3637
4347
  id: {
@@ -3639,9 +4349,13 @@ declare const Schemas: {
3639
4349
  pattern: string;
3640
4350
  description: string;
3641
4351
  };
3642
- gremio: {
4352
+ required_roles: {
3643
4353
  type: string;
3644
- enum: string[];
4354
+ items: {
4355
+ type: string;
4356
+ pattern: string;
4357
+ };
4358
+ minItems: number;
3645
4359
  description: string;
3646
4360
  };
3647
4361
  engine: {
@@ -3759,7 +4473,188 @@ declare const Schemas: {
3759
4473
  };
3760
4474
  };
3761
4475
  };
3762
- };
4476
+ };
4477
+ examples: ({
4478
+ version: string;
4479
+ name: string;
4480
+ description: string;
4481
+ state_transitions: {
4482
+ review: {
4483
+ from: string[];
4484
+ requires: {
4485
+ command: string;
4486
+ signatures?: never;
4487
+ };
4488
+ };
4489
+ ready: {
4490
+ from: string[];
4491
+ requires: {
4492
+ command: string;
4493
+ signatures: {
4494
+ __default__: {
4495
+ role: string;
4496
+ capability_roles: string[];
4497
+ min_approvals: number;
4498
+ };
4499
+ design?: never;
4500
+ quality?: never;
4501
+ };
4502
+ };
4503
+ };
4504
+ active: {
4505
+ from: string[];
4506
+ requires: {
4507
+ event: string;
4508
+ custom_rules?: never;
4509
+ };
4510
+ };
4511
+ done: {
4512
+ from: string[];
4513
+ requires: {
4514
+ command: string;
4515
+ signatures?: never;
4516
+ };
4517
+ };
4518
+ archived?: never;
4519
+ paused?: never;
4520
+ discarded?: never;
4521
+ };
4522
+ view_configs: {
4523
+ "kanban-3col": {
4524
+ columns: {
4525
+ "To Do": string[];
4526
+ "In Progress": string[];
4527
+ Done: string[];
4528
+ };
4529
+ theme: string;
4530
+ layout: string;
4531
+ };
4532
+ "kanban-4col"?: never;
4533
+ "kanban-7col"?: never;
4534
+ };
4535
+ custom_rules?: never;
4536
+ } | {
4537
+ version: string;
4538
+ name: string;
4539
+ description: string;
4540
+ state_transitions: {
4541
+ review: {
4542
+ from: string[];
4543
+ requires: {
4544
+ command: string;
4545
+ signatures: {
4546
+ __default__: {
4547
+ role: string;
4548
+ capability_roles: string[];
4549
+ min_approvals: number;
4550
+ };
4551
+ };
4552
+ };
4553
+ };
4554
+ ready: {
4555
+ from: string[];
4556
+ requires: {
4557
+ command: string;
4558
+ signatures: {
4559
+ __default__: {
4560
+ role: string;
4561
+ capability_roles: string[];
4562
+ min_approvals: number;
4563
+ };
4564
+ design: {
4565
+ role: string;
4566
+ capability_roles: string[];
4567
+ min_approvals: number;
4568
+ };
4569
+ quality: {
4570
+ role: string;
4571
+ capability_roles: string[];
4572
+ min_approvals: number;
4573
+ };
4574
+ };
4575
+ };
4576
+ };
4577
+ active: {
4578
+ from: string[];
4579
+ requires: {
4580
+ event: string;
4581
+ custom_rules: string[];
4582
+ };
4583
+ };
4584
+ done: {
4585
+ from: string[];
4586
+ requires: {
4587
+ command: string;
4588
+ signatures: {
4589
+ __default__: {
4590
+ role: string;
4591
+ capability_roles: string[];
4592
+ min_approvals: number;
4593
+ };
4594
+ };
4595
+ };
4596
+ };
4597
+ archived: {
4598
+ from: string[];
4599
+ requires: {
4600
+ event: string;
4601
+ };
4602
+ };
4603
+ paused: {
4604
+ from: string[];
4605
+ requires: {
4606
+ event: string;
4607
+ };
4608
+ };
4609
+ discarded: {
4610
+ from: string[];
4611
+ requires: {
4612
+ command: string;
4613
+ signatures: {
4614
+ __default__: {
4615
+ role: string;
4616
+ capability_roles: string[];
4617
+ min_approvals: number;
4618
+ };
4619
+ };
4620
+ };
4621
+ };
4622
+ };
4623
+ custom_rules: {
4624
+ task_must_have_valid_assignment_for_executor: {
4625
+ description: string;
4626
+ validation: string;
4627
+ };
4628
+ };
4629
+ view_configs: {
4630
+ "kanban-4col": {
4631
+ columns: {
4632
+ Draft: string[];
4633
+ "In Progress": string[];
4634
+ Review: string[];
4635
+ Done: string[];
4636
+ Cancelled: string[];
4637
+ };
4638
+ theme: string;
4639
+ layout: string;
4640
+ };
4641
+ "kanban-7col": {
4642
+ columns: {
4643
+ Draft: string[];
4644
+ Review: string[];
4645
+ Ready: string[];
4646
+ Active: string[];
4647
+ Done: string[];
4648
+ Archived: string[];
4649
+ Blocked: string[];
4650
+ Cancelled: string[];
4651
+ };
4652
+ theme: string;
4653
+ layout: string;
4654
+ };
4655
+ "kanban-3col"?: never;
4656
+ };
4657
+ })[];
3763
4658
  };
3764
4659
  };
3765
4660
  /**
@@ -3797,6 +4692,8 @@ declare function getSchema(name: SchemaName): {
3797
4692
  };
3798
4693
  publicKey: {
3799
4694
  type: string;
4695
+ minLength: number;
4696
+ maxLength: number;
3800
4697
  description: string;
3801
4698
  };
3802
4699
  roles: {
@@ -3853,27 +4750,29 @@ declare function getSchema(name: SchemaName): {
3853
4750
  enum: string[];
3854
4751
  default: string;
3855
4752
  };
3856
- guild: {
3857
- type: string;
3858
- enum: string[];
3859
- };
3860
4753
  triggers: {
3861
4754
  type: string;
4755
+ default: never[];
4756
+ description: string;
3862
4757
  items: {
3863
4758
  type: string;
3864
4759
  properties: {
3865
4760
  type: {
3866
4761
  type: string;
3867
4762
  enum: string[];
4763
+ description: string;
3868
4764
  };
3869
4765
  };
3870
4766
  required: string[];
4767
+ additionalProperties: boolean;
3871
4768
  };
3872
4769
  };
3873
4770
  knowledge_dependencies: {
3874
4771
  type: string;
4772
+ default: never[];
3875
4773
  items: {
3876
4774
  type: string;
4775
+ description: string;
3877
4776
  };
3878
4777
  };
3879
4778
  prompt_engine_requirements: {
@@ -3893,67 +4792,465 @@ declare function getSchema(name: SchemaName): {
3893
4792
  };
3894
4793
  };
3895
4794
  };
4795
+ metadata: {
4796
+ type: string;
4797
+ description: string;
4798
+ additionalProperties: boolean;
4799
+ };
3896
4800
  engine: {
3897
4801
  type: string;
3898
4802
  oneOf: ({
3899
4803
  required: string[];
4804
+ additionalProperties: boolean;
3900
4805
  properties: {
3901
4806
  type: {
3902
4807
  const: string;
3903
4808
  };
3904
4809
  runtime: {
3905
4810
  type: string;
4811
+ description: string;
3906
4812
  };
3907
4813
  entrypoint: {
3908
4814
  type: string;
4815
+ description: string;
3909
4816
  };
3910
4817
  function: {
3911
4818
  type: string;
4819
+ description: string;
3912
4820
  };
3913
4821
  url?: never;
3914
4822
  method?: never;
3915
4823
  auth?: never;
4824
+ protocol?: never;
4825
+ config?: never;
3916
4826
  };
3917
4827
  } | {
3918
4828
  required: string[];
4829
+ additionalProperties: boolean;
3919
4830
  properties: {
3920
4831
  type: {
3921
4832
  const: string;
3922
4833
  };
3923
4834
  url: {
3924
4835
  type: string;
4836
+ format: string;
4837
+ description: string;
3925
4838
  };
3926
4839
  method: {
3927
4840
  type: string;
3928
4841
  enum: string[];
4842
+ default: string;
3929
4843
  };
3930
4844
  auth: {
3931
4845
  type: string;
4846
+ description: string;
4847
+ additionalProperties: boolean;
4848
+ properties: {
4849
+ type: {
4850
+ type: string;
4851
+ enum: string[];
4852
+ description: string;
4853
+ };
4854
+ secret_key: {
4855
+ type: string;
4856
+ description: string;
4857
+ };
4858
+ token: {
4859
+ type: string;
4860
+ description: string;
4861
+ };
4862
+ };
3932
4863
  };
3933
4864
  runtime?: never;
3934
4865
  entrypoint?: never;
3935
4866
  function?: never;
4867
+ protocol?: never;
4868
+ config?: never;
3936
4869
  };
3937
4870
  } | {
3938
4871
  required: string[];
4872
+ additionalProperties: boolean;
3939
4873
  properties: {
3940
4874
  type: {
3941
4875
  const: string;
3942
4876
  };
3943
4877
  url: {
3944
4878
  type: string;
4879
+ format: string;
4880
+ description: string;
3945
4881
  };
3946
4882
  auth: {
3947
4883
  type: string;
4884
+ description: string;
4885
+ additionalProperties: boolean;
4886
+ properties: {
4887
+ type: {
4888
+ type: string;
4889
+ enum: string[];
4890
+ description: string;
4891
+ };
4892
+ secret_key: {
4893
+ type: string;
4894
+ description: string;
4895
+ };
4896
+ token: {
4897
+ type: string;
4898
+ description: string;
4899
+ };
4900
+ };
4901
+ };
4902
+ runtime?: never;
4903
+ entrypoint?: never;
4904
+ function?: never;
4905
+ method?: never;
4906
+ protocol?: never;
4907
+ config?: never;
4908
+ };
4909
+ } | {
4910
+ required: string[];
4911
+ additionalProperties: boolean;
4912
+ properties: {
4913
+ type: {
4914
+ const: string;
4915
+ };
4916
+ protocol: {
4917
+ type: string;
4918
+ description: string;
4919
+ };
4920
+ config: {
4921
+ type: string;
4922
+ description: string;
3948
4923
  };
3949
4924
  runtime?: never;
3950
4925
  entrypoint?: never;
3951
4926
  function?: never;
4927
+ url?: never;
3952
4928
  method?: never;
4929
+ auth?: never;
3953
4930
  };
3954
4931
  })[];
3955
4932
  };
3956
4933
  };
4934
+ examples: ({
4935
+ id: string;
4936
+ status: string;
4937
+ engine: {
4938
+ type: string;
4939
+ runtime: string;
4940
+ entrypoint: string;
4941
+ function: string;
4942
+ url?: never;
4943
+ method?: never;
4944
+ auth?: never;
4945
+ protocol?: never;
4946
+ config?: never;
4947
+ };
4948
+ metadata: {
4949
+ purpose: string;
4950
+ maintainer: string;
4951
+ framework?: never;
4952
+ version?: never;
4953
+ model?: never;
4954
+ deployment?: never;
4955
+ cost_per_invocation?: never;
4956
+ currency?: never;
4957
+ max_tokens?: never;
4958
+ ide?: never;
4959
+ tool?: never;
4960
+ accepts_tools?: never;
4961
+ provider?: never;
4962
+ supported_languages?: never;
4963
+ max_chars_per_request?: never;
4964
+ experimental?: never;
4965
+ };
4966
+ triggers: {
4967
+ type: string;
4968
+ }[];
4969
+ knowledge_dependencies: string[];
4970
+ prompt_engine_requirements?: never;
4971
+ } | {
4972
+ id: string;
4973
+ status: string;
4974
+ engine: {
4975
+ type: string;
4976
+ url: string;
4977
+ method: string;
4978
+ auth: {
4979
+ type: string;
4980
+ secret_key?: never;
4981
+ };
4982
+ runtime?: never;
4983
+ entrypoint?: never;
4984
+ function?: never;
4985
+ protocol?: never;
4986
+ config?: never;
4987
+ };
4988
+ metadata: {
4989
+ framework: string;
4990
+ version: string;
4991
+ model: string;
4992
+ deployment: {
4993
+ provider: string;
4994
+ service: string;
4995
+ region: string;
4996
+ runtime?: never;
4997
+ image?: never;
4998
+ port?: never;
4999
+ };
5000
+ cost_per_invocation: number;
5001
+ currency: string;
5002
+ purpose?: never;
5003
+ maintainer?: never;
5004
+ max_tokens?: never;
5005
+ ide?: never;
5006
+ tool?: never;
5007
+ accepts_tools?: never;
5008
+ provider?: never;
5009
+ supported_languages?: never;
5010
+ max_chars_per_request?: never;
5011
+ experimental?: never;
5012
+ };
5013
+ triggers: {
5014
+ type: string;
5015
+ event: string;
5016
+ }[];
5017
+ knowledge_dependencies: string[];
5018
+ prompt_engine_requirements?: never;
5019
+ } | {
5020
+ id: string;
5021
+ status: string;
5022
+ engine: {
5023
+ type: string;
5024
+ url: string;
5025
+ method: string;
5026
+ auth: {
5027
+ type: string;
5028
+ secret_key?: never;
5029
+ };
5030
+ runtime?: never;
5031
+ entrypoint?: never;
5032
+ function?: never;
5033
+ protocol?: never;
5034
+ config?: never;
5035
+ };
5036
+ metadata: {
5037
+ framework: string;
5038
+ version: string;
5039
+ model: string;
5040
+ deployment: {
5041
+ runtime: string;
5042
+ image: string;
5043
+ port: number;
5044
+ provider?: never;
5045
+ service?: never;
5046
+ region?: never;
5047
+ };
5048
+ max_tokens: number;
5049
+ purpose?: never;
5050
+ maintainer?: never;
5051
+ cost_per_invocation?: never;
5052
+ currency?: never;
5053
+ ide?: never;
5054
+ tool?: never;
5055
+ accepts_tools?: never;
5056
+ provider?: never;
5057
+ supported_languages?: never;
5058
+ max_chars_per_request?: never;
5059
+ experimental?: never;
5060
+ };
5061
+ triggers: {
5062
+ type: string;
5063
+ event: string;
5064
+ }[];
5065
+ knowledge_dependencies?: never;
5066
+ prompt_engine_requirements?: never;
5067
+ } | {
5068
+ id: string;
5069
+ status: string;
5070
+ engine: {
5071
+ type: string;
5072
+ url: string;
5073
+ auth: {
5074
+ type: string;
5075
+ secret_key?: never;
5076
+ };
5077
+ runtime?: never;
5078
+ entrypoint?: never;
5079
+ function?: never;
5080
+ method?: never;
5081
+ protocol?: never;
5082
+ config?: never;
5083
+ };
5084
+ metadata: {
5085
+ ide: string;
5086
+ tool: string;
5087
+ accepts_tools: string[];
5088
+ purpose?: never;
5089
+ maintainer?: never;
5090
+ framework?: never;
5091
+ version?: never;
5092
+ model?: never;
5093
+ deployment?: never;
5094
+ cost_per_invocation?: never;
5095
+ currency?: never;
5096
+ max_tokens?: never;
5097
+ provider?: never;
5098
+ supported_languages?: never;
5099
+ max_chars_per_request?: never;
5100
+ experimental?: never;
5101
+ };
5102
+ knowledge_dependencies: string[];
5103
+ triggers: {
5104
+ type: string;
5105
+ event: string;
5106
+ }[];
5107
+ prompt_engine_requirements?: never;
5108
+ } | {
5109
+ id: string;
5110
+ status: string;
5111
+ engine: {
5112
+ type: string;
5113
+ url: string;
5114
+ method: string;
5115
+ auth: {
5116
+ type: string;
5117
+ secret_key: string;
5118
+ };
5119
+ runtime?: never;
5120
+ entrypoint?: never;
5121
+ function?: never;
5122
+ protocol?: never;
5123
+ config?: never;
5124
+ };
5125
+ metadata: {
5126
+ provider: string;
5127
+ supported_languages: string[];
5128
+ max_chars_per_request: number;
5129
+ purpose?: never;
5130
+ maintainer?: never;
5131
+ framework?: never;
5132
+ version?: never;
5133
+ model?: never;
5134
+ deployment?: never;
5135
+ cost_per_invocation?: never;
5136
+ currency?: never;
5137
+ max_tokens?: never;
5138
+ ide?: never;
5139
+ tool?: never;
5140
+ accepts_tools?: never;
5141
+ experimental?: never;
5142
+ };
5143
+ triggers: {
5144
+ type: string;
5145
+ }[];
5146
+ knowledge_dependencies?: never;
5147
+ prompt_engine_requirements?: never;
5148
+ } | {
5149
+ id: string;
5150
+ status: string;
5151
+ engine: {
5152
+ type: string;
5153
+ protocol: string;
5154
+ config: {
5155
+ endpoint: string;
5156
+ version: string;
5157
+ capabilities: string[];
5158
+ };
5159
+ runtime?: never;
5160
+ entrypoint?: never;
5161
+ function?: never;
5162
+ url?: never;
5163
+ method?: never;
5164
+ auth?: never;
5165
+ };
5166
+ metadata: {
5167
+ purpose: string;
5168
+ experimental: boolean;
5169
+ maintainer?: never;
5170
+ framework?: never;
5171
+ version?: never;
5172
+ model?: never;
5173
+ deployment?: never;
5174
+ cost_per_invocation?: never;
5175
+ currency?: never;
5176
+ max_tokens?: never;
5177
+ ide?: never;
5178
+ tool?: never;
5179
+ accepts_tools?: never;
5180
+ provider?: never;
5181
+ supported_languages?: never;
5182
+ max_chars_per_request?: never;
5183
+ };
5184
+ triggers: {
5185
+ type: string;
5186
+ cron: string;
5187
+ }[];
5188
+ knowledge_dependencies?: never;
5189
+ prompt_engine_requirements?: never;
5190
+ } | {
5191
+ id: string;
5192
+ engine: {
5193
+ type: string;
5194
+ runtime?: never;
5195
+ entrypoint?: never;
5196
+ function?: never;
5197
+ url?: never;
5198
+ method?: never;
5199
+ auth?: never;
5200
+ protocol?: never;
5201
+ config?: never;
5202
+ };
5203
+ status?: never;
5204
+ metadata?: never;
5205
+ triggers?: never;
5206
+ knowledge_dependencies?: never;
5207
+ prompt_engine_requirements?: never;
5208
+ } | {
5209
+ id: string;
5210
+ status: string;
5211
+ engine: {
5212
+ type: string;
5213
+ url: string;
5214
+ runtime?: never;
5215
+ entrypoint?: never;
5216
+ function?: never;
5217
+ method?: never;
5218
+ auth?: never;
5219
+ protocol?: never;
5220
+ config?: never;
5221
+ };
5222
+ knowledge_dependencies: string[];
5223
+ triggers: {
5224
+ type: string;
5225
+ }[];
5226
+ metadata?: never;
5227
+ prompt_engine_requirements?: never;
5228
+ } | {
5229
+ id: string;
5230
+ status: string;
5231
+ engine: {
5232
+ type: string;
5233
+ runtime: string;
5234
+ entrypoint: string;
5235
+ function: string;
5236
+ url?: never;
5237
+ method?: never;
5238
+ auth?: never;
5239
+ protocol?: never;
5240
+ config?: never;
5241
+ };
5242
+ prompt_engine_requirements: {
5243
+ roles: string[];
5244
+ skills: string[];
5245
+ };
5246
+ knowledge_dependencies: string[];
5247
+ triggers: {
5248
+ type: string;
5249
+ event: string;
5250
+ filter: string;
5251
+ }[];
5252
+ metadata?: never;
5253
+ })[];
3957
5254
  } | {
3958
5255
  $schema: string;
3959
5256
  $id: string;
@@ -3966,27 +5263,16 @@ declare function getSchema(name: SchemaName): {
3966
5263
  id: {
3967
5264
  type: string;
3968
5265
  pattern: string;
5266
+ maxLength: number;
3969
5267
  description: string;
3970
- };
3971
- entityType: {
3972
- type: string;
3973
- enum: string[];
3974
- description: string;
3975
- };
3976
- entityId: {
3977
- type: string;
3978
- description: string;
3979
- };
3980
- changeType: {
3981
- type: string;
3982
- enum: string[];
3983
- description: string;
5268
+ examples: string[];
3984
5269
  };
3985
5270
  title: {
3986
5271
  type: string;
3987
5272
  minLength: number;
3988
5273
  maxLength: number;
3989
5274
  description: string;
5275
+ examples: string[];
3990
5276
  };
3991
5277
  description: {
3992
5278
  type: string;
@@ -3994,145 +5280,104 @@ declare function getSchema(name: SchemaName): {
3994
5280
  maxLength: number;
3995
5281
  description: string;
3996
5282
  };
3997
- timestamp: {
3998
- type: string;
3999
- minimum: number;
4000
- description: string;
4001
- };
4002
- trigger: {
4003
- type: string;
4004
- enum: string[];
4005
- description: string;
4006
- };
4007
- triggeredBy: {
5283
+ relatedTasks: {
4008
5284
  type: string;
5285
+ items: {
5286
+ type: string;
5287
+ pattern: string;
5288
+ };
5289
+ minItems: number;
4009
5290
  description: string;
4010
5291
  };
4011
- reason: {
5292
+ completedAt: {
4012
5293
  type: string;
4013
- minLength: number;
4014
- maxLength: number;
5294
+ minimum: number;
4015
5295
  description: string;
4016
5296
  };
4017
- riskLevel: {
5297
+ relatedCycles: {
4018
5298
  type: string;
4019
- enum: string[];
5299
+ items: {
5300
+ type: string;
5301
+ pattern: string;
5302
+ };
5303
+ default: never[];
4020
5304
  description: string;
4021
5305
  };
4022
- affectedSystems: {
5306
+ relatedExecutions: {
4023
5307
  type: string;
4024
5308
  items: {
4025
5309
  type: string;
5310
+ pattern: string;
4026
5311
  };
5312
+ default: never[];
4027
5313
  description: string;
4028
5314
  };
4029
- usersAffected: {
5315
+ version: {
4030
5316
  type: string;
4031
- minimum: number;
5317
+ minLength: number;
5318
+ maxLength: number;
4032
5319
  description: string;
5320
+ examples: string[];
4033
5321
  };
4034
- downtime: {
5322
+ tags: {
4035
5323
  type: string;
4036
- minimum: number;
5324
+ items: {
5325
+ type: string;
5326
+ pattern: string;
5327
+ };
5328
+ default: never[];
4037
5329
  description: string;
4038
5330
  };
4039
- files: {
5331
+ commits: {
4040
5332
  type: string;
4041
5333
  items: {
4042
5334
  type: string;
5335
+ maxLength: number;
4043
5336
  };
5337
+ default: never[];
4044
5338
  description: string;
4045
5339
  };
4046
- commits: {
5340
+ files: {
4047
5341
  type: string;
4048
5342
  items: {
4049
5343
  type: string;
5344
+ maxLength: number;
4050
5345
  };
5346
+ default: never[];
4051
5347
  description: string;
4052
5348
  };
4053
- rollbackInstructions: {
5349
+ notes: {
4054
5350
  type: string;
4055
- minLength: number;
4056
5351
  maxLength: number;
4057
5352
  description: string;
4058
5353
  };
4059
- references: {
4060
- type: string;
4061
- additionalProperties: boolean;
4062
- properties: {
4063
- tasks: {
4064
- type: string;
4065
- items: {
4066
- type: string;
4067
- };
4068
- description: string;
4069
- };
4070
- cycles: {
4071
- type: string;
4072
- items: {
4073
- type: string;
4074
- };
4075
- description: string;
4076
- };
4077
- executions: {
4078
- type: string;
4079
- items: {
4080
- type: string;
4081
- };
4082
- description: string;
4083
- };
4084
- changelogs: {
4085
- type: string;
4086
- items: {
4087
- type: string;
4088
- };
4089
- description: string;
4090
- };
4091
- };
4092
- description: string;
4093
- };
4094
5354
  };
4095
5355
  examples: ({
4096
5356
  id: string;
4097
- entityType: string;
4098
- entityId: string;
4099
- changeType: string;
4100
5357
  title: string;
4101
5358
  description: string;
4102
- timestamp: number;
4103
- trigger: string;
4104
- triggeredBy: string;
4105
- reason: string;
4106
- riskLevel: string;
4107
- files: string[];
5359
+ relatedTasks: string[];
5360
+ completedAt: number;
5361
+ relatedCycles: string[];
5362
+ relatedExecutions: string[];
5363
+ version: string;
5364
+ tags: string[];
4108
5365
  commits: string[];
4109
- references: {
4110
- tasks: string[];
4111
- executions: string[];
4112
- };
4113
- affectedSystems?: never;
4114
- usersAffected?: never;
4115
- downtime?: never;
4116
- rollbackInstructions?: never;
5366
+ files: string[];
5367
+ notes: string;
4117
5368
  } | {
4118
5369
  id: string;
4119
- entityType: string;
4120
- entityId: string;
4121
- changeType: string;
4122
5370
  title: string;
4123
5371
  description: string;
4124
- timestamp: number;
4125
- trigger: string;
4126
- triggeredBy: string;
4127
- reason: string;
4128
- riskLevel: string;
4129
- affectedSystems: string[];
4130
- usersAffected: number;
4131
- downtime: number;
4132
- rollbackInstructions: string;
5372
+ relatedTasks: string[];
5373
+ completedAt: number;
5374
+ version: string;
5375
+ tags: string[];
4133
5376
  commits: string[];
5377
+ notes: string;
5378
+ relatedCycles?: never;
5379
+ relatedExecutions?: never;
4134
5380
  files?: never;
4135
- references?: never;
4136
5381
  })[];
4137
5382
  } | {
4138
5383
  $schema: string;
@@ -4146,13 +5391,16 @@ declare function getSchema(name: SchemaName): {
4146
5391
  id: {
4147
5392
  type: string;
4148
5393
  pattern: string;
5394
+ maxLength: number;
4149
5395
  description: string;
5396
+ examples: string[];
4150
5397
  };
4151
5398
  title: {
4152
5399
  type: string;
4153
5400
  minLength: number;
4154
5401
  maxLength: number;
4155
5402
  description: string;
5403
+ examples: string[];
4156
5404
  };
4157
5405
  status: {
4158
5406
  type: string;
@@ -4164,39 +5412,58 @@ declare function getSchema(name: SchemaName): {
4164
5412
  items: {
4165
5413
  type: string;
4166
5414
  pattern: string;
5415
+ maxLength: number;
4167
5416
  };
5417
+ default: never[];
5418
+ description: string;
5419
+ examples: string[][];
4168
5420
  };
4169
5421
  childCycleIds: {
4170
5422
  type: string;
4171
5423
  items: {
4172
5424
  type: string;
4173
5425
  pattern: string;
5426
+ maxLength: number;
4174
5427
  };
5428
+ default: never[];
4175
5429
  description: string;
5430
+ examples: string[][];
4176
5431
  };
4177
5432
  tags: {
4178
5433
  type: string;
4179
5434
  items: {
4180
5435
  type: string;
4181
5436
  pattern: string;
5437
+ maxLength: number;
4182
5438
  };
4183
5439
  default: never[];
4184
5440
  description: string;
5441
+ examples: string[][];
4185
5442
  };
4186
5443
  notes: {
4187
5444
  type: string;
5445
+ minLength: number;
4188
5446
  maxLength: number;
4189
5447
  description: string;
4190
5448
  };
4191
5449
  };
4192
- examples: {
5450
+ examples: ({
4193
5451
  id: string;
4194
5452
  title: string;
4195
5453
  status: string;
4196
5454
  taskIds: string[];
4197
5455
  tags: string[];
4198
5456
  notes: string;
4199
- }[];
5457
+ childCycleIds?: never;
5458
+ } | {
5459
+ id: string;
5460
+ title: string;
5461
+ status: string;
5462
+ childCycleIds: string[];
5463
+ tags: string[];
5464
+ notes: string;
5465
+ taskIds?: never;
5466
+ })[];
4200
5467
  } | {
4201
5468
  $schema: string;
4202
5469
  $id: string;
@@ -4239,35 +5506,37 @@ declare function getSchema(name: SchemaName): {
4239
5506
  properties: {
4240
5507
  keyId: {
4241
5508
  type: string;
5509
+ pattern: string;
4242
5510
  description: string;
4243
5511
  };
4244
5512
  role: {
4245
5513
  type: string;
5514
+ pattern: string;
5515
+ minLength: number;
5516
+ maxLength: number;
4246
5517
  description: string;
4247
5518
  };
4248
- signature: {
5519
+ notes: {
4249
5520
  type: string;
5521
+ minLength: number;
5522
+ maxLength: number;
4250
5523
  description: string;
4251
5524
  };
4252
- timestamp: {
5525
+ signature: {
4253
5526
  type: string;
5527
+ pattern: string;
4254
5528
  description: string;
4255
5529
  };
4256
- timestamp_iso: {
5530
+ timestamp: {
4257
5531
  type: string;
4258
5532
  description: string;
4259
5533
  };
4260
5534
  };
4261
5535
  required: string[];
5536
+ additionalProperties: boolean;
4262
5537
  };
4263
5538
  description: string;
4264
5539
  };
4265
- audit: {
4266
- type: string;
4267
- minLength: number;
4268
- maxLength: number;
4269
- description: string;
4270
- };
4271
5540
  };
4272
5541
  required: string[];
4273
5542
  additionalProperties: boolean;
@@ -4325,7 +5594,7 @@ declare function getSchema(name: SchemaName): {
4325
5594
  };
4326
5595
  else: boolean;
4327
5596
  })[];
4328
- examples: {
5597
+ examples: ({
4329
5598
  header: {
4330
5599
  version: string;
4331
5600
  type: string;
@@ -4333,9 +5602,9 @@ declare function getSchema(name: SchemaName): {
4333
5602
  signatures: {
4334
5603
  keyId: string;
4335
5604
  role: string;
5605
+ notes: string;
4336
5606
  signature: string;
4337
5607
  timestamp: number;
4338
- timestamp_iso: string;
4339
5608
  }[];
4340
5609
  };
4341
5610
  payload: {
@@ -4344,8 +5613,69 @@ declare function getSchema(name: SchemaName): {
4344
5613
  priority: string;
4345
5614
  description: string;
4346
5615
  tags: string[];
5616
+ taskId?: never;
5617
+ type?: never;
5618
+ title?: never;
5619
+ result?: never;
5620
+ displayName?: never;
5621
+ publicKey?: never;
5622
+ roles?: never;
4347
5623
  };
4348
- }[];
5624
+ } | {
5625
+ header: {
5626
+ version: string;
5627
+ type: string;
5628
+ payloadChecksum: string;
5629
+ signatures: {
5630
+ keyId: string;
5631
+ role: string;
5632
+ notes: string;
5633
+ signature: string;
5634
+ timestamp: number;
5635
+ }[];
5636
+ };
5637
+ payload: {
5638
+ id: string;
5639
+ taskId: string;
5640
+ type: string;
5641
+ title: string;
5642
+ result: string;
5643
+ status?: never;
5644
+ priority?: never;
5645
+ description?: never;
5646
+ tags?: never;
5647
+ displayName?: never;
5648
+ publicKey?: never;
5649
+ roles?: never;
5650
+ };
5651
+ } | {
5652
+ header: {
5653
+ version: string;
5654
+ type: string;
5655
+ payloadChecksum: string;
5656
+ signatures: {
5657
+ keyId: string;
5658
+ role: string;
5659
+ notes: string;
5660
+ signature: string;
5661
+ timestamp: number;
5662
+ }[];
5663
+ };
5664
+ payload: {
5665
+ id: string;
5666
+ type: string;
5667
+ displayName: string;
5668
+ publicKey: string;
5669
+ roles: string[];
5670
+ status?: never;
5671
+ priority?: never;
5672
+ description?: never;
5673
+ tags?: never;
5674
+ taskId?: never;
5675
+ title?: never;
5676
+ result?: never;
5677
+ };
5678
+ })[];
4349
5679
  } | {
4350
5680
  $schema: string;
4351
5681
  $id: string;
@@ -4376,6 +5706,7 @@ declare function getSchema(name: SchemaName): {
4376
5706
  };
4377
5707
  title: {
4378
5708
  type: string;
5709
+ minLength: number;
4379
5710
  maxLength: number;
4380
5711
  description: string;
4381
5712
  examples: string[];
@@ -4397,6 +5728,7 @@ declare function getSchema(name: SchemaName): {
4397
5728
  type: string;
4398
5729
  maxLength: number;
4399
5730
  };
5731
+ default: never[];
4400
5732
  description: string;
4401
5733
  };
4402
5734
  };
@@ -4421,7 +5753,9 @@ declare function getSchema(name: SchemaName): {
4421
5753
  id: {
4422
5754
  type: string;
4423
5755
  pattern: string;
5756
+ maxLength: number;
4424
5757
  description: string;
5758
+ examples: string[];
4425
5759
  };
4426
5760
  entityType: {
4427
5761
  type: string;
@@ -4430,12 +5764,16 @@ declare function getSchema(name: SchemaName): {
4430
5764
  };
4431
5765
  entityId: {
4432
5766
  type: string;
5767
+ minLength: number;
5768
+ maxLength: number;
4433
5769
  description: string;
5770
+ examples: string[];
4434
5771
  };
4435
5772
  type: {
4436
5773
  type: string;
4437
5774
  enum: string[];
4438
5775
  description: string;
5776
+ examples: string[];
4439
5777
  };
4440
5778
  status: {
4441
5779
  type: string;
@@ -4450,21 +5788,47 @@ declare function getSchema(name: SchemaName): {
4450
5788
  };
4451
5789
  assignee: {
4452
5790
  type: string;
5791
+ pattern: string;
5792
+ maxLength: number;
4453
5793
  description: string;
5794
+ examples: string[];
4454
5795
  };
4455
5796
  resolvesFeedbackId: {
4456
5797
  type: string;
5798
+ pattern: string;
5799
+ maxLength: number;
4457
5800
  description: string;
5801
+ examples: string[];
4458
5802
  };
4459
5803
  };
4460
- examples: {
5804
+ examples: ({
4461
5805
  id: string;
4462
5806
  entityType: string;
4463
5807
  entityId: string;
4464
5808
  type: string;
4465
5809
  status: string;
4466
5810
  content: string;
4467
- }[];
5811
+ resolvesFeedbackId?: never;
5812
+ assignee?: never;
5813
+ } | {
5814
+ id: string;
5815
+ entityType: string;
5816
+ entityId: string;
5817
+ type: string;
5818
+ status: string;
5819
+ content: string;
5820
+ resolvesFeedbackId: string;
5821
+ assignee?: never;
5822
+ } | {
5823
+ id: string;
5824
+ entityType: string;
5825
+ entityId: string;
5826
+ type: string;
5827
+ status: string;
5828
+ content: string;
5829
+ assignee: string;
5830
+ resolvesFeedbackId?: never;
5831
+ })[];
4468
5832
  } | {
4469
5833
  $schema: string;
4470
5834
  $id: string;
@@ -4491,8 +5855,11 @@ declare function getSchema(name: SchemaName): {
4491
5855
  type: string;
4492
5856
  items: {
4493
5857
  type: string;
5858
+ minLength: number;
4494
5859
  pattern: string;
5860
+ maxLength: number;
4495
5861
  };
5862
+ default: never[];
4496
5863
  description: string;
4497
5864
  };
4498
5865
  status: {
@@ -4517,30 +5884,50 @@ declare function getSchema(name: SchemaName): {
4517
5884
  type: string;
4518
5885
  items: {
4519
5886
  type: string;
5887
+ minLength: number;
4520
5888
  pattern: string;
4521
5889
  };
5890
+ default: never[];
4522
5891
  description: string;
4523
5892
  };
4524
5893
  references: {
4525
5894
  type: string;
4526
5895
  items: {
4527
5896
  type: string;
5897
+ minLength: number;
4528
5898
  maxLength: number;
4529
5899
  };
5900
+ default: never[];
4530
5901
  description: string;
4531
5902
  };
4532
5903
  notes: {
4533
5904
  type: string;
5905
+ minLength: number;
4534
5906
  maxLength: number;
4535
5907
  description: string;
4536
5908
  };
4537
5909
  };
4538
- examples: {
5910
+ examples: ({
4539
5911
  id: string;
5912
+ title: string;
4540
5913
  status: string;
4541
5914
  priority: string;
4542
5915
  description: string;
4543
- }[];
5916
+ cycleIds: string[];
5917
+ tags: string[];
5918
+ references: string[];
5919
+ notes: string;
5920
+ } | {
5921
+ id: string;
5922
+ title: string;
5923
+ status: string;
5924
+ priority: string;
5925
+ description: string;
5926
+ cycleIds: never[];
5927
+ tags: string[];
5928
+ references: never[];
5929
+ notes?: never;
5930
+ })[];
4544
5931
  } | {
4545
5932
  $schema: string;
4546
5933
  $id: string;
@@ -4733,6 +6120,9 @@ declare function getSchema(name: SchemaName): {
4733
6120
  items: {
4734
6121
  type: string;
4735
6122
  required: string[];
6123
+ anyOf: {
6124
+ required: string[];
6125
+ }[];
4736
6126
  additionalProperties: boolean;
4737
6127
  properties: {
4738
6128
  id: {
@@ -4740,9 +6130,13 @@ declare function getSchema(name: SchemaName): {
4740
6130
  pattern: string;
4741
6131
  description: string;
4742
6132
  };
4743
- gremio: {
6133
+ required_roles: {
4744
6134
  type: string;
4745
- enum: string[];
6135
+ items: {
6136
+ type: string;
6137
+ pattern: string;
6138
+ };
6139
+ minItems: number;
4746
6140
  description: string;
4747
6141
  };
4748
6142
  engine: {
@@ -4861,6 +6255,187 @@ declare function getSchema(name: SchemaName): {
4861
6255
  };
4862
6256
  };
4863
6257
  };
6258
+ examples: ({
6259
+ version: string;
6260
+ name: string;
6261
+ description: string;
6262
+ state_transitions: {
6263
+ review: {
6264
+ from: string[];
6265
+ requires: {
6266
+ command: string;
6267
+ signatures?: never;
6268
+ };
6269
+ };
6270
+ ready: {
6271
+ from: string[];
6272
+ requires: {
6273
+ command: string;
6274
+ signatures: {
6275
+ __default__: {
6276
+ role: string;
6277
+ capability_roles: string[];
6278
+ min_approvals: number;
6279
+ };
6280
+ design?: never;
6281
+ quality?: never;
6282
+ };
6283
+ };
6284
+ };
6285
+ active: {
6286
+ from: string[];
6287
+ requires: {
6288
+ event: string;
6289
+ custom_rules?: never;
6290
+ };
6291
+ };
6292
+ done: {
6293
+ from: string[];
6294
+ requires: {
6295
+ command: string;
6296
+ signatures?: never;
6297
+ };
6298
+ };
6299
+ archived?: never;
6300
+ paused?: never;
6301
+ discarded?: never;
6302
+ };
6303
+ view_configs: {
6304
+ "kanban-3col": {
6305
+ columns: {
6306
+ "To Do": string[];
6307
+ "In Progress": string[];
6308
+ Done: string[];
6309
+ };
6310
+ theme: string;
6311
+ layout: string;
6312
+ };
6313
+ "kanban-4col"?: never;
6314
+ "kanban-7col"?: never;
6315
+ };
6316
+ custom_rules?: never;
6317
+ } | {
6318
+ version: string;
6319
+ name: string;
6320
+ description: string;
6321
+ state_transitions: {
6322
+ review: {
6323
+ from: string[];
6324
+ requires: {
6325
+ command: string;
6326
+ signatures: {
6327
+ __default__: {
6328
+ role: string;
6329
+ capability_roles: string[];
6330
+ min_approvals: number;
6331
+ };
6332
+ };
6333
+ };
6334
+ };
6335
+ ready: {
6336
+ from: string[];
6337
+ requires: {
6338
+ command: string;
6339
+ signatures: {
6340
+ __default__: {
6341
+ role: string;
6342
+ capability_roles: string[];
6343
+ min_approvals: number;
6344
+ };
6345
+ design: {
6346
+ role: string;
6347
+ capability_roles: string[];
6348
+ min_approvals: number;
6349
+ };
6350
+ quality: {
6351
+ role: string;
6352
+ capability_roles: string[];
6353
+ min_approvals: number;
6354
+ };
6355
+ };
6356
+ };
6357
+ };
6358
+ active: {
6359
+ from: string[];
6360
+ requires: {
6361
+ event: string;
6362
+ custom_rules: string[];
6363
+ };
6364
+ };
6365
+ done: {
6366
+ from: string[];
6367
+ requires: {
6368
+ command: string;
6369
+ signatures: {
6370
+ __default__: {
6371
+ role: string;
6372
+ capability_roles: string[];
6373
+ min_approvals: number;
6374
+ };
6375
+ };
6376
+ };
6377
+ };
6378
+ archived: {
6379
+ from: string[];
6380
+ requires: {
6381
+ event: string;
6382
+ };
6383
+ };
6384
+ paused: {
6385
+ from: string[];
6386
+ requires: {
6387
+ event: string;
6388
+ };
6389
+ };
6390
+ discarded: {
6391
+ from: string[];
6392
+ requires: {
6393
+ command: string;
6394
+ signatures: {
6395
+ __default__: {
6396
+ role: string;
6397
+ capability_roles: string[];
6398
+ min_approvals: number;
6399
+ };
6400
+ };
6401
+ };
6402
+ };
6403
+ };
6404
+ custom_rules: {
6405
+ task_must_have_valid_assignment_for_executor: {
6406
+ description: string;
6407
+ validation: string;
6408
+ };
6409
+ };
6410
+ view_configs: {
6411
+ "kanban-4col": {
6412
+ columns: {
6413
+ Draft: string[];
6414
+ "In Progress": string[];
6415
+ Review: string[];
6416
+ Done: string[];
6417
+ Cancelled: string[];
6418
+ };
6419
+ theme: string;
6420
+ layout: string;
6421
+ };
6422
+ "kanban-7col": {
6423
+ columns: {
6424
+ Draft: string[];
6425
+ Review: string[];
6426
+ Ready: string[];
6427
+ Active: string[];
6428
+ Done: string[];
6429
+ Archived: string[];
6430
+ Blocked: string[];
6431
+ Cancelled: string[];
6432
+ };
6433
+ theme: string;
6434
+ layout: string;
6435
+ };
6436
+ "kanban-3col"?: never;
6437
+ };
6438
+ })[];
4864
6439
  };
4865
6440
  /**
4866
6441
  * Get all schema names
@@ -4924,12 +6499,12 @@ declare class SchemaValidationError extends Error {
4924
6499
  * Error for detailed AJV validation failures with multiple field errors.
4925
6500
  */
4926
6501
  declare class DetailedValidationError extends GitGovError {
4927
- readonly ajvErrors: Array<{
6502
+ readonly errors: Array<{
4928
6503
  field: string;
4929
6504
  message: string;
4930
6505
  value: unknown;
4931
6506
  }>;
4932
- constructor(recordType: string, ajvErrors: Array<{
6507
+ constructor(recordType: string, errors: Array<{
4933
6508
  field: string;
4934
6509
  message: string;
4935
6510
  value: unknown;