gru-ai 0.1.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.
Files changed (143) hide show
  1. package/.claude/skills/brainstorm/SKILL.md +340 -0
  2. package/.claude/skills/code-review-excellence/SKILL.md +198 -0
  3. package/.claude/skills/directive/SKILL.md +121 -0
  4. package/.claude/skills/directive/docs/pipeline/00-delegation-and-triage.md +181 -0
  5. package/.claude/skills/directive/docs/pipeline/01-checkpoint.md +34 -0
  6. package/.claude/skills/directive/docs/pipeline/02-read-directive.md +38 -0
  7. package/.claude/skills/directive/docs/pipeline/03-read-context.md +15 -0
  8. package/.claude/skills/directive/docs/pipeline/04-challenge.md +38 -0
  9. package/.claude/skills/directive/docs/pipeline/05-planning.md +64 -0
  10. package/.claude/skills/directive/docs/pipeline/06-technical-audit.md +88 -0
  11. package/.claude/skills/directive/docs/pipeline/07-plan-approval.md +145 -0
  12. package/.claude/skills/directive/docs/pipeline/07b-project-brainstorm.md +85 -0
  13. package/.claude/skills/directive/docs/pipeline/08-worktree-and-state.md +50 -0
  14. package/.claude/skills/directive/docs/pipeline/09-execute-projects.md +709 -0
  15. package/.claude/skills/directive/docs/pipeline/10-wrapup.md +242 -0
  16. package/.claude/skills/directive/docs/pipeline/11-completion-gate.md +75 -0
  17. package/.claude/skills/directive/docs/reference/rules/casting-rules.md +78 -0
  18. package/.claude/skills/directive/docs/reference/rules/failure-handling.md +20 -0
  19. package/.claude/skills/directive/docs/reference/rules/phase-definitions.md +42 -0
  20. package/.claude/skills/directive/docs/reference/rules/scope-and-dod.md +30 -0
  21. package/.claude/skills/directive/docs/reference/schemas/audit-output.md +44 -0
  22. package/.claude/skills/directive/docs/reference/schemas/brainstorm-output.md +52 -0
  23. package/.claude/skills/directive/docs/reference/schemas/challenger-output.md +13 -0
  24. package/.claude/skills/directive/docs/reference/schemas/checkpoint.md +18 -0
  25. package/.claude/skills/directive/docs/reference/schemas/current-json.md +5 -0
  26. package/.claude/skills/directive/docs/reference/schemas/directive-json.md +143 -0
  27. package/.claude/skills/directive/docs/reference/schemas/investigation-output.md +37 -0
  28. package/.claude/skills/directive/docs/reference/schemas/plan-schema.md +103 -0
  29. package/.claude/skills/directive/docs/reference/templates/architect-prompt.md +66 -0
  30. package/.claude/skills/directive/docs/reference/templates/auditor-prompt.md +53 -0
  31. package/.claude/skills/directive/docs/reference/templates/brainstorm-prompt.md +68 -0
  32. package/.claude/skills/directive/docs/reference/templates/challenger-prompt.md +35 -0
  33. package/.claude/skills/directive/docs/reference/templates/digest.md +134 -0
  34. package/.claude/skills/directive/docs/reference/templates/investigator-prompt.md +51 -0
  35. package/.claude/skills/directive/docs/reference/templates/planner-prompt.md +130 -0
  36. package/.claude/skills/frontend-design/SKILL.md +42 -0
  37. package/.claude/skills/gruai-agents/SKILL.md +161 -0
  38. package/.claude/skills/gruai-config/SKILL.md +61 -0
  39. package/.claude/skills/healthcheck/SKILL.md +216 -0
  40. package/.claude/skills/report/SKILL.md +380 -0
  41. package/.claude/skills/scout/SKILL.md +452 -0
  42. package/.claude/skills/seo-audit/SKILL.md +107 -0
  43. package/.claude/skills/walkthrough/SKILL.md +274 -0
  44. package/.claude/skills/webapp-testing/SKILL.md +96 -0
  45. package/LICENSE +21 -0
  46. package/README.md +206 -0
  47. package/cli/templates/CLAUDE.md.template +57 -0
  48. package/cli/templates/agent-roles/backend.md +47 -0
  49. package/cli/templates/agent-roles/cmo.md +52 -0
  50. package/cli/templates/agent-roles/content.md +48 -0
  51. package/cli/templates/agent-roles/coo.md +66 -0
  52. package/cli/templates/agent-roles/cpo.md +52 -0
  53. package/cli/templates/agent-roles/cto.md +63 -0
  54. package/cli/templates/agent-roles/data.md +46 -0
  55. package/cli/templates/agent-roles/design.md +46 -0
  56. package/cli/templates/agent-roles/frontend.md +47 -0
  57. package/cli/templates/agent-roles/fullstack.md +47 -0
  58. package/cli/templates/agent-roles/qa.md +46 -0
  59. package/cli/templates/backlog.json.template +3 -0
  60. package/cli/templates/directive.json.template +9 -0
  61. package/cli/templates/directive.md.template +23 -0
  62. package/cli/templates/goals-index.md +21 -0
  63. package/cli/templates/gruai.config.json.template +12 -0
  64. package/cli/templates/lessons.md +16 -0
  65. package/cli/templates/vision.md +35 -0
  66. package/cli/templates/welcome-directive/directive.json +9 -0
  67. package/cli/templates/welcome-directive/directive.md +53 -0
  68. package/dist/assets/GamePage-C5XQQOQH.js +49 -0
  69. package/dist/assets/README.md +17 -0
  70. package/dist/assets/characters/char_0.png +0 -0
  71. package/dist/assets/characters/char_1.png +0 -0
  72. package/dist/assets/characters/char_10.png +0 -0
  73. package/dist/assets/characters/char_11.png +0 -0
  74. package/dist/assets/characters/char_2.png +0 -0
  75. package/dist/assets/characters/char_3.png +0 -0
  76. package/dist/assets/characters/char_4.png +0 -0
  77. package/dist/assets/characters/char_5.png +0 -0
  78. package/dist/assets/characters/char_6.png +0 -0
  79. package/dist/assets/characters/char_7.png +0 -0
  80. package/dist/assets/characters/char_8.png +0 -0
  81. package/dist/assets/characters/char_9.png +0 -0
  82. package/dist/assets/index-CnTPDqpP.js +12 -0
  83. package/dist/assets/index-gR5q7ikB.css +1 -0
  84. package/dist/assets/office/furniture.png +0 -0
  85. package/dist/assets/office/room-builder.png +0 -0
  86. package/dist/index.html +16 -0
  87. package/dist-server/scripts/intelligence-trends.d.ts +100 -0
  88. package/dist-server/scripts/intelligence-trends.js +365 -0
  89. package/dist-server/server/actions/cleanup.d.ts +4 -0
  90. package/dist-server/server/actions/cleanup.js +30 -0
  91. package/dist-server/server/actions/send-input.d.ts +6 -0
  92. package/dist-server/server/actions/send-input.js +147 -0
  93. package/dist-server/server/actions/terminal.d.ts +4 -0
  94. package/dist-server/server/actions/terminal.js +427 -0
  95. package/dist-server/server/config.d.ts +9 -0
  96. package/dist-server/server/config.js +217 -0
  97. package/dist-server/server/db.d.ts +7 -0
  98. package/dist-server/server/db.js +79 -0
  99. package/dist-server/server/hooks/event-receiver.d.ts +11 -0
  100. package/dist-server/server/hooks/event-receiver.js +36 -0
  101. package/dist-server/server/index.d.ts +1 -0
  102. package/dist-server/server/index.js +552 -0
  103. package/dist-server/server/notifications/macos.d.ts +5 -0
  104. package/dist-server/server/notifications/macos.js +22 -0
  105. package/dist-server/server/notifications/notifier.d.ts +17 -0
  106. package/dist-server/server/notifications/notifier.js +110 -0
  107. package/dist-server/server/parsers/process-discovery.d.ts +39 -0
  108. package/dist-server/server/parsers/process-discovery.js +776 -0
  109. package/dist-server/server/parsers/session-scanner.d.ts +56 -0
  110. package/dist-server/server/parsers/session-scanner.js +390 -0
  111. package/dist-server/server/parsers/session-state.d.ts +68 -0
  112. package/dist-server/server/parsers/session-state.js +696 -0
  113. package/dist-server/server/parsers/session-state.test.d.ts +1 -0
  114. package/dist-server/server/parsers/session-state.test.js +950 -0
  115. package/dist-server/server/parsers/task-parser.d.ts +10 -0
  116. package/dist-server/server/parsers/task-parser.js +97 -0
  117. package/dist-server/server/parsers/team-parser.d.ts +3 -0
  118. package/dist-server/server/parsers/team-parser.js +67 -0
  119. package/dist-server/server/platform/__tests__/claude-code.test.d.ts +1 -0
  120. package/dist-server/server/platform/__tests__/claude-code.test.js +311 -0
  121. package/dist-server/server/platform/claude-code.d.ts +34 -0
  122. package/dist-server/server/platform/claude-code.js +94 -0
  123. package/dist-server/server/platform/index.d.ts +5 -0
  124. package/dist-server/server/platform/index.js +1 -0
  125. package/dist-server/server/platform/types.d.ts +190 -0
  126. package/dist-server/server/platform/types.js +9 -0
  127. package/dist-server/server/state/aggregator.d.ts +42 -0
  128. package/dist-server/server/state/aggregator.js +1080 -0
  129. package/dist-server/server/state/work-item-types.d.ts +555 -0
  130. package/dist-server/server/state/work-item-types.js +168 -0
  131. package/dist-server/server/types.d.ts +237 -0
  132. package/dist-server/server/types.js +1 -0
  133. package/dist-server/server/watchers/claude-watcher.d.ts +17 -0
  134. package/dist-server/server/watchers/claude-watcher.js +130 -0
  135. package/dist-server/server/watchers/context-watcher.d.ts +22 -0
  136. package/dist-server/server/watchers/context-watcher.js +125 -0
  137. package/dist-server/server/watchers/directive-watcher.d.ts +46 -0
  138. package/dist-server/server/watchers/directive-watcher.js +497 -0
  139. package/dist-server/server/watchers/session-watcher.d.ts +18 -0
  140. package/dist-server/server/watchers/session-watcher.js +126 -0
  141. package/dist-server/server/watchers/state-watcher.d.ts +36 -0
  142. package/dist-server/server/watchers/state-watcher.js +369 -0
  143. package/package.json +68 -0
@@ -0,0 +1,555 @@
1
+ /**
2
+ * Structured work item types for the conductor state system.
3
+ *
4
+ * These types replace free-form markdown as the queryable source of truth.
5
+ * The indexer (scripts/index-state.ts) reads .context/ and produces JSON
6
+ * arrays of these records. The dashboard watches and serves them.
7
+ */
8
+ import { z } from 'zod';
9
+ export declare const WorkItemType: z.ZodEnum<{
10
+ feature: "feature";
11
+ task: "task";
12
+ "backlog-item": "backlog-item";
13
+ directive: "directive";
14
+ report: "report";
15
+ discussion: "discussion";
16
+ research: "research";
17
+ }>;
18
+ export type WorkItemType = z.infer<typeof WorkItemType>;
19
+ export declare const LifecycleState: z.ZodEnum<{
20
+ pending: "pending";
21
+ in_progress: "in_progress";
22
+ completed: "completed";
23
+ blocked: "blocked";
24
+ deferred: "deferred";
25
+ abandoned: "abandoned";
26
+ }>;
27
+ export type LifecycleState = z.infer<typeof LifecycleState>;
28
+ export declare const Priority: z.ZodEnum<{
29
+ P0: "P0";
30
+ P1: "P1";
31
+ P2: "P2";
32
+ }>;
33
+ export type Priority = z.infer<typeof Priority>;
34
+ export declare const BaseWorkItem: z.ZodObject<{
35
+ id: z.ZodString;
36
+ type: z.ZodEnum<{
37
+ feature: "feature";
38
+ task: "task";
39
+ "backlog-item": "backlog-item";
40
+ directive: "directive";
41
+ report: "report";
42
+ discussion: "discussion";
43
+ research: "research";
44
+ }>;
45
+ title: z.ZodString;
46
+ status: z.ZodEnum<{
47
+ pending: "pending";
48
+ in_progress: "in_progress";
49
+ completed: "completed";
50
+ blocked: "blocked";
51
+ deferred: "deferred";
52
+ abandoned: "abandoned";
53
+ }>;
54
+ parentId: z.ZodOptional<z.ZodString>;
55
+ category: z.ZodOptional<z.ZodString>;
56
+ createdAt: z.ZodString;
57
+ updatedAt: z.ZodString;
58
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
+ }, z.core.$strip>;
60
+ export type BaseWorkItem = z.infer<typeof BaseWorkItem>;
61
+ export declare const FeatureRecord: z.ZodObject<{
62
+ id: z.ZodString;
63
+ title: z.ZodString;
64
+ status: z.ZodEnum<{
65
+ pending: "pending";
66
+ in_progress: "in_progress";
67
+ completed: "completed";
68
+ blocked: "blocked";
69
+ deferred: "deferred";
70
+ abandoned: "abandoned";
71
+ }>;
72
+ parentId: z.ZodOptional<z.ZodString>;
73
+ createdAt: z.ZodString;
74
+ updatedAt: z.ZodString;
75
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
+ type: z.ZodLiteral<"feature">;
77
+ category: z.ZodOptional<z.ZodString>;
78
+ taskCount: z.ZodNumber;
79
+ completedTaskCount: z.ZodNumber;
80
+ hasSpec: z.ZodBoolean;
81
+ hasDesign: z.ZodBoolean;
82
+ specSummary: z.ZodOptional<z.ZodString>;
83
+ repoId: z.ZodOptional<z.ZodString>;
84
+ repoName: z.ZodOptional<z.ZodString>;
85
+ }, z.core.$strip>;
86
+ export type FeatureRecord = z.infer<typeof FeatureRecord>;
87
+ export declare const TaskRecord: z.ZodObject<{
88
+ id: z.ZodString;
89
+ title: z.ZodString;
90
+ status: z.ZodEnum<{
91
+ pending: "pending";
92
+ in_progress: "in_progress";
93
+ completed: "completed";
94
+ blocked: "blocked";
95
+ deferred: "deferred";
96
+ abandoned: "abandoned";
97
+ }>;
98
+ parentId: z.ZodOptional<z.ZodString>;
99
+ category: z.ZodOptional<z.ZodString>;
100
+ createdAt: z.ZodString;
101
+ updatedAt: z.ZodString;
102
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ type: z.ZodLiteral<"task">;
104
+ featureId: z.ZodString;
105
+ deps: z.ZodArray<z.ZodString>;
106
+ files: z.ZodArray<z.ZodString>;
107
+ role: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>;
109
+ export type TaskRecord = z.infer<typeof TaskRecord>;
110
+ export declare const BacklogRecord: z.ZodObject<{
111
+ id: z.ZodString;
112
+ title: z.ZodString;
113
+ status: z.ZodEnum<{
114
+ pending: "pending";
115
+ in_progress: "in_progress";
116
+ completed: "completed";
117
+ blocked: "blocked";
118
+ deferred: "deferred";
119
+ abandoned: "abandoned";
120
+ }>;
121
+ parentId: z.ZodOptional<z.ZodString>;
122
+ createdAt: z.ZodString;
123
+ updatedAt: z.ZodString;
124
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
125
+ type: z.ZodLiteral<"backlog-item">;
126
+ category: z.ZodOptional<z.ZodString>;
127
+ priority: z.ZodOptional<z.ZodEnum<{
128
+ P0: "P0";
129
+ P1: "P1";
130
+ P2: "P2";
131
+ }>>;
132
+ description: z.ZodOptional<z.ZodString>;
133
+ trigger: z.ZodOptional<z.ZodString>;
134
+ sourceContext: z.ZodOptional<z.ZodString>;
135
+ sourceDirective: z.ZodOptional<z.ZodString>;
136
+ repoId: z.ZodOptional<z.ZodString>;
137
+ repoName: z.ZodOptional<z.ZodString>;
138
+ }, z.core.$strip>;
139
+ export type BacklogRecord = z.infer<typeof BacklogRecord>;
140
+ export declare const DirectiveRecord: z.ZodObject<{
141
+ id: z.ZodString;
142
+ title: z.ZodString;
143
+ status: z.ZodEnum<{
144
+ pending: "pending";
145
+ in_progress: "in_progress";
146
+ completed: "completed";
147
+ blocked: "blocked";
148
+ deferred: "deferred";
149
+ abandoned: "abandoned";
150
+ }>;
151
+ parentId: z.ZodOptional<z.ZodString>;
152
+ createdAt: z.ZodString;
153
+ updatedAt: z.ZodString;
154
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
155
+ type: z.ZodLiteral<"directive">;
156
+ projects: z.ZodArray<z.ZodString>;
157
+ checkpoint: z.ZodOptional<z.ZodString>;
158
+ reportPath: z.ZodOptional<z.ZodString>;
159
+ weight: z.ZodOptional<z.ZodString>;
160
+ category: z.ZodOptional<z.ZodString>;
161
+ producedFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
+ report: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ backlogSources: z.ZodOptional<z.ZodArray<z.ZodString>>;
164
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
165
+ }, z.core.$strip>;
166
+ export type DirectiveRecord = z.infer<typeof DirectiveRecord>;
167
+ export declare const LessonRecord: z.ZodObject<{
168
+ id: z.ZodString;
169
+ title: z.ZodString;
170
+ filePath: z.ZodString;
171
+ contentSummary: z.ZodOptional<z.ZodString>;
172
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
173
+ updatedAt: z.ZodString;
174
+ }, z.core.$strip>;
175
+ export type LessonRecord = z.infer<typeof LessonRecord>;
176
+ export declare const ArtifactRecord: z.ZodObject<{
177
+ id: z.ZodString;
178
+ title: z.ZodString;
179
+ status: z.ZodEnum<{
180
+ pending: "pending";
181
+ in_progress: "in_progress";
182
+ completed: "completed";
183
+ blocked: "blocked";
184
+ deferred: "deferred";
185
+ abandoned: "abandoned";
186
+ }>;
187
+ parentId: z.ZodOptional<z.ZodString>;
188
+ category: z.ZodOptional<z.ZodString>;
189
+ createdAt: z.ZodString;
190
+ updatedAt: z.ZodString;
191
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
192
+ type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"report">, z.ZodLiteral<"discussion">]>, z.ZodLiteral<"research">]>;
193
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
+ sourceDirective: z.ZodOptional<z.ZodString>;
195
+ filePath: z.ZodString;
196
+ contentSummary: z.ZodOptional<z.ZodString>;
197
+ }, z.core.$strip>;
198
+ export type ArtifactRecord = z.infer<typeof ArtifactRecord>;
199
+ export declare const WorkItem: z.ZodDiscriminatedUnion<[z.ZodObject<{
200
+ id: z.ZodString;
201
+ title: z.ZodString;
202
+ status: z.ZodEnum<{
203
+ pending: "pending";
204
+ in_progress: "in_progress";
205
+ completed: "completed";
206
+ blocked: "blocked";
207
+ deferred: "deferred";
208
+ abandoned: "abandoned";
209
+ }>;
210
+ parentId: z.ZodOptional<z.ZodString>;
211
+ createdAt: z.ZodString;
212
+ updatedAt: z.ZodString;
213
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
214
+ type: z.ZodLiteral<"feature">;
215
+ category: z.ZodOptional<z.ZodString>;
216
+ taskCount: z.ZodNumber;
217
+ completedTaskCount: z.ZodNumber;
218
+ hasSpec: z.ZodBoolean;
219
+ hasDesign: z.ZodBoolean;
220
+ specSummary: z.ZodOptional<z.ZodString>;
221
+ repoId: z.ZodOptional<z.ZodString>;
222
+ repoName: z.ZodOptional<z.ZodString>;
223
+ }, z.core.$strip>, z.ZodObject<{
224
+ id: z.ZodString;
225
+ title: z.ZodString;
226
+ status: z.ZodEnum<{
227
+ pending: "pending";
228
+ in_progress: "in_progress";
229
+ completed: "completed";
230
+ blocked: "blocked";
231
+ deferred: "deferred";
232
+ abandoned: "abandoned";
233
+ }>;
234
+ parentId: z.ZodOptional<z.ZodString>;
235
+ category: z.ZodOptional<z.ZodString>;
236
+ createdAt: z.ZodString;
237
+ updatedAt: z.ZodString;
238
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
+ type: z.ZodLiteral<"task">;
240
+ featureId: z.ZodString;
241
+ deps: z.ZodArray<z.ZodString>;
242
+ files: z.ZodArray<z.ZodString>;
243
+ role: z.ZodOptional<z.ZodString>;
244
+ }, z.core.$strip>, z.ZodObject<{
245
+ id: z.ZodString;
246
+ title: z.ZodString;
247
+ status: z.ZodEnum<{
248
+ pending: "pending";
249
+ in_progress: "in_progress";
250
+ completed: "completed";
251
+ blocked: "blocked";
252
+ deferred: "deferred";
253
+ abandoned: "abandoned";
254
+ }>;
255
+ parentId: z.ZodOptional<z.ZodString>;
256
+ createdAt: z.ZodString;
257
+ updatedAt: z.ZodString;
258
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
259
+ type: z.ZodLiteral<"backlog-item">;
260
+ category: z.ZodOptional<z.ZodString>;
261
+ priority: z.ZodOptional<z.ZodEnum<{
262
+ P0: "P0";
263
+ P1: "P1";
264
+ P2: "P2";
265
+ }>>;
266
+ description: z.ZodOptional<z.ZodString>;
267
+ trigger: z.ZodOptional<z.ZodString>;
268
+ sourceContext: z.ZodOptional<z.ZodString>;
269
+ sourceDirective: z.ZodOptional<z.ZodString>;
270
+ repoId: z.ZodOptional<z.ZodString>;
271
+ repoName: z.ZodOptional<z.ZodString>;
272
+ }, z.core.$strip>, z.ZodObject<{
273
+ id: z.ZodString;
274
+ title: z.ZodString;
275
+ status: z.ZodEnum<{
276
+ pending: "pending";
277
+ in_progress: "in_progress";
278
+ completed: "completed";
279
+ blocked: "blocked";
280
+ deferred: "deferred";
281
+ abandoned: "abandoned";
282
+ }>;
283
+ parentId: z.ZodOptional<z.ZodString>;
284
+ createdAt: z.ZodString;
285
+ updatedAt: z.ZodString;
286
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
287
+ type: z.ZodLiteral<"directive">;
288
+ projects: z.ZodArray<z.ZodString>;
289
+ checkpoint: z.ZodOptional<z.ZodString>;
290
+ reportPath: z.ZodOptional<z.ZodString>;
291
+ weight: z.ZodOptional<z.ZodString>;
292
+ category: z.ZodOptional<z.ZodString>;
293
+ producedFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
294
+ report: z.ZodOptional<z.ZodNullable<z.ZodString>>;
295
+ backlogSources: z.ZodOptional<z.ZodArray<z.ZodString>>;
296
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
297
+ }, z.core.$strip>, z.ZodObject<{
298
+ id: z.ZodString;
299
+ title: z.ZodString;
300
+ status: z.ZodEnum<{
301
+ pending: "pending";
302
+ in_progress: "in_progress";
303
+ completed: "completed";
304
+ blocked: "blocked";
305
+ deferred: "deferred";
306
+ abandoned: "abandoned";
307
+ }>;
308
+ parentId: z.ZodOptional<z.ZodString>;
309
+ category: z.ZodOptional<z.ZodString>;
310
+ createdAt: z.ZodString;
311
+ updatedAt: z.ZodString;
312
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
+ type: z.ZodLiteral<"report">;
314
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
315
+ sourceDirective: z.ZodOptional<z.ZodString>;
316
+ filePath: z.ZodString;
317
+ contentSummary: z.ZodOptional<z.ZodString>;
318
+ }, z.core.$strip>, z.ZodObject<{
319
+ id: z.ZodString;
320
+ title: z.ZodString;
321
+ status: z.ZodEnum<{
322
+ pending: "pending";
323
+ in_progress: "in_progress";
324
+ completed: "completed";
325
+ blocked: "blocked";
326
+ deferred: "deferred";
327
+ abandoned: "abandoned";
328
+ }>;
329
+ parentId: z.ZodOptional<z.ZodString>;
330
+ category: z.ZodOptional<z.ZodString>;
331
+ createdAt: z.ZodString;
332
+ updatedAt: z.ZodString;
333
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
334
+ type: z.ZodLiteral<"discussion">;
335
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
+ sourceDirective: z.ZodOptional<z.ZodString>;
337
+ filePath: z.ZodString;
338
+ contentSummary: z.ZodOptional<z.ZodString>;
339
+ }, z.core.$strip>, z.ZodObject<{
340
+ id: z.ZodString;
341
+ title: z.ZodString;
342
+ status: z.ZodEnum<{
343
+ pending: "pending";
344
+ in_progress: "in_progress";
345
+ completed: "completed";
346
+ blocked: "blocked";
347
+ deferred: "deferred";
348
+ abandoned: "abandoned";
349
+ }>;
350
+ parentId: z.ZodOptional<z.ZodString>;
351
+ category: z.ZodOptional<z.ZodString>;
352
+ createdAt: z.ZodString;
353
+ updatedAt: z.ZodString;
354
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
355
+ type: z.ZodLiteral<"research">;
356
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
357
+ sourceDirective: z.ZodOptional<z.ZodString>;
358
+ filePath: z.ZodString;
359
+ contentSummary: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$strip>], "type">;
361
+ export type WorkItem = z.infer<typeof WorkItem>;
362
+ export declare const FeaturesState: z.ZodObject<{
363
+ generated: z.ZodString;
364
+ features: z.ZodArray<z.ZodObject<{
365
+ id: z.ZodString;
366
+ title: z.ZodString;
367
+ status: z.ZodEnum<{
368
+ pending: "pending";
369
+ in_progress: "in_progress";
370
+ completed: "completed";
371
+ blocked: "blocked";
372
+ deferred: "deferred";
373
+ abandoned: "abandoned";
374
+ }>;
375
+ parentId: z.ZodOptional<z.ZodString>;
376
+ createdAt: z.ZodString;
377
+ updatedAt: z.ZodString;
378
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
379
+ type: z.ZodLiteral<"feature">;
380
+ category: z.ZodOptional<z.ZodString>;
381
+ taskCount: z.ZodNumber;
382
+ completedTaskCount: z.ZodNumber;
383
+ hasSpec: z.ZodBoolean;
384
+ hasDesign: z.ZodBoolean;
385
+ specSummary: z.ZodOptional<z.ZodString>;
386
+ repoId: z.ZodOptional<z.ZodString>;
387
+ repoName: z.ZodOptional<z.ZodString>;
388
+ }, z.core.$strip>>;
389
+ }, z.core.$strip>;
390
+ export type FeaturesState = z.infer<typeof FeaturesState>;
391
+ export declare const BacklogsState: z.ZodObject<{
392
+ generated: z.ZodString;
393
+ items: z.ZodArray<z.ZodObject<{
394
+ id: z.ZodString;
395
+ title: z.ZodString;
396
+ status: z.ZodEnum<{
397
+ pending: "pending";
398
+ in_progress: "in_progress";
399
+ completed: "completed";
400
+ blocked: "blocked";
401
+ deferred: "deferred";
402
+ abandoned: "abandoned";
403
+ }>;
404
+ parentId: z.ZodOptional<z.ZodString>;
405
+ createdAt: z.ZodString;
406
+ updatedAt: z.ZodString;
407
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
408
+ type: z.ZodLiteral<"backlog-item">;
409
+ category: z.ZodOptional<z.ZodString>;
410
+ priority: z.ZodOptional<z.ZodEnum<{
411
+ P0: "P0";
412
+ P1: "P1";
413
+ P2: "P2";
414
+ }>>;
415
+ description: z.ZodOptional<z.ZodString>;
416
+ trigger: z.ZodOptional<z.ZodString>;
417
+ sourceContext: z.ZodOptional<z.ZodString>;
418
+ sourceDirective: z.ZodOptional<z.ZodString>;
419
+ repoId: z.ZodOptional<z.ZodString>;
420
+ repoName: z.ZodOptional<z.ZodString>;
421
+ }, z.core.$strip>>;
422
+ }, z.core.$strip>;
423
+ export type BacklogsState = z.infer<typeof BacklogsState>;
424
+ export declare const ConductorState: z.ZodObject<{
425
+ generated: z.ZodString;
426
+ directives: z.ZodArray<z.ZodObject<{
427
+ id: z.ZodString;
428
+ title: z.ZodString;
429
+ status: z.ZodEnum<{
430
+ pending: "pending";
431
+ in_progress: "in_progress";
432
+ completed: "completed";
433
+ blocked: "blocked";
434
+ deferred: "deferred";
435
+ abandoned: "abandoned";
436
+ }>;
437
+ parentId: z.ZodOptional<z.ZodString>;
438
+ createdAt: z.ZodString;
439
+ updatedAt: z.ZodString;
440
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
441
+ type: z.ZodLiteral<"directive">;
442
+ projects: z.ZodArray<z.ZodString>;
443
+ checkpoint: z.ZodOptional<z.ZodString>;
444
+ reportPath: z.ZodOptional<z.ZodString>;
445
+ weight: z.ZodOptional<z.ZodString>;
446
+ category: z.ZodOptional<z.ZodString>;
447
+ producedFeatures: z.ZodOptional<z.ZodArray<z.ZodString>>;
448
+ report: z.ZodOptional<z.ZodNullable<z.ZodString>>;
449
+ backlogSources: z.ZodOptional<z.ZodArray<z.ZodString>>;
450
+ artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
451
+ }, z.core.$strip>>;
452
+ reports: z.ZodArray<z.ZodObject<{
453
+ id: z.ZodString;
454
+ title: z.ZodString;
455
+ status: z.ZodEnum<{
456
+ pending: "pending";
457
+ in_progress: "in_progress";
458
+ completed: "completed";
459
+ blocked: "blocked";
460
+ deferred: "deferred";
461
+ abandoned: "abandoned";
462
+ }>;
463
+ parentId: z.ZodOptional<z.ZodString>;
464
+ category: z.ZodOptional<z.ZodString>;
465
+ createdAt: z.ZodString;
466
+ updatedAt: z.ZodString;
467
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
468
+ type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"report">, z.ZodLiteral<"discussion">]>, z.ZodLiteral<"research">]>;
469
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
470
+ sourceDirective: z.ZodOptional<z.ZodString>;
471
+ filePath: z.ZodString;
472
+ contentSummary: z.ZodOptional<z.ZodString>;
473
+ }, z.core.$strip>>;
474
+ discussions: z.ZodArray<z.ZodObject<{
475
+ id: z.ZodString;
476
+ title: z.ZodString;
477
+ status: z.ZodEnum<{
478
+ pending: "pending";
479
+ in_progress: "in_progress";
480
+ completed: "completed";
481
+ blocked: "blocked";
482
+ deferred: "deferred";
483
+ abandoned: "abandoned";
484
+ }>;
485
+ parentId: z.ZodOptional<z.ZodString>;
486
+ category: z.ZodOptional<z.ZodString>;
487
+ createdAt: z.ZodString;
488
+ updatedAt: z.ZodString;
489
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
490
+ type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"report">, z.ZodLiteral<"discussion">]>, z.ZodLiteral<"research">]>;
491
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
492
+ sourceDirective: z.ZodOptional<z.ZodString>;
493
+ filePath: z.ZodString;
494
+ contentSummary: z.ZodOptional<z.ZodString>;
495
+ }, z.core.$strip>>;
496
+ research: z.ZodArray<z.ZodObject<{
497
+ id: z.ZodString;
498
+ title: z.ZodString;
499
+ status: z.ZodEnum<{
500
+ pending: "pending";
501
+ in_progress: "in_progress";
502
+ completed: "completed";
503
+ blocked: "blocked";
504
+ deferred: "deferred";
505
+ abandoned: "abandoned";
506
+ }>;
507
+ parentId: z.ZodOptional<z.ZodString>;
508
+ category: z.ZodOptional<z.ZodString>;
509
+ createdAt: z.ZodString;
510
+ updatedAt: z.ZodString;
511
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
512
+ type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"report">, z.ZodLiteral<"discussion">]>, z.ZodLiteral<"research">]>;
513
+ participants: z.ZodOptional<z.ZodArray<z.ZodString>>;
514
+ sourceDirective: z.ZodOptional<z.ZodString>;
515
+ filePath: z.ZodString;
516
+ contentSummary: z.ZodOptional<z.ZodString>;
517
+ }, z.core.$strip>>;
518
+ lessons: z.ZodOptional<z.ZodArray<z.ZodObject<{
519
+ id: z.ZodString;
520
+ title: z.ZodString;
521
+ filePath: z.ZodString;
522
+ contentSummary: z.ZodOptional<z.ZodString>;
523
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
524
+ updatedAt: z.ZodString;
525
+ }, z.core.$strip>>>;
526
+ }, z.core.$strip>;
527
+ export type ConductorState = z.infer<typeof ConductorState>;
528
+ export declare const IndexState: z.ZodObject<{
529
+ generated: z.ZodString;
530
+ counts: z.ZodObject<{
531
+ activeFeatures: z.ZodNumber;
532
+ doneFeatures: z.ZodNumber;
533
+ pendingTasks: z.ZodNumber;
534
+ completedTasks: z.ZodNumber;
535
+ backlogItems: z.ZodNumber;
536
+ directives: z.ZodNumber;
537
+ reports: z.ZodNumber;
538
+ discussions: z.ZodNumber;
539
+ lessons: z.ZodOptional<z.ZodNumber>;
540
+ }, z.core.$strip>;
541
+ }, z.core.$strip>;
542
+ export type IndexState = z.infer<typeof IndexState>;
543
+ export interface WorkItemFilter {
544
+ type?: WorkItemType;
545
+ status?: LifecycleState;
546
+ category?: string;
547
+ q?: string;
548
+ }
549
+ /** All state loaded from .context/state/ */
550
+ export interface FullWorkState {
551
+ features: FeaturesState | null;
552
+ backlogs: BacklogsState | null;
553
+ conductor: ConductorState | null;
554
+ index: IndexState | null;
555
+ }