@claudexor/schema 2.1.3 → 3.0.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 (174) hide show
  1. package/dist/agent-capabilities.d.ts +32 -24
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +20 -11
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/apply-eligibility.d.ts +166 -0
  6. package/dist/apply-eligibility.d.ts.map +1 -1
  7. package/dist/apply-eligibility.js +63 -2
  8. package/dist/apply-eligibility.js.map +1 -1
  9. package/dist/attachment.d.ts +5 -5
  10. package/dist/budget.d.ts +4 -4
  11. package/dist/config.d.ts +59 -41
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +16 -6
  14. package/dist/config.js.map +1 -1
  15. package/dist/context.d.ts +6 -6
  16. package/dist/control-operation-responses.d.ts +190 -97
  17. package/dist/control-operation-responses.d.ts.map +1 -1
  18. package/dist/control-operation-responses.js +14 -1
  19. package/dist/control-operation-responses.js.map +1 -1
  20. package/dist/control-run-detail.d.ts +347 -215
  21. package/dist/control-run-detail.d.ts.map +1 -1
  22. package/dist/control-run-detail.js +34 -7
  23. package/dist/control-run-detail.js.map +1 -1
  24. package/dist/control-thread-apply.d.ts +5 -5
  25. package/dist/control-trust.d.ts +6 -6
  26. package/dist/control.d.ts +769 -306
  27. package/dist/control.d.ts.map +1 -1
  28. package/dist/control.js +164 -61
  29. package/dist/control.js.map +1 -1
  30. package/dist/credential-profile.d.ts +400 -1
  31. package/dist/credential-profile.d.ts.map +1 -1
  32. package/dist/credential-profile.js +109 -4
  33. package/dist/credential-profile.js.map +1 -1
  34. package/dist/decision.d.ts +78 -14
  35. package/dist/decision.d.ts.map +1 -1
  36. package/dist/decision.js +53 -20
  37. package/dist/decision.js.map +1 -1
  38. package/dist/delivery.d.ts +3 -3
  39. package/dist/delivery.js +1 -1
  40. package/dist/delivery.js.map +1 -1
  41. package/dist/events.d.ts +32 -6
  42. package/dist/events.d.ts.map +1 -1
  43. package/dist/events.js +45 -11
  44. package/dist/events.js.map +1 -1
  45. package/dist/gate.d.ts +4 -4
  46. package/dist/gate.d.ts.map +1 -1
  47. package/dist/gate.js +2 -2
  48. package/dist/gate.js.map +1 -1
  49. package/dist/harness.d.ts +137 -47
  50. package/dist/harness.d.ts.map +1 -1
  51. package/dist/harness.js +65 -16
  52. package/dist/harness.js.map +1 -1
  53. package/dist/index.d.ts +4 -3
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +4 -3
  56. package/dist/index.js.map +1 -1
  57. package/dist/operation.d.ts +66 -7
  58. package/dist/operation.d.ts.map +1 -1
  59. package/dist/operation.js +29 -2
  60. package/dist/operation.js.map +1 -1
  61. package/dist/output-schema.d.ts +40 -0
  62. package/dist/output-schema.d.ts.map +1 -0
  63. package/dist/output-schema.js +109 -0
  64. package/dist/output-schema.js.map +1 -0
  65. package/dist/plan.d.ts +206 -0
  66. package/dist/plan.d.ts.map +1 -0
  67. package/dist/plan.js +107 -0
  68. package/dist/plan.js.map +1 -0
  69. package/dist/primitives.d.ts +14 -10
  70. package/dist/primitives.d.ts.map +1 -1
  71. package/dist/primitives.js +14 -11
  72. package/dist/primitives.js.map +1 -1
  73. package/dist/project.d.ts +75 -0
  74. package/dist/project.d.ts.map +1 -1
  75. package/dist/project.js +17 -0
  76. package/dist/project.js.map +1 -1
  77. package/dist/quota.d.ts +119 -0
  78. package/dist/quota.d.ts.map +1 -1
  79. package/dist/quota.js +22 -0
  80. package/dist/quota.js.map +1 -1
  81. package/dist/raw.d.ts +4 -4
  82. package/dist/readiness.d.ts +14 -7
  83. package/dist/readiness.d.ts.map +1 -1
  84. package/dist/run-strategy.d.ts +17 -0
  85. package/dist/run-strategy.d.ts.map +1 -0
  86. package/dist/run-strategy.js +47 -0
  87. package/dist/run-strategy.js.map +1 -0
  88. package/dist/setup.d.ts +160 -160
  89. package/dist/status-projection.d.ts +78 -0
  90. package/dist/status-projection.d.ts.map +1 -0
  91. package/dist/status-projection.js +171 -0
  92. package/dist/status-projection.js.map +1 -0
  93. package/dist/task.d.ts +48 -316
  94. package/dist/task.d.ts.map +1 -1
  95. package/dist/task.js +3 -60
  96. package/dist/task.js.map +1 -1
  97. package/dist/telemetry.d.ts +89 -89
  98. package/dist/thread.d.ts +167 -32
  99. package/dist/thread.d.ts.map +1 -1
  100. package/dist/thread.js +92 -28
  101. package/dist/thread.js.map +1 -1
  102. package/dist/tool-ref.d.ts +1 -1
  103. package/generated/AgentCapabilityCatalog.schema.json +4 -6
  104. package/generated/ApplyEligibility.schema.json +1 -1
  105. package/generated/BudgetLease.schema.json +1 -2
  106. package/generated/ConformanceReport.schema.json +1 -2
  107. package/generated/ContinuityDisclosure.schema.json +74 -0
  108. package/generated/ControlApplyRequest.schema.json +1 -2
  109. package/generated/ControlCredentialProfileUpdateRequest.schema.json +20 -0
  110. package/generated/ControlCredentialProfileUpdateResponse.schema.json +142 -0
  111. package/generated/ControlCredentialProfilesResponse.schema.json +126 -2
  112. package/generated/ControlDeliveryResponse.schema.json +0 -1
  113. package/generated/ControlHandshakeResponse.schema.json +31 -3
  114. package/generated/ControlHarnessListResponse.schema.json +11 -6
  115. package/generated/ControlHarnessSettingsPatch.schema.json +4 -0
  116. package/generated/ControlOperationCatalog.schema.json +16 -1
  117. package/generated/ControlOperationDescriptor.schema.json +15 -0
  118. package/generated/ControlProject.schema.json +35 -0
  119. package/generated/ControlProjectListResponse.schema.json +35 -0
  120. package/generated/ControlProjectOutputsResponse.schema.json +57 -0
  121. package/generated/ControlQueuedRunInfo.schema.json +2 -11
  122. package/generated/ControlQuotaResponse.schema.json +42 -0
  123. package/generated/ControlRunAgainDraft.schema.json +37 -35
  124. package/generated/ControlRunDecisionRequest.schema.json +0 -1
  125. package/generated/ControlRunDetail.schema.json +292 -213
  126. package/generated/ControlRunListResponse.schema.json +88 -27
  127. package/generated/ControlRunStartRequest.schema.json +37 -35
  128. package/generated/ControlRunStartResponse.schema.json +2 -11
  129. package/generated/ControlRunSummary.schema.json +88 -27
  130. package/generated/ControlSettingsSnapshot.schema.json +6 -11
  131. package/generated/ControlSettingsUpdateRequest.schema.json +5 -10
  132. package/generated/ControlThread.schema.json +21 -3
  133. package/generated/ControlThreadApplyResponse.schema.json +0 -1
  134. package/generated/ControlThreadCreateRequest.schema.json +12 -3
  135. package/generated/ControlThreadDetail.schema.json +174 -16
  136. package/generated/ControlThreadListResponse.schema.json +60 -3
  137. package/generated/ControlThreadTurnRequest.schema.json +40 -34
  138. package/generated/ControlThreadUpdateRequest.schema.json +19 -0
  139. package/generated/DecisionRecord.schema.json +73 -33
  140. package/generated/GateResult.schema.json +1 -2
  141. package/generated/GlobalConfig.schema.json +7 -12
  142. package/generated/HarnessManifest.schema.json +11 -6
  143. package/generated/HarnessStatusDto.schema.json +11 -6
  144. package/generated/LaneCheckpoint.schema.json +59 -0
  145. package/generated/McpRunHandleResult.schema.json +234 -0
  146. package/generated/McpRunToolResult.schema.json +124 -2
  147. package/generated/RoutePrimaryDivergedPayload.schema.json +56 -0
  148. package/generated/RunEvent.schema.json +9 -5
  149. package/generated/RunTelemetry.schema.json +2 -4
  150. package/generated/TaskContract.schema.json +3 -135
  151. package/generated/Thread.schema.json +21 -3
  152. package/generated/ThreadTurn.schema.json +88 -0
  153. package/package.json +2 -2
  154. package/dist/control-spec.d.ts +0 -603
  155. package/dist/control-spec.d.ts.map +0 -1
  156. package/dist/control-spec.js +0 -87
  157. package/dist/control-spec.js.map +0 -1
  158. package/dist/orchestrate.d.ts +0 -556
  159. package/dist/orchestrate.d.ts.map +0 -1
  160. package/dist/orchestrate.js +0 -356
  161. package/dist/orchestrate.js.map +0 -1
  162. package/dist/spec.d.ts +0 -678
  163. package/dist/spec.d.ts.map +0 -1
  164. package/dist/spec.js +0 -186
  165. package/dist/spec.js.map +0 -1
  166. package/generated/ControlSpecAnswersRequest.schema.json +0 -74
  167. package/generated/ControlSpecQuestionsRequest.schema.json +0 -209
  168. package/generated/ControlSpecSession.schema.json +0 -261
  169. package/generated/ControlSpecSessionListResponse.schema.json +0 -273
  170. package/generated/OrchestrateContract.schema.json +0 -119
  171. package/generated/OrchestratePlan.schema.json +0 -264
  172. package/generated/OrchestratePlanProgress.schema.json +0 -164
  173. package/generated/SessionReboundLineage.schema.json +0 -73
  174. package/generated/SpecPack.schema.json +0 -483
package/dist/spec.js DELETED
@@ -1,186 +0,0 @@
1
- import { z } from "zod";
2
- import { Id, IsoTimestamp, SchemaVersion } from "./primitives.js";
3
- import { TestCommand } from "./task.js";
4
- /**
5
- * SpecPack — the frozen, versioned, diffable specification produced by the
6
- * spec interview (the hierarchical clarify-quiz). It is the SSOT a run is held
7
- * to: a SpecPack maps deterministically into a TaskContract. Unlike spec-first
8
- * tools that regenerate an opaque blob, this is spec-anchored: versioned with
9
- * section-level diffs across revisions.
10
- */
11
- export const InterviewQuestionKind = z
12
- .enum(["single", "multi", "text"])
13
- .describe("Answer shape of an interview question: single choice, multiple choice, or free text.");
14
- export const InterviewOption = z
15
- .object({
16
- id: Id.describe("Option id."),
17
- label: z.string().describe("Human-readable option label."),
18
- })
19
- .describe("One selectable option of an interview question.");
20
- /** One quiz card. `tier` expresses the hierarchical depth (0 = foundational). */
21
- export const InterviewQuestion = z
22
- .object({
23
- id: Id.describe("Question id."),
24
- tier: z
25
- .number()
26
- .int()
27
- .nonnegative()
28
- .default(0)
29
- .describe("Hierarchical depth of the question (0 = foundational)."),
30
- prompt: z.string().describe("The question text shown to the user."),
31
- kind: InterviewQuestionKind.default("single"),
32
- options: z
33
- .array(InterviewOption)
34
- .default([])
35
- .describe("Selectable options; empty for pure free-text questions."),
36
- /** Whether free-text is accepted in addition to / instead of options. */
37
- allow_text: z
38
- .boolean()
39
- .default(false)
40
- .describe("Whether free-text is accepted in addition to or instead of options."),
41
- rationale: z.string().optional().describe("Why this question matters for the spec."),
42
- })
43
- .describe("One quiz card of the spec interview.");
44
- export const InterviewAnswer = z
45
- .object({
46
- question_id: Id.describe("Id of the question being answered."),
47
- option_ids: z.array(Id).default([]).describe("Ids of the selected options."),
48
- text: z
49
- .string()
50
- .nullable()
51
- .default(null)
52
- .describe("Free-text answer; null when only options were selected."),
53
- })
54
- .describe("The user's answer to one interview question.");
55
- /**
56
- * An explicit unresolved ambiguity (NEEDS_CLARIFICATION). The interview refuses
57
- * to freeze while any of these are `open` — nothing is silently guessed.
58
- */
59
- export const ClarificationItem = z
60
- .object({
61
- id: Id.describe("Clarification id."),
62
- claim: z.string().describe("The ambiguous claim or open question that needs resolution."),
63
- status: z
64
- .enum(["open", "resolved"])
65
- .default("open")
66
- .describe("Whether the ambiguity is still open or has been resolved."),
67
- resolution: z
68
- .string()
69
- .nullable()
70
- .default(null)
71
- .describe("How the ambiguity was resolved; null while open."),
72
- })
73
- .describe("An explicit unresolved ambiguity (NEEDS_CLARIFICATION); the interview refuses to freeze while any is open.");
74
- /** Acceptance criterion in EARS style ("WHEN <cond>, THE SYSTEM SHALL <behavior>"). */
75
- export const SpecAcceptanceCriterion = z
76
- .object({
77
- id: Id.describe("Criterion id."),
78
- behavior: z
79
- .string()
80
- .describe("Required behavior, EARS style (WHEN <condition>, THE SYSTEM SHALL <behavior>)."),
81
- required: z
82
- .boolean()
83
- .default(true)
84
- .describe("Whether this criterion is required (vs advisory)."),
85
- })
86
- .describe("Acceptance criterion in EARS style.");
87
- /** A dependency-ordered task in the implementation checklist. */
88
- export const SpecTask = z
89
- .object({
90
- id: Id.describe("Task id."),
91
- title: z.string().describe("Human-readable task title."),
92
- depends_on: z.array(Id).default([]).describe("Ids of tasks that must complete first."),
93
- done: z.boolean().default(false).describe("Whether the task has been completed."),
94
- })
95
- .describe("A dependency-ordered task in the implementation checklist.");
96
- export const SpecConstraints = z
97
- .object({
98
- /** Spec-owned protected paths can raise review risk; per-run approvals cannot be frozen into a spec. */
99
- protected_paths: z
100
- .array(z.string())
101
- .default([])
102
- .describe("Spec-owned protected path globs that raise review risk; per-run approvals cannot be frozen into a spec."),
103
- })
104
- .strict()
105
- .describe("Constraints frozen into the spec.");
106
- const SpecPackBase = z.object({
107
- schema_version: SchemaVersion,
108
- id: Id.describe("SpecPack id."),
109
- created_at: IsoTimestamp.describe("When this SpecPack revision was created."),
110
- /** Monotonic revision; each freeze increments it (spec-anchored history). */
111
- version: z
112
- .number()
113
- .int()
114
- .positive()
115
- .default(1)
116
- .describe("Monotonic revision; each freeze increments it."),
117
- frozen: z
118
- .boolean()
119
- .default(false)
120
- .describe("Whether the spec is frozen (immutable and runnable)."),
121
- intent: z
122
- .object({
123
- raw: z.string().describe("The user's original request, verbatim."),
124
- normalized: z.string().optional().describe("Optional normalized restatement of the request."),
125
- })
126
- .describe("The user intent this spec captures."),
127
- summary: z.string().default("").describe("Short human-readable summary of the spec."),
128
- success_criteria: z
129
- .array(SpecAcceptanceCriterion)
130
- .default([])
131
- .describe("Acceptance criteria the implementation is held to."),
132
- non_goals: z.array(z.string()).default([]).describe("Explicitly out-of-scope outcomes."),
133
- forbidden_approaches: z
134
- .array(z.string())
135
- .default([])
136
- .describe("Approaches the implementation must not take."),
137
- decided_tradeoffs: z
138
- .array(z.string())
139
- .default([])
140
- .describe("Tradeoffs already decided during the interview."),
141
- constraints: SpecConstraints.default({}),
142
- tests: z
143
- .array(TestCommand)
144
- .default([])
145
- .describe("Deterministic test commands frozen into the spec."),
146
- tasks: z.array(SpecTask).default([]).describe("Dependency-ordered implementation checklist."),
147
- open_questions: z
148
- .array(ClarificationItem)
149
- .default([])
150
- .describe("Unresolved ambiguities; must all be resolved before freezing."),
151
- interview: z
152
- .object({
153
- questions: z
154
- .array(InterviewQuestion)
155
- .default([])
156
- .describe("Questions asked during the interview."),
157
- answers: z.array(InterviewAnswer).default([]).describe("The user's answers."),
158
- })
159
- .default({ questions: [], answers: [] })
160
- .describe("The clarify-quiz transcript this spec was built from."),
161
- });
162
- /**
163
- * Schema-level invariants (SSOT, enforced on every parse — even when loaded from
164
- * disk, not just via the engine): a frozen spec cannot carry open clarifications,
165
- * and a "resolved" clarification must record a non-empty resolution. This makes a
166
- * frozen-but-ambiguous SpecPack unrepresentable — no silent guessing.
167
- */
168
- export const SpecPack = SpecPackBase.superRefine((data, ctx) => {
169
- if (data.frozen && data.open_questions.some((q) => q.status === "open")) {
170
- ctx.addIssue({
171
- code: z.ZodIssueCode.custom,
172
- path: ["open_questions"],
173
- message: "a frozen SpecPack cannot have open clarifications",
174
- });
175
- }
176
- data.open_questions.forEach((q, i) => {
177
- if (q.status === "resolved" && (q.resolution === null || q.resolution.trim() === "")) {
178
- ctx.addIssue({
179
- code: z.ZodIssueCode.custom,
180
- path: ["open_questions", i, "resolution"],
181
- message: "a resolved clarification must have a non-empty resolution",
182
- });
183
- }
184
- });
185
- }).describe("The frozen, versioned, diffable specification produced by the spec interview; the SSOT a run is held to, mapping deterministically into a TaskContract.");
186
- //# sourceMappingURL=spec.js.map
package/dist/spec.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- {
2
- "$ref": "#/definitions/ControlSpecAnswersRequest",
3
- "definitions": {
4
- "ControlSpecAnswersRequest": {
5
- "type": "object",
6
- "properties": {
7
- "answers": {
8
- "type": "array",
9
- "items": {
10
- "type": "object",
11
- "properties": {
12
- "question_id": {
13
- "type": "string",
14
- "minLength": 1,
15
- "description": "Id of the question being answered."
16
- },
17
- "option_ids": {
18
- "type": "array",
19
- "items": {
20
- "type": "string",
21
- "minLength": 1,
22
- "description": "Non-empty identifier string."
23
- },
24
- "default": [],
25
- "description": "Ids of the selected options."
26
- },
27
- "text": {
28
- "type": [
29
- "string",
30
- "null"
31
- ],
32
- "default": null,
33
- "description": "Free-text answer; null when only options were selected."
34
- }
35
- },
36
- "required": [
37
- "question_id"
38
- ],
39
- "additionalProperties": false,
40
- "description": "The user's answer to one interview question."
41
- },
42
- "description": "Answers for the current interview tier."
43
- },
44
- "priorDecisions": {
45
- "type": "array",
46
- "items": {
47
- "type": "object",
48
- "properties": {
49
- "question": {
50
- "type": "string",
51
- "description": "Question asked in a prior tier."
52
- },
53
- "answer": {
54
- "type": "string",
55
- "description": "The user's answer."
56
- }
57
- },
58
- "required": [
59
- "question",
60
- "answer"
61
- ],
62
- "additionalProperties": false
63
- }
64
- }
65
- },
66
- "required": [
67
- "answers"
68
- ],
69
- "additionalProperties": false,
70
- "description": "Answers recorded against a durable spec session."
71
- }
72
- },
73
- "$schema": "http://json-schema.org/draft-07/schema#"
74
- }
@@ -1,209 +0,0 @@
1
- {
2
- "$ref": "#/definitions/ControlSpecQuestionsRequest",
3
- "definitions": {
4
- "ControlSpecQuestionsRequest": {
5
- "type": "object",
6
- "properties": {
7
- "prompt": {
8
- "type": "string",
9
- "minLength": 1,
10
- "description": "The user's request the interview is clarifying."
11
- },
12
- "threadId": {
13
- "type": "string",
14
- "minLength": 1,
15
- "pattern": "\\S",
16
- "description": "Owning chat thread, when created from the app."
17
- },
18
- "scope": {
19
- "type": "object",
20
- "properties": {
21
- "kind": {
22
- "type": "string",
23
- "const": "project"
24
- },
25
- "root": {
26
- "type": "string",
27
- "description": "Absolute path of the project root."
28
- },
29
- "context": {
30
- "type": "string",
31
- "enum": [
32
- "auto"
33
- ],
34
- "description": "Project context depth; auto is the only mode.",
35
- "default": "auto"
36
- }
37
- },
38
- "required": [
39
- "kind",
40
- "root"
41
- ],
42
- "additionalProperties": false,
43
- "description": "Project the spec is about."
44
- },
45
- "harnesses": {
46
- "type": "array",
47
- "items": {
48
- "$ref": "#/definitions/ControlSpecQuestionsRequest/properties/threadId"
49
- },
50
- "description": "Harnesses eligible to generate the questions."
51
- },
52
- "n": {
53
- "type": "integer",
54
- "exclusiveMinimum": 0
55
- },
56
- "effort": {
57
- "type": "string",
58
- "enum": [
59
- "low",
60
- "medium",
61
- "high",
62
- "xhigh",
63
- "max"
64
- ],
65
- "description": "Cross-harness reasoning-effort level, weakest to strongest; adapters declare the subset they support and a shared normalizer clamps requests onto the nearest supported level."
66
- },
67
- "paidBudget": {
68
- "anyOf": [
69
- {
70
- "type": "object",
71
- "properties": {
72
- "kind": {
73
- "type": "string",
74
- "const": "unlimited"
75
- }
76
- },
77
- "required": [
78
- "kind"
79
- ],
80
- "additionalProperties": false
81
- },
82
- {
83
- "type": "object",
84
- "properties": {
85
- "kind": {
86
- "type": "string",
87
- "const": "finite"
88
- },
89
- "maxUsd": {
90
- "type": "number",
91
- "minimum": 0
92
- }
93
- },
94
- "required": [
95
- "kind",
96
- "maxUsd"
97
- ],
98
- "additionalProperties": false
99
- }
100
- ],
101
- "description": "Incremental-cash budget: explicitly unlimited or a finite non-negative USD cap."
102
- },
103
- "web": {
104
- "type": "string",
105
- "enum": [
106
- "off",
107
- "auto",
108
- "cached",
109
- "live"
110
- ],
111
- "description": "External web/context policy for a run: off (no external context), auto (engine decides), cached (cached sources only), live (live web access). Separate from process/network sandboxing."
112
- },
113
- "reviewerModels": {
114
- "type": "object",
115
- "additionalProperties": {
116
- "$ref": "#/definitions/ControlSpecQuestionsRequest/properties/threadId"
117
- },
118
- "propertyNames": {
119
- "enum": [
120
- "openai",
121
- "anthropic",
122
- "google",
123
- "cursor",
124
- "opencode",
125
- "xai",
126
- "local",
127
- "unknown"
128
- ]
129
- }
130
- },
131
- "reviewerEfforts": {
132
- "type": "object",
133
- "additionalProperties": {
134
- "$ref": "#/definitions/ControlSpecQuestionsRequest/properties/effort"
135
- },
136
- "propertyNames": {
137
- "enum": [
138
- "openai",
139
- "anthropic",
140
- "google",
141
- "cursor",
142
- "opencode",
143
- "xai",
144
- "local",
145
- "unknown"
146
- ]
147
- }
148
- },
149
- "reviewerPanel": {
150
- "type": "array",
151
- "items": {
152
- "type": "object",
153
- "properties": {
154
- "harness": {
155
- "type": "string",
156
- "minLength": 1,
157
- "pattern": "\\S",
158
- "description": "Explicit reviewer harness id; repeated harness ids are allowed so one provider can review through multiple requested models."
159
- },
160
- "model": {
161
- "$ref": "#/definitions/ControlSpecQuestionsRequest/properties/threadId",
162
- "description": "Per-reviewer model hint, passed to that harness only."
163
- },
164
- "effort": {
165
- "$ref": "#/definitions/ControlSpecQuestionsRequest/properties/effort",
166
- "description": "Per-reviewer effort hint, passed to that harness only."
167
- }
168
- },
169
- "required": [
170
- "harness"
171
- ],
172
- "additionalProperties": false,
173
- "description": "One reviewer of an explicit reviewer panel."
174
- },
175
- "minItems": 1
176
- },
177
- "priorDecisions": {
178
- "type": "array",
179
- "items": {
180
- "type": "object",
181
- "properties": {
182
- "question": {
183
- "type": "string",
184
- "description": "Question asked in a prior tier."
185
- },
186
- "answer": {
187
- "type": "string",
188
- "description": "The user's answer."
189
- }
190
- },
191
- "required": [
192
- "question",
193
- "answer"
194
- ],
195
- "additionalProperties": false
196
- },
197
- "description": "Prior-tier decisions carried into the next interview tier."
198
- }
199
- },
200
- "required": [
201
- "prompt",
202
- "scope"
203
- ],
204
- "additionalProperties": false,
205
- "description": "Request to create a durable spec interview session."
206
- }
207
- },
208
- "$schema": "http://json-schema.org/draft-07/schema#"
209
- }