@wildo-ai/platform-core-shared 1.1.11 → 1.1.13

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 (142) hide show
  1. package/dist/esm/core/resources/resources-operations.custom.shared.definitions.d.ts.map +1 -1
  2. package/dist/esm/core/resources/resources-operations.custom.shared.definitions.js.map +1 -1
  3. package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.d.ts.map +1 -1
  4. package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.js.map +1 -1
  5. package/dist/esm/core/resources/resources-types.custom.shared.schemas.d.ts.map +1 -1
  6. package/dist/esm/core/resources/resources-types.custom.shared.schemas.js.map +1 -1
  7. package/dist/esm/dev-runtime/dependency-install-record.d.ts +111 -0
  8. package/dist/esm/dev-runtime/dependency-install-record.d.ts.map +1 -0
  9. package/dist/esm/dev-runtime/dependency-install-record.js +185 -0
  10. package/dist/esm/dev-runtime/dependency-install-record.js.map +1 -0
  11. package/dist/esm/dev-runtime/dev-runtime-command.d.ts +50 -0
  12. package/dist/esm/dev-runtime/dev-runtime-command.d.ts.map +1 -0
  13. package/dist/esm/dev-runtime/dev-runtime-command.js +147 -0
  14. package/dist/esm/dev-runtime/dev-runtime-command.js.map +1 -0
  15. package/dist/esm/dev-runtime/dev-runtime-processes.d.ts +47 -0
  16. package/dist/esm/dev-runtime/dev-runtime-processes.d.ts.map +1 -0
  17. package/dist/esm/dev-runtime/dev-runtime-processes.js +163 -0
  18. package/dist/esm/dev-runtime/dev-runtime-processes.js.map +1 -0
  19. package/dist/esm/dev-runtime/dev-runtime-signals.d.ts +54 -0
  20. package/dist/esm/dev-runtime/dev-runtime-signals.d.ts.map +1 -0
  21. package/dist/esm/dev-runtime/dev-runtime-signals.js +113 -0
  22. package/dist/esm/dev-runtime/dev-runtime-signals.js.map +1 -0
  23. package/dist/esm/dev-runtime/emitted-relative-specifiers.d.ts +14 -0
  24. package/dist/esm/dev-runtime/emitted-relative-specifiers.d.ts.map +1 -0
  25. package/dist/esm/dev-runtime/emitted-relative-specifiers.js +71 -0
  26. package/dist/esm/dev-runtime/emitted-relative-specifiers.js.map +1 -0
  27. package/dist/esm/dev-runtime/frontend-dev-runtime.d.ts +43 -0
  28. package/dist/esm/dev-runtime/frontend-dev-runtime.d.ts.map +1 -0
  29. package/dist/esm/dev-runtime/frontend-dev-runtime.js +42 -0
  30. package/dist/esm/dev-runtime/frontend-dev-runtime.js.map +1 -0
  31. package/dist/esm/dev-runtime/node-runtime-dev-supervisor.d.ts +233 -0
  32. package/dist/esm/dev-runtime/node-runtime-dev-supervisor.d.ts.map +1 -0
  33. package/dist/esm/dev-runtime/node-runtime-dev-supervisor.js +578 -0
  34. package/dist/esm/dev-runtime/node-runtime-dev-supervisor.js.map +1 -0
  35. package/dist/esm/dev-runtime/package-compile-loop.d.ts +125 -0
  36. package/dist/esm/dev-runtime/package-compile-loop.d.ts.map +1 -0
  37. package/dist/esm/dev-runtime/package-compile-loop.js +386 -0
  38. package/dist/esm/dev-runtime/package-compile-loop.js.map +1 -0
  39. package/dist/esm/dev-runtime.exports.d.ts +19 -0
  40. package/dist/esm/dev-runtime.exports.d.ts.map +1 -0
  41. package/dist/esm/dev-runtime.exports.js +19 -0
  42. package/dist/esm/dev-runtime.exports.js.map +1 -0
  43. package/dist/esm/index.d.ts +4 -0
  44. package/dist/esm/index.d.ts.map +1 -1
  45. package/dist/esm/index.js +4 -0
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/runtime/application-backend-env.contracts.d.ts +9 -2
  48. package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
  49. package/dist/esm/runtime/application-backend-env.contracts.js +8 -1
  50. package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
  51. package/dist/esm/runtime/application-worker-env.contracts.d.ts +11 -3
  52. package/dist/esm/runtime/application-worker-env.contracts.d.ts.map +1 -1
  53. package/dist/esm/runtime/application-worker-env.contracts.js +9 -0
  54. package/dist/esm/runtime/application-worker-env.contracts.js.map +1 -1
  55. package/dist/esm/runtime/backend-start-outcome.contracts.d.ts +27 -0
  56. package/dist/esm/runtime/backend-start-outcome.contracts.d.ts.map +1 -1
  57. package/dist/esm/runtime/backend-start-outcome.contracts.js +34 -0
  58. package/dist/esm/runtime/backend-start-outcome.contracts.js.map +1 -1
  59. package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.d.ts +28 -0
  60. package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.d.ts.map +1 -0
  61. package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.js +35 -0
  62. package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.js.map +1 -0
  63. package/dist/esm/runtime/http-server-env.contracts.d.ts +14 -1
  64. package/dist/esm/runtime/http-server-env.contracts.d.ts.map +1 -1
  65. package/dist/esm/runtime/http-server-env.contracts.js +13 -0
  66. package/dist/esm/runtime/http-server-env.contracts.js.map +1 -1
  67. package/dist/esm/runtime/local-dev-runtime-signals.contracts.d.ts +239 -0
  68. package/dist/esm/runtime/local-dev-runtime-signals.contracts.d.ts.map +1 -0
  69. package/dist/esm/runtime/local-dev-runtime-signals.contracts.js +256 -0
  70. package/dist/esm/runtime/local-dev-runtime-signals.contracts.js.map +1 -0
  71. package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
  72. package/dist/esm/runtime/runtime-topology.contracts.js.map +1 -1
  73. package/dist/esm/security/authorizations/roles.custom.shared.definitions.d.ts.map +1 -1
  74. package/dist/esm/security/authorizations/roles.custom.shared.definitions.js.map +1 -1
  75. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +112 -104
  76. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  77. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js +4 -3
  78. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js.map +1 -1
  79. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts +112 -104
  80. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts.map +1 -1
  81. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.js.map +1 -1
  82. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +24 -34
  83. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
  84. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js +4 -3
  85. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js.map +1 -1
  86. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +24 -34
  87. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
  88. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
  89. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts +3 -3
  90. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts.map +1 -1
  91. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js +30 -42
  92. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js.map +1 -1
  93. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts +9 -9
  94. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts.map +1 -1
  95. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js.map +1 -1
  96. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  97. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.js.map +1 -1
  98. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts +7 -7
  99. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts.map +1 -1
  100. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.js.map +1 -1
  101. package/dist/esm/workbench/creation-drive.custom.shared.schemas.d.ts +82 -0
  102. package/dist/esm/workbench/creation-drive.custom.shared.schemas.d.ts.map +1 -0
  103. package/dist/esm/workbench/creation-drive.custom.shared.schemas.js +73 -0
  104. package/dist/esm/workbench/creation-drive.custom.shared.schemas.js.map +1 -0
  105. package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.d.ts +183 -0
  106. package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.d.ts.map +1 -0
  107. package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.js +188 -0
  108. package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.js.map +1 -0
  109. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -1
  110. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +46 -0
  111. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -1
  112. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts +170 -7
  113. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts.map +1 -1
  114. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js +177 -7
  115. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js.map +1 -1
  116. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts.map +1 -1
  117. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js.map +1 -1
  118. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts.map +1 -1
  119. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js.map +1 -1
  120. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +480 -459
  121. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -1
  122. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +21 -16
  123. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -1
  124. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +480 -278
  125. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -1
  126. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +316 -46
  127. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -1
  128. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts.map +1 -1
  129. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js.map +1 -1
  130. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +7 -0
  131. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
  132. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +13 -1
  133. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
  134. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +287 -277
  135. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
  136. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
  137. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +34 -29
  138. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
  139. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +9 -5
  140. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
  141. package/dist/tsconfig.build.tsbuildinfo +1 -1
  142. package/package.json +13 -8
@@ -1,7 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { HumanDecision_FieldKind } from '@wildo-ai/saas-models';
3
- import { ApplicationInterviewDepth } from '@wildo-ai/saas-models/meta-workflows';
3
+ import { MetaWorkflow_ElicitationNonAnswer, ApplicationInterviewDepth } from '@wildo-ai/saas-models/meta-workflows';
4
4
  import { WorkbenchCreationHomeLineKind, WorkbenchCreationHomeSection } from './workbench-creation-plane.custom.shared.schemas';
5
+ import { WorkbenchShared_ResourceType } from './workbench-resources-types.custom.shared.schemas';
5
6
  /**
6
7
  * The CREATION CONSOLE contract — how a coding-agent session (Claude Code, or any agent driving
7
8
  * `wildo`) follows what the companion did and answers what the companion asks.
@@ -51,9 +52,10 @@ export declare enum CreationConsoleQuestionKind {
51
52
  INTERVIEW = "interview",
52
53
  /**
53
54
  * A fact a drafted governed document still needs. LISTED so the queue is total over what waits on
54
- * the person, NOT answerable here: landing governance facts is a whole-document sitting that also
55
- * names the governance scope and who decided, and `compliance-is-derived-from-the-product.md`
56
- * holds that questionnaire where it is until the evidence tier exists. Answer it in the workbench.
55
+ * the person, NOT answerable WITH A VALUE here: landing governance facts is a whole-document sitting that
56
+ * also names the governance scope and who decided, and `compliance-is-derived-from-the-product.md`
57
+ * holds that questionnaire where it is until the evidence tier exists. Answer it in the workbench. It
58
+ * may be DEFERRED from here (#3437, `admittedNonAnswers`): a deferral asserts nothing about the document.
57
59
  */
58
60
  GOVERNANCE_FACT = "governance-fact"
59
61
  }
@@ -72,6 +74,24 @@ export declare enum CreationConsoleAnswerAction {
72
74
  /** Abandon the run that asked. Clarifications and parked coding questions. */
73
75
  CANCEL = "cancel"
74
76
  }
77
+ /**
78
+ * WHERE a queued item can be answered (#3242). Stated rather than left for a reader to infer from an empty
79
+ * `actions` list: on app-creation-test-007 an agent driving creation through the CLI took a governed-document
80
+ * fact for a console question, sent `wildo creation answer`, and was refused, while the feed kept asking.
81
+ */
82
+ export declare enum CreationConsoleAnswerSurface {
83
+ /** `wildo creation answer` answers it: `actions` names what an answer may do. */
84
+ CONSOLE = "console",
85
+ /**
86
+ * Only the workbench can answer it WITH A VALUE, and `actions` is empty: a governed-document fact (a
87
+ * whole-document sitting that names the governance scope and who decided), or a clarification routed to the
88
+ * signed-in person who started its run. `workbenchDetail` names the row that answers it. A non-answer the
89
+ * item admits (`admittedNonAnswers`, #3437) is still sent from the console.
90
+ */
91
+ WORKBENCH = "workbench"
92
+ }
93
+ /** The surface a queued item is answered from, derived from what the console may do with it — one rule, for every producer. */
94
+ export declare function creationConsoleAnswerSurfaceOf(actions: readonly CreationConsoleAnswerAction[]): CreationConsoleAnswerSurface;
75
95
  /** One question inside a queued item — a clarification round carries several, the others one. */
76
96
  export declare const CreationConsole_QuestionField_Schema: z.ZodObject<{
77
97
  ref: z.ZodString;
@@ -100,6 +120,12 @@ export declare const CreationConsole_Question_Schema: z.ZodObject<{
100
120
  optionDetails: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
121
  }, z.core.$strip>>;
102
122
  actions: z.ZodArray<z.ZodEnum<typeof CreationConsoleAnswerAction>>;
123
+ admittedNonAnswers: z.ZodArray<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
124
+ answerableFrom: z.ZodEnum<typeof CreationConsoleAnswerSurface>;
125
+ workbenchDetail: z.ZodNullable<z.ZodObject<{
126
+ resourceType: z.ZodEnum<typeof WorkbenchShared_ResourceType>;
127
+ resourceId: z.ZodString;
128
+ }, z.core.$strip>>;
103
129
  producingFamily: z.ZodNullable<z.ZodString>;
104
130
  dryRun: z.ZodNullable<z.ZodBoolean>;
105
131
  resumable: z.ZodNullable<z.ZodBoolean>;
@@ -110,6 +136,8 @@ export declare const CreationConsole_Question_Schema: z.ZodObject<{
110
136
  regulatedDomain: z.ZodNullable<z.ZodBoolean>;
111
137
  assumedAnswer: z.ZodNullable<z.ZodString>;
112
138
  assumptionRationale: z.ZodNullable<z.ZodString>;
139
+ nonAnswer: z.ZodNullable<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
140
+ nonAnswerReason: z.ZodNullable<z.ZodString>;
113
141
  }, z.core.$strip>;
114
142
  export type CreationConsole_Question = z.infer<typeof CreationConsole_Question_Schema>;
115
143
  export declare const CreationConsole_QuestionQueue_Schema: z.ZodObject<{
@@ -132,6 +160,12 @@ export declare const CreationConsole_QuestionQueue_Schema: z.ZodObject<{
132
160
  optionDetails: z.ZodOptional<z.ZodArray<z.ZodString>>;
133
161
  }, z.core.$strip>>;
134
162
  actions: z.ZodArray<z.ZodEnum<typeof CreationConsoleAnswerAction>>;
163
+ admittedNonAnswers: z.ZodArray<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
164
+ answerableFrom: z.ZodEnum<typeof CreationConsoleAnswerSurface>;
165
+ workbenchDetail: z.ZodNullable<z.ZodObject<{
166
+ resourceType: z.ZodEnum<typeof WorkbenchShared_ResourceType>;
167
+ resourceId: z.ZodString;
168
+ }, z.core.$strip>>;
135
169
  producingFamily: z.ZodNullable<z.ZodString>;
136
170
  dryRun: z.ZodNullable<z.ZodBoolean>;
137
171
  resumable: z.ZodNullable<z.ZodBoolean>;
@@ -142,6 +176,8 @@ export declare const CreationConsole_QuestionQueue_Schema: z.ZodObject<{
142
176
  regulatedDomain: z.ZodNullable<z.ZodBoolean>;
143
177
  assumedAnswer: z.ZodNullable<z.ZodString>;
144
178
  assumptionRationale: z.ZodNullable<z.ZodString>;
179
+ nonAnswer: z.ZodNullable<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
180
+ nonAnswerReason: z.ZodNullable<z.ZodString>;
145
181
  }, z.core.$strip>>;
146
182
  assumptions: z.ZodArray<z.ZodObject<{
147
183
  questionId: z.ZodString;
@@ -161,6 +197,49 @@ export declare const CreationConsole_QuestionQueue_Schema: z.ZodObject<{
161
197
  optionDetails: z.ZodOptional<z.ZodArray<z.ZodString>>;
162
198
  }, z.core.$strip>>;
163
199
  actions: z.ZodArray<z.ZodEnum<typeof CreationConsoleAnswerAction>>;
200
+ admittedNonAnswers: z.ZodArray<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
201
+ answerableFrom: z.ZodEnum<typeof CreationConsoleAnswerSurface>;
202
+ workbenchDetail: z.ZodNullable<z.ZodObject<{
203
+ resourceType: z.ZodEnum<typeof WorkbenchShared_ResourceType>;
204
+ resourceId: z.ZodString;
205
+ }, z.core.$strip>>;
206
+ producingFamily: z.ZodNullable<z.ZodString>;
207
+ dryRun: z.ZodNullable<z.ZodBoolean>;
208
+ resumable: z.ZodNullable<z.ZodBoolean>;
209
+ affectsFamilies: z.ZodArray<z.ZodString>;
210
+ routedToUserId: z.ZodNullable<z.ZodString>;
211
+ askedInSimpleInterview: z.ZodNullable<z.ZodBoolean>;
212
+ proposable: z.ZodNullable<z.ZodBoolean>;
213
+ regulatedDomain: z.ZodNullable<z.ZodBoolean>;
214
+ assumedAnswer: z.ZodNullable<z.ZodString>;
215
+ assumptionRationale: z.ZodNullable<z.ZodString>;
216
+ nonAnswer: z.ZodNullable<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
217
+ nonAnswerReason: z.ZodNullable<z.ZodString>;
218
+ }, z.core.$strip>>;
219
+ withoutAnswer: z.ZodArray<z.ZodObject<{
220
+ questionId: z.ZodString;
221
+ kind: z.ZodEnum<typeof CreationConsoleQuestionKind>;
222
+ askedAt: z.ZodNullable<z.ZodString>;
223
+ playbookRef: z.ZodNullable<z.ZodString>;
224
+ taskRef: z.ZodNullable<z.ZodString>;
225
+ instanceKey: z.ZodNullable<z.ZodString>;
226
+ definitionRef: z.ZodNullable<z.ZodString>;
227
+ revision: z.ZodNullable<z.ZodString>;
228
+ fields: z.ZodArray<z.ZodObject<{
229
+ ref: z.ZodString;
230
+ question: z.ZodString;
231
+ why: z.ZodNullable<z.ZodString>;
232
+ kind: z.ZodString;
233
+ options: z.ZodArray<z.ZodString>;
234
+ optionDetails: z.ZodOptional<z.ZodArray<z.ZodString>>;
235
+ }, z.core.$strip>>;
236
+ actions: z.ZodArray<z.ZodEnum<typeof CreationConsoleAnswerAction>>;
237
+ admittedNonAnswers: z.ZodArray<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
238
+ answerableFrom: z.ZodEnum<typeof CreationConsoleAnswerSurface>;
239
+ workbenchDetail: z.ZodNullable<z.ZodObject<{
240
+ resourceType: z.ZodEnum<typeof WorkbenchShared_ResourceType>;
241
+ resourceId: z.ZodString;
242
+ }, z.core.$strip>>;
164
243
  producingFamily: z.ZodNullable<z.ZodString>;
165
244
  dryRun: z.ZodNullable<z.ZodBoolean>;
166
245
  resumable: z.ZodNullable<z.ZodBoolean>;
@@ -171,6 +250,8 @@ export declare const CreationConsole_QuestionQueue_Schema: z.ZodObject<{
171
250
  regulatedDomain: z.ZodNullable<z.ZodBoolean>;
172
251
  assumedAnswer: z.ZodNullable<z.ZodString>;
173
252
  assumptionRationale: z.ZodNullable<z.ZodString>;
253
+ nonAnswer: z.ZodNullable<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
254
+ nonAnswerReason: z.ZodNullable<z.ZodString>;
174
255
  }, z.core.$strip>>;
175
256
  interviewDepth: z.ZodNullable<z.ZodEnum<typeof ApplicationInterviewDepth>>;
176
257
  }, z.core.$strip>;
@@ -184,7 +265,9 @@ export type CreationConsole_QuestionQueue = z.infer<typeof CreationConsole_Quest
184
265
  */
185
266
  export declare const CreationConsole_Answer_Schema: z.ZodObject<{
186
267
  ref: z.ZodString;
187
- value: z.ZodString;
268
+ value: z.ZodOptional<z.ZodString>;
269
+ nonAnswer: z.ZodOptional<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
270
+ reason: z.ZodOptional<z.ZodString>;
188
271
  answeredByRef: z.ZodOptional<z.ZodString>;
189
272
  standing: z.ZodOptional<z.ZodString>;
190
273
  assumptionRationale: z.ZodOptional<z.ZodString>;
@@ -239,7 +322,9 @@ export declare const CreationConsole_AnswerRequest_Schema: z.ZodObject<{
239
322
  action: z.ZodEnum<typeof CreationConsoleAnswerAction>;
240
323
  answers: z.ZodOptional<z.ZodArray<z.ZodObject<{
241
324
  ref: z.ZodString;
242
- value: z.ZodString;
325
+ value: z.ZodOptional<z.ZodString>;
326
+ nonAnswer: z.ZodOptional<z.ZodEnum<typeof MetaWorkflow_ElicitationNonAnswer>>;
327
+ reason: z.ZodOptional<z.ZodString>;
243
328
  answeredByRef: z.ZodOptional<z.ZodString>;
244
329
  standing: z.ZodOptional<z.ZodString>;
245
330
  assumptionRationale: z.ZodOptional<z.ZodString>;
@@ -251,7 +336,6 @@ export declare const CreationConsole_AnswerOutcome_Schema: z.ZodObject<{
251
336
  questionId: z.ZodString;
252
337
  kind: z.ZodEnum<typeof CreationConsoleQuestionKind>;
253
338
  action: z.ZodEnum<typeof CreationConsoleAnswerAction>;
254
- /** What the answering service returned — its own shape (a resumed run's outcome, a landed dossier file). */
255
339
  outcome: z.ZodUnknown;
256
340
  }, z.core.$loose>;
257
341
  export type CreationConsole_AnswerOutcome = z.infer<typeof CreationConsole_AnswerOutcome_Schema>;
@@ -279,6 +363,51 @@ export declare const CreationConsole_FeedLine_Schema: z.ZodObject<{
279
363
  questionId: z.ZodNullable<z.ZodString>;
280
364
  }, z.core.$strip>;
281
365
  export type CreationConsole_FeedLine = z.infer<typeof CreationConsole_FeedLine_Schema>;
366
+ /**
367
+ * A specification the companion refused to serve (#3210, #3211): its factory refused the definition, so it is absent
368
+ * from everything the companion reads, and every other specification keeps serving. The JSON shape of
369
+ * `SpecificationDefinitionFault` in `@wildo-ai/saas-specifications`; `kind` is a `SpecificationDefinitionKind` value,
370
+ * typed as a string here because this package does not depend on the one that owns that vocabulary.
371
+ */
372
+ export declare const CreationConsole_SpecificationFault_Schema: z.ZodObject<{
373
+ kind: z.ZodString;
374
+ key: z.ZodString;
375
+ message: z.ZodString;
376
+ authoredFrame: z.ZodNullable<z.ZodString>;
377
+ }, z.core.$strip>;
378
+ export type CreationConsole_SpecificationFault = z.infer<typeof CreationConsole_SpecificationFault_Schema>;
379
+ /**
380
+ * A module of the specifications package the companion could not evaluate (#3258): its body threw for a reason no
381
+ * factory refusal covers (a `TypeError` at import, a missing file, a syntax error), so it serves nothing, and every
382
+ * other module keeps serving. The JSON shape of `SpecificationModuleFault` in `@wildo-ai/saas-specifications`, with the
383
+ * module named relative to the application root. `reading` is a `SpecificationModuleFaultReading` value, typed as a
384
+ * string here because this package does not depend on the one that owns that vocabulary: `possibly-stale-build` (code
385
+ * could not run — check the builds of the packages it imports before reading it as the module being wrong) or
386
+ * `authoring-error` (the module itself is wrong).
387
+ */
388
+ export declare const CreationConsole_SpecificationModuleFault_Schema: z.ZodObject<{
389
+ modulePath: z.ZodString;
390
+ errorName: z.ZodString;
391
+ message: z.ZodString;
392
+ reading: z.ZodString;
393
+ authoredFrame: z.ZodNullable<z.ZodString>;
394
+ causedBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
395
+ withheldSpecifications: z.ZodOptional<z.ZodArray<z.ZodString>>;
396
+ }, z.core.$strip>;
397
+ export type CreationConsole_SpecificationModuleFault = z.infer<typeof CreationConsole_SpecificationModuleFault_Schema>;
398
+ /**
399
+ * A backend that does not run the current tree, so the build lane dispatches nothing new (#2405, #3215): the companion's
400
+ * `ApplicationBootFailure`. `cause` is an `ApplicationBootFailureCause` value, typed as a string here because the
401
+ * companion owns that vocabulary; `remedy` is already worded for it (a task to fix, or the dev stack's repair).
402
+ */
403
+ export declare const CreationConsole_BootFailure_Schema: z.ZodObject<{
404
+ serviceIdentifier: z.ZodString;
405
+ cause: z.ZodString;
406
+ message: z.ZodNullable<z.ZodString>;
407
+ remedy: z.ZodString;
408
+ failedAt: z.ZodString;
409
+ }, z.core.$strip>;
410
+ export type CreationConsole_BootFailure = z.infer<typeof CreationConsole_BootFailure_Schema>;
282
411
  export declare const CreationConsole_Feed_Schema: z.ZodObject<{
283
412
  computedAt: z.ZodString;
284
413
  lines: z.ZodArray<z.ZodObject<{
@@ -298,6 +427,40 @@ export declare const CreationConsole_Feed_Schema: z.ZodObject<{
298
427
  target: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
299
428
  questionId: z.ZodNullable<z.ZodString>;
300
429
  }, z.core.$strip>>;
430
+ specifications: z.ZodObject<{
431
+ faults: z.ZodArray<z.ZodObject<{
432
+ kind: z.ZodString;
433
+ key: z.ZodString;
434
+ message: z.ZodString;
435
+ authoredFrame: z.ZodNullable<z.ZodString>;
436
+ }, z.core.$strip>>;
437
+ moduleFaults: z.ZodOptional<z.ZodArray<z.ZodObject<{
438
+ modulePath: z.ZodString;
439
+ errorName: z.ZodString;
440
+ message: z.ZodString;
441
+ reading: z.ZodString;
442
+ authoredFrame: z.ZodNullable<z.ZodString>;
443
+ causedBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
444
+ withheldSpecifications: z.ZodOptional<z.ZodArray<z.ZodString>>;
445
+ }, z.core.$strip>>>;
446
+ loadError: z.ZodNullable<z.ZodString>;
447
+ }, z.core.$strip>;
448
+ buildHold: z.ZodOptional<z.ZodObject<{
449
+ bootFailures: z.ZodArray<z.ZodObject<{
450
+ serviceIdentifier: z.ZodString;
451
+ cause: z.ZodString;
452
+ message: z.ZodNullable<z.ZodString>;
453
+ remedy: z.ZodString;
454
+ failedAt: z.ZodString;
455
+ }, z.core.$strip>>;
456
+ startupRepairOwed: z.ZodOptional<z.ZodBoolean>;
457
+ }, z.core.$strip>>;
458
+ buildPreparation: z.ZodOptional<z.ZodObject<{
459
+ waveStartedAt: z.ZodNullable<z.ZodString>;
460
+ stopRequestedAt: z.ZodNullable<z.ZodString>;
461
+ heldByStopSince: z.ZodOptional<z.ZodNullable<z.ZodString>>;
462
+ preparing: z.ZodNullable<z.ZodString>;
463
+ }, z.core.$strip>>;
301
464
  }, z.core.$strip>;
302
465
  export type CreationConsole_Feed = z.infer<typeof CreationConsole_Feed_Schema>;
303
466
  /** The one identity rule, applied by the companion when it emits and when it resolves an answer. */
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-console.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-console.custom.shared.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workbench-creation-console.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-console.custom.shared.schemas.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { HumanDecision_FieldKind } from '@wildo-ai/saas-models';
3
- import { ApplicationInterviewDepth } from '@wildo-ai/saas-models/meta-workflows';
3
+ import { MetaWorkflow_ElicitationNonAnswer, ApplicationInterviewDepth } from '@wildo-ai/saas-models/meta-workflows';
4
4
  import { WorkbenchCreationHomeLineKind, WorkbenchCreationHomeSection } from './workbench-creation-plane.custom.shared.schemas.js';
5
+ import { WorkbenchShared_ResourceType } from './workbench-resources-types.custom.shared.schemas.js';
5
6
  /**
6
7
  * The CREATION CONSOLE contract — how a coding-agent session (Claude Code, or any agent driving
7
8
  * `wildo`) follows what the companion did and answers what the companion asks.
@@ -52,9 +53,10 @@ export var CreationConsoleQuestionKind;
52
53
  CreationConsoleQuestionKind["INTERVIEW"] = "interview";
53
54
  /**
54
55
  * A fact a drafted governed document still needs. LISTED so the queue is total over what waits on
55
- * the person, NOT answerable here: landing governance facts is a whole-document sitting that also
56
- * names the governance scope and who decided, and `compliance-is-derived-from-the-product.md`
57
- * holds that questionnaire where it is until the evidence tier exists. Answer it in the workbench.
56
+ * the person, NOT answerable WITH A VALUE here: landing governance facts is a whole-document sitting that
57
+ * also names the governance scope and who decided, and `compliance-is-derived-from-the-product.md`
58
+ * holds that questionnaire where it is until the evidence tier exists. Answer it in the workbench. It
59
+ * may be DEFERRED from here (#3437, `admittedNonAnswers`): a deferral asserts nothing about the document.
58
60
  */
59
61
  CreationConsoleQuestionKind["GOVERNANCE_FACT"] = "governance-fact";
60
62
  })(CreationConsoleQuestionKind || (CreationConsoleQuestionKind = {}));
@@ -74,6 +76,27 @@ export var CreationConsoleAnswerAction;
74
76
  /** Abandon the run that asked. Clarifications and parked coding questions. */
75
77
  CreationConsoleAnswerAction["CANCEL"] = "cancel";
76
78
  })(CreationConsoleAnswerAction || (CreationConsoleAnswerAction = {}));
79
+ /**
80
+ * WHERE a queued item can be answered (#3242). Stated rather than left for a reader to infer from an empty
81
+ * `actions` list: on app-creation-test-007 an agent driving creation through the CLI took a governed-document
82
+ * fact for a console question, sent `wildo creation answer`, and was refused, while the feed kept asking.
83
+ */
84
+ export var CreationConsoleAnswerSurface;
85
+ (function (CreationConsoleAnswerSurface) {
86
+ /** `wildo creation answer` answers it: `actions` names what an answer may do. */
87
+ CreationConsoleAnswerSurface["CONSOLE"] = "console";
88
+ /**
89
+ * Only the workbench can answer it WITH A VALUE, and `actions` is empty: a governed-document fact (a
90
+ * whole-document sitting that names the governance scope and who decided), or a clarification routed to the
91
+ * signed-in person who started its run. `workbenchDetail` names the row that answers it. A non-answer the
92
+ * item admits (`admittedNonAnswers`, #3437) is still sent from the console.
93
+ */
94
+ CreationConsoleAnswerSurface["WORKBENCH"] = "workbench";
95
+ })(CreationConsoleAnswerSurface || (CreationConsoleAnswerSurface = {}));
96
+ /** The surface a queued item is answered from, derived from what the console may do with it — one rule, for every producer. */
97
+ export function creationConsoleAnswerSurfaceOf(actions) {
98
+ return actions.length > 0 ? CreationConsoleAnswerSurface.CONSOLE : CreationConsoleAnswerSurface.WORKBENCH;
99
+ }
77
100
  /** One question inside a queued item — a clarification round carries several, the others one. */
78
101
  export const CreationConsole_QuestionField_Schema = z.object({
79
102
  /** The ref an answer names. */
@@ -129,6 +152,21 @@ export const CreationConsole_Question_Schema = z.object({
129
152
  fields: z.array(CreationConsole_QuestionField_Schema),
130
153
  /** What an answer may do for THIS item — empty when the console cannot answer it. */
131
154
  actions: z.array(z.enum(CreationConsoleAnswerAction)),
155
+ /**
156
+ * The ways THIS item may be answered WITHOUT a value (#3437), sent as an `answer` whose fields carry `nonAnswer` +
157
+ * `reason`: for an interview question, what its playbook declares (`admittedElicitationNonAnswers`: none unless
158
+ * declared, and never for one only the person may answer); `deferred` alone for a governed-document fact. Admitted from the console even when `answerableFrom` is
159
+ * `workbench`: deferring a fact names no governance scope and asserts nothing, so it needs nothing the console lacks.
160
+ * Empty for every other kind.
161
+ */
162
+ admittedNonAnswers: z.array(z.enum(MetaWorkflow_ElicitationNonAnswer)),
163
+ /** Where it is answered (#3242): `workbench` exactly when `actions` is empty — {@link creationConsoleAnswerSurfaceOf}. */
164
+ answerableFrom: z.enum(CreationConsoleAnswerSurface),
165
+ /**
166
+ * For an item answered in the workbench, the row that answers it there — what `wildo workbench open
167
+ * <questionId>` opens (the governed document's questionnaire, or the routed run). NULL for a console item.
168
+ */
169
+ workbenchDetail: z.object({ resourceType: z.enum(WorkbenchShared_ResourceType), resourceId: z.string().min(1) }).nullable(),
132
170
  /*
133
171
  * Facts that change what answering MEANS, for the reader to weigh first. Carried as facts rather
134
172
  * than as a sentence: the words belong to whoever renders them (`display-text-comes-from-i18n.md`).
@@ -172,6 +210,13 @@ export const CreationConsole_Question_Schema = z.object({
172
210
  assumedAnswer: z.string().nullable(),
173
211
  /** For an item of `assumptions`: what the proposal rested on, as the proposer said it. NULL otherwise. */
174
212
  assumptionRationale: z.string().nullable(),
213
+ /**
214
+ * For an item of `withoutAnswer` (#3437): how the person answered WITHOUT a value (a governed-document fact can only
215
+ * be deferred). NULL on every other item.
216
+ */
217
+ nonAnswer: z.enum(MetaWorkflow_ElicitationNonAnswer).nullable(),
218
+ /** For an item of `withoutAnswer`: the person's reason, in their words. NULL otherwise. */
219
+ nonAnswerReason: z.string().nullable(),
175
220
  });
176
221
  export const CreationConsole_QuestionQueue_Schema = z.object({
177
222
  /** When the queue was read, ISO-8601. */
@@ -184,6 +229,12 @@ export const CreationConsole_QuestionQueue_Schema = z.object({
184
229
  * REVISIT one when they choose, and answering one records their own answer in its place.
185
230
  */
186
231
  assumptions: z.array(CreationConsole_Question_Schema),
232
+ /**
233
+ * Questions the person answered WITHOUT a value (#3437): said not to apply, or deferred (not decided yet), each with
234
+ * its reason. Nothing waits on them, so they are kept apart from `questions`; they are listed to revisit, and
235
+ * answering one records an answer (or the other non-answer) in its place.
236
+ */
237
+ withoutAnswer: z.array(CreationConsole_Question_Schema),
187
238
  /**
188
239
  * How deep this application's interviews go (#2129). NULL until the person chooses: a surface starting an
189
240
  * interview asks first and records the choice with `POST /creation/interview/depth`.
@@ -199,7 +250,17 @@ export const CreationConsole_QuestionQueue_Schema = z.object({
199
250
  */
200
251
  export const CreationConsole_Answer_Schema = z.object({
201
252
  ref: z.string().min(1),
202
- value: z.string().min(1),
253
+ /** The answer. Absent exactly when `nonAnswer` is given: a question is answered with a value or without one, never both. */
254
+ value: z.string().min(1).optional(),
255
+ /**
256
+ * Answer WITHOUT a value (#3437): `not_applicable` (the question does not concern this application) or `deferred`
257
+ * (it does, and is not decided yet). The item's `admittedNonAnswers` says which it takes: what an interview question's
258
+ * playbook declares; only `deferred` for a governed-document fact ("does not apply" to a fact is its questionnaire's
259
+ * own answer, offered only where the blueprint allows it).
260
+ */
261
+ nonAnswer: z.enum(MetaWorkflow_ElicitationNonAnswer).optional(),
262
+ /** Why — required with `nonAnswer`, refused without it. */
263
+ reason: z.string().min(1).optional(),
203
264
  /** Who gave THIS answer; overrides the request's `answeredByRef` for this field. Same vocabulary. */
204
265
  answeredByRef: z.string().min(1).optional(),
205
266
  /**
@@ -210,6 +271,13 @@ export const CreationConsole_Answer_Schema = z.object({
210
271
  standing: z.string().min(1).optional(),
211
272
  /** The proposer's reason, carried with an assumed answer so the dossier shows what the assumption rests on. */
212
273
  assumptionRationale: z.string().min(1).optional(),
274
+ }).superRefine((answer, context) => {
275
+ if ((answer.value === undefined) === (answer.nonAnswer === undefined)) {
276
+ context.addIssue({ code: 'custom', path: ['value'], message: 'Give either `value` or `nonAnswer` (with a `reason`), and not both.' });
277
+ }
278
+ if ((answer.nonAnswer === undefined) !== (answer.reason === undefined)) {
279
+ context.addIssue({ code: 'custom', path: ['reason'], message: '`reason` goes with `nonAnswer`, and `nonAnswer` needs one.' });
280
+ }
213
281
  });
214
282
  /** `POST /creation/interview/depth` (#2129): record how deep this application's interviews go. */
215
283
  export const CreationConsole_InterviewDepthRequest_Schema = z.object({
@@ -267,6 +335,7 @@ export const CreationConsole_AnswerRequest_Schema = z.object({
267
335
  /**
268
336
  * WHO answered — recorded for EVERY kind (#1658): on an interview answer in the dossier, on a
269
337
  * clarification in the committed `DECISIONS.md`, on a parked coding answer in `CODING-ANSWERS.md`.
338
+ * (dead-plan-citation: both are files the companion writes into the workspace, not plans)
270
339
  * The local-token plane proves only that the caller
271
340
  * is on this machine — the same trust as a git commit author, which is what accepts the answer
272
341
  * anyway (`one-source-of-truth.md` rule 7) — so `wildo` sends the workspace's git identity as
@@ -312,9 +381,105 @@ export const CreationConsole_FeedLine_Schema = z.object({
312
381
  /** The queued question this line is about, when it is about exactly one — answer it by this id. */
313
382
  questionId: z.string().nullable(),
314
383
  });
384
+ /**
385
+ * A specification the companion refused to serve (#3210, #3211): its factory refused the definition, so it is absent
386
+ * from everything the companion reads, and every other specification keeps serving. The JSON shape of
387
+ * `SpecificationDefinitionFault` in `@wildo-ai/saas-specifications`; `kind` is a `SpecificationDefinitionKind` value,
388
+ * typed as a string here because this package does not depend on the one that owns that vocabulary.
389
+ */
390
+ export const CreationConsole_SpecificationFault_Schema = z.object({
391
+ kind: z.string().min(1),
392
+ /** The specification's identity as its factory knows it — a resource type, or `resources.<type>.<viewRef>`. */
393
+ key: z.string(),
394
+ /** The validator's message, verbatim: it names the field and the remedy. */
395
+ message: z.string().min(1),
396
+ /** The authored file and line the factory was called from, when the stack carries one. */
397
+ authoredFrame: z.string().nullable(),
398
+ });
399
+ /**
400
+ * A module of the specifications package the companion could not evaluate (#3258): its body threw for a reason no
401
+ * factory refusal covers (a `TypeError` at import, a missing file, a syntax error), so it serves nothing, and every
402
+ * other module keeps serving. The JSON shape of `SpecificationModuleFault` in `@wildo-ai/saas-specifications`, with the
403
+ * module named relative to the application root. `reading` is a `SpecificationModuleFaultReading` value, typed as a
404
+ * string here because this package does not depend on the one that owns that vocabulary: `possibly-stale-build` (code
405
+ * could not run — check the builds of the packages it imports before reading it as the module being wrong) or
406
+ * `authoring-error` (the module itself is wrong).
407
+ */
408
+ export const CreationConsole_SpecificationModuleFault_Schema = z.object({
409
+ modulePath: z.string().min(1),
410
+ /** The error's name (`TypeError`, `SyntaxError`, `Error`, …). */
411
+ errorName: z.string().min(1),
412
+ message: z.string(),
413
+ reading: z.string().min(1),
414
+ /** The authored line that threw, when the stack carries one. */
415
+ authoredFrame: z.string().nullable(),
416
+ /** The failed modules this one imports: it is judged by them. Optional only for a console that reads an older companion. */
417
+ causedBy: z.array(z.string()).optional(),
418
+ /** The specifications it left unavailable, in words. Optional only for a console that reads an older companion. */
419
+ withheldSpecifications: z.array(z.string()).optional(),
420
+ });
421
+ /**
422
+ * A backend that does not run the current tree, so the build lane dispatches nothing new (#2405, #3215): the companion's
423
+ * `ApplicationBootFailure`. `cause` is an `ApplicationBootFailureCause` value, typed as a string here because the
424
+ * companion owns that vocabulary; `remedy` is already worded for it (a task to fix, or the dev stack's repair).
425
+ */
426
+ export const CreationConsole_BootFailure_Schema = z.object({
427
+ serviceIdentifier: z.string().min(1),
428
+ cause: z.string().min(1),
429
+ /** The backend's own refusal, verbatim, when it recorded one. */
430
+ message: z.string().nullable(),
431
+ remedy: z.string().min(1),
432
+ failedAt: z.string(),
433
+ });
315
434
  export const CreationConsole_Feed_Schema = z.object({
316
435
  computedAt: z.string(),
317
436
  lines: z.array(CreationConsole_FeedLine_Schema),
437
+ /**
438
+ * What the application's specifications package could not supply (#3210, #3211). `faults` names each refused
439
+ * specification; `loadError` is set when the package could not be evaluated at all, in which case `lines` holds
440
+ * only what could be derived without it. Both empty on a healthy tree. Carried by the feed because a refused
441
+ * specification is otherwise silent: the board, the build plan and the wave keep working without it.
442
+ */
443
+ specifications: z.object({
444
+ faults: z.array(CreationConsole_SpecificationFault_Schema),
445
+ /**
446
+ * The modules that could not be evaluated (#3258), in evaluation order; a module that imports a failed one names it
447
+ * in `causedBy`. Optional only for a console that reads an older companion; this companion always sends it.
448
+ */
449
+ moduleFaults: z.array(CreationConsole_SpecificationModuleFault_Schema).optional(),
450
+ loadError: z.string().nullable(),
451
+ }),
452
+ /**
453
+ * Why the build lane is HOLDING dispatch right now (#3215): every backend that does not run the current tree, read the
454
+ * way the wave reads it before each slot. Empty while dispatch may proceed. Carried by the feed because a held build
455
+ * is otherwise silent: the wave pauses with nothing in flight and no line says why. Optional only for a console that
456
+ * reads an older companion, which does not send it; this companion always does.
457
+ */
458
+ buildHold: z.object({
459
+ bootFailures: z.array(CreationConsole_BootFailure_Schema),
460
+ /**
461
+ * The build lane still owes a repair of a start the application's own code refused (#3204), and runs it itself: an
462
+ * unattended drive lets the lane run instead of stopping on the hold. Absent or false once the round's repairs are
463
+ * spent, for a dev-stack cause no code fixes, and from a companion older than the repair.
464
+ */
465
+ startupRepairOwed: z.boolean().optional(),
466
+ }).optional(),
467
+ /**
468
+ * What the build lane is doing between dispatches (#3206): when the running wave started, whether a stop was asked,
469
+ * and the current slot's preparation in words ("selected X, preparing dispatch since T (step)"), or NULL between slots.
470
+ * Optional for the reason `buildHold` is.
471
+ */
472
+ buildPreparation: z.object({
473
+ waveStartedAt: z.string().nullable(),
474
+ stopRequestedAt: z.string().nullable(),
475
+ /**
476
+ * Since when a person's `wildo build stop` holds the build: nothing starts on its own (the build lane's selector, the
477
+ * loop, the usage-limit resume are refused) until a person runs `wildo build run`. NULL when nothing holds it;
478
+ * absent from a companion older than the hold.
479
+ */
480
+ heldByStopSince: z.string().nullable().optional(),
481
+ preparing: z.string().nullable(),
482
+ }).optional(),
318
483
  });
319
484
  /** The one identity rule, applied by the companion when it emits and when it resolves an answer. */
320
485
  export function formatCreationConsoleQuestionId(kind, rowId) {
@@ -363,7 +528,10 @@ export const CreationConsole_PulseSummary_Schema = z.object({
363
528
  * carry the plan-stuck lines below, and a count taken from them said "6 questions waiting" over an empty queue.
364
529
  */
365
530
  questions: z.number().int().nonnegative(),
366
- /** ASKED lines saying the plan can dispatch nothing until a task is unblocked — waiting on the person, not a question. */
531
+ /**
532
+ * ASKED lines saying the plan can dispatch nothing until something is unblocked: a stuck task, or a specifications module
533
+ * that fails (#3258). Waiting on the person, not a question. The wire name predates the second kind.
534
+ */
367
535
  stuckTasks: z.number().int().nonnegative(),
368
536
  /** Lines marked acceptable: finished work waiting to be committed. */
369
537
  acceptable: z.number().int().nonnegative(),
@@ -384,7 +552,9 @@ export const CreationConsole_Pulse_Schema = z.object({
384
552
  export function summarizeCreationConsoleFeed(feed, questionCount) {
385
553
  return {
386
554
  questions: questionCount,
387
- stuckTasks: feed.lines.filter((line) => line.section === WorkbenchCreationHomeSection.ASKED && line.kind === WorkbenchCreationHomeLineKind.UNBLOCK_THE_PLAN).length,
555
+ // A module holding the plan with no stuck task is the same news: said nowhere else in the prompt hook or the status line (#3258).
556
+ stuckTasks: feed.lines.filter((line) => line.section === WorkbenchCreationHomeSection.ASKED
557
+ && (line.kind === WorkbenchCreationHomeLineKind.UNBLOCK_THE_PLAN || line.kind === WorkbenchCreationHomeLineKind.SPECIFICATION_FAULT_HOLDS_THE_PLAN)).length,
388
558
  acceptable: feed.lines.filter((line) => line.acceptable).length,
389
559
  failed: feed.lines.filter((line) => line.section === WorkbenchCreationHomeSection.SINCE && line.failed).length,
390
560
  computedAt: feed.computedAt,