@momentiq/dark-factory-cli 0.1.0-alpha.4

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 (132) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +150 -0
  3. package/dist/adapters/_shared.d.ts +45 -0
  4. package/dist/adapters/_shared.d.ts.map +1 -0
  5. package/dist/adapters/_shared.js +200 -0
  6. package/dist/adapters/_shared.js.map +1 -0
  7. package/dist/adapters/codex-sdk.d.ts +279 -0
  8. package/dist/adapters/codex-sdk.d.ts.map +1 -0
  9. package/dist/adapters/codex-sdk.js +930 -0
  10. package/dist/adapters/codex-sdk.js.map +1 -0
  11. package/dist/adapters/critic-result-schema.d.ts +215 -0
  12. package/dist/adapters/critic-result-schema.d.ts.map +1 -0
  13. package/dist/adapters/critic-result-schema.js +153 -0
  14. package/dist/adapters/critic-result-schema.js.map +1 -0
  15. package/dist/adapters/critic.d.ts +62 -0
  16. package/dist/adapters/critic.d.ts.map +1 -0
  17. package/dist/adapters/critic.js +79 -0
  18. package/dist/adapters/critic.js.map +1 -0
  19. package/dist/adapters/cursor-sdk.d.ts +153 -0
  20. package/dist/adapters/cursor-sdk.d.ts.map +1 -0
  21. package/dist/adapters/cursor-sdk.js +818 -0
  22. package/dist/adapters/cursor-sdk.js.map +1 -0
  23. package/dist/adapters/gemini-sdk.d.ts +113 -0
  24. package/dist/adapters/gemini-sdk.d.ts.map +1 -0
  25. package/dist/adapters/gemini-sdk.js +532 -0
  26. package/dist/adapters/gemini-sdk.js.map +1 -0
  27. package/dist/adapters/grok-direct-sdk.d.ts +148 -0
  28. package/dist/adapters/grok-direct-sdk.d.ts.map +1 -0
  29. package/dist/adapters/grok-direct-sdk.js +694 -0
  30. package/dist/adapters/grok-direct-sdk.js.map +1 -0
  31. package/dist/branch-protection/audit_branch_protection.py +759 -0
  32. package/dist/branch-protection/index.d.ts +25 -0
  33. package/dist/branch-protection/index.d.ts.map +1 -0
  34. package/dist/branch-protection/index.js +70 -0
  35. package/dist/branch-protection/index.js.map +1 -0
  36. package/dist/branch-protection/spec-default.yaml +314 -0
  37. package/dist/cli.d.ts +3 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +581 -0
  40. package/dist/cli.js.map +1 -0
  41. package/dist/cycle-doc-validator/index.d.ts +43 -0
  42. package/dist/cycle-doc-validator/index.d.ts.map +1 -0
  43. package/dist/cycle-doc-validator/index.js +69 -0
  44. package/dist/cycle-doc-validator/index.js.map +1 -0
  45. package/dist/cycle-doc-validator/validate_cycle_doc.py +1260 -0
  46. package/dist/cycle-tracker-sync/attribute_pr_cycle_ref.py +384 -0
  47. package/dist/cycle-tracker-sync/index.d.ts +20 -0
  48. package/dist/cycle-tracker-sync/index.d.ts.map +1 -0
  49. package/dist/cycle-tracker-sync/index.js +71 -0
  50. package/dist/cycle-tracker-sync/index.js.map +1 -0
  51. package/dist/cycle-tracker-sync/sync_cycle_trackers.py +1093 -0
  52. package/dist/evidence/audit-trail.d.ts +59 -0
  53. package/dist/evidence/audit-trail.d.ts.map +1 -0
  54. package/dist/evidence/audit-trail.js +283 -0
  55. package/dist/evidence/audit-trail.js.map +1 -0
  56. package/dist/evidence/index.d.ts +4 -0
  57. package/dist/evidence/index.d.ts.map +1 -0
  58. package/dist/evidence/index.js +29 -0
  59. package/dist/evidence/index.js.map +1 -0
  60. package/dist/evidence/per-sha.d.ts +13 -0
  61. package/dist/evidence/per-sha.d.ts.map +1 -0
  62. package/dist/evidence/per-sha.js +97 -0
  63. package/dist/evidence/per-sha.js.map +1 -0
  64. package/dist/evidence/quality-gates.d.ts +19 -0
  65. package/dist/evidence/quality-gates.d.ts.map +1 -0
  66. package/dist/evidence/quality-gates.js +212 -0
  67. package/dist/evidence/quality-gates.js.map +1 -0
  68. package/dist/git.d.ts +40 -0
  69. package/dist/git.d.ts.map +1 -0
  70. package/dist/git.js +414 -0
  71. package/dist/git.js.map +1 -0
  72. package/dist/glob.d.ts +4 -0
  73. package/dist/glob.d.ts.map +1 -0
  74. package/dist/glob.js +99 -0
  75. package/dist/glob.js.map +1 -0
  76. package/dist/index.d.ts +17 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +33 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/paths.d.ts +12 -0
  81. package/dist/paths.d.ts.map +1 -0
  82. package/dist/paths.js +42 -0
  83. package/dist/paths.js.map +1 -0
  84. package/dist/policy/baseline.d.ts +15 -0
  85. package/dist/policy/baseline.d.ts.map +1 -0
  86. package/dist/policy/baseline.js +115 -0
  87. package/dist/policy/baseline.js.map +1 -0
  88. package/dist/policy/config.d.ts +64 -0
  89. package/dist/policy/config.d.ts.map +1 -0
  90. package/dist/policy/config.js +363 -0
  91. package/dist/policy/config.js.map +1 -0
  92. package/dist/policy/gate.d.ts +80 -0
  93. package/dist/policy/gate.d.ts.map +1 -0
  94. package/dist/policy/gate.js +1019 -0
  95. package/dist/policy/gate.js.map +1 -0
  96. package/dist/policy/index.d.ts +7 -0
  97. package/dist/policy/index.d.ts.map +1 -0
  98. package/dist/policy/index.js +14 -0
  99. package/dist/policy/index.js.map +1 -0
  100. package/dist/policy/merge-queue.d.ts +183 -0
  101. package/dist/policy/merge-queue.d.ts.map +1 -0
  102. package/dist/policy/merge-queue.js +310 -0
  103. package/dist/policy/merge-queue.js.map +1 -0
  104. package/dist/policy/profile.d.ts +98 -0
  105. package/dist/policy/profile.d.ts.map +1 -0
  106. package/dist/policy/profile.js +156 -0
  107. package/dist/policy/profile.js.map +1 -0
  108. package/dist/policy/tdd-classifier.d.ts +18 -0
  109. package/dist/policy/tdd-classifier.d.ts.map +1 -0
  110. package/dist/policy/tdd-classifier.js +79 -0
  111. package/dist/policy/tdd-classifier.js.map +1 -0
  112. package/dist/prompt.d.ts +13 -0
  113. package/dist/prompt.d.ts.map +1 -0
  114. package/dist/prompt.js +175 -0
  115. package/dist/prompt.js.map +1 -0
  116. package/dist/report.d.ts +88 -0
  117. package/dist/report.d.ts.map +1 -0
  118. package/dist/report.js +376 -0
  119. package/dist/report.js.map +1 -0
  120. package/dist/runner.d.ts +30 -0
  121. package/dist/runner.d.ts.map +1 -0
  122. package/dist/runner.js +456 -0
  123. package/dist/runner.js.map +1 -0
  124. package/dist/security.d.ts +2 -0
  125. package/dist/security.d.ts.map +1 -0
  126. package/dist/security.js +19 -0
  127. package/dist/security.js.map +1 -0
  128. package/dist/trusted-surface/rebind.d.ts +10 -0
  129. package/dist/trusted-surface/rebind.d.ts.map +1 -0
  130. package/dist/trusted-surface/rebind.js +154 -0
  131. package/dist/trusted-surface/rebind.js.map +1 -0
  132. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-sdk.js","sourceRoot":"","sources":["../../src/adapters/codex-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Cycle 322.7 — Zod source-of-truth for the Codex `outputSchema`.
4
+ *
5
+ * Narrowed to the fields the MODEL is responsible for emitting. Fields
6
+ * the adapter stamps post-response (`criticId`, `reviewer`, `durationMs`,
7
+ * `error`) are NOT included — they belong on the adapter side via
8
+ * `mergeAdapterMetadata` and the success-path envelope.
9
+ *
10
+ * `verdict` is REQUIRED here even though the downstream `CriticResult`
11
+ * type treats it as optional. Rationale:
12
+ * - Under OpenAI structured-output strict mode (the `target: "openAi"`
13
+ * conversion), `target: "openAi"` lists every declared property in
14
+ * `required` regardless of `.optional()`; the "optional" semantic is
15
+ * instead encoded by widening the type to `["X", "null"]`. That
16
+ * means listing `verdict` as `.optional()` here would produce a
17
+ * schema where the model is allowed to emit `verdict: null` — which
18
+ * `parseCriticResult` (status==="complete" branch) rejects as a
19
+ * schema error.
20
+ * - The Codex adapter only invokes the SDK for live critic runs (not
21
+ * telemetry-only retries). On a successful completion the model
22
+ * ALWAYS owes us a verdict; emitting `null` is a model bug that
23
+ * should be caught at parse time, not silently accepted. Listing
24
+ * `verdict` as required (status="complete" path always emits one)
25
+ * pushes that validation up to the SDK layer.
26
+ * - On adapter-induced error paths (auth_failed, transport_error,
27
+ * etc.), the adapter goes through `buildErrorResult` which sets
28
+ * `status: "error"` and omits `verdict` — those never reach the
29
+ * model, so the schema requirement does not apply.
30
+ *
31
+ * Same reasoning for `findings`/`validation` being REQUIRED but allowed
32
+ * to be empty arrays — those structural slots must be present so the
33
+ * schema is consistent across statuses.
34
+ */
35
+ export declare const CriticResultZodSchema: z.ZodObject<{
36
+ status: z.ZodEnum<[string, ...string[]]>;
37
+ verdict: z.ZodEnum<[string, ...string[]]>;
38
+ requiresHumanJudgment: z.ZodBoolean;
39
+ summary: z.ZodString;
40
+ findings: z.ZodArray<z.ZodObject<{
41
+ severity: z.ZodEnum<[string, ...string[]]>;
42
+ category: z.ZodString;
43
+ file: z.ZodOptional<z.ZodString>;
44
+ line: z.ZodOptional<z.ZodNumber>;
45
+ symbol: z.ZodOptional<z.ZodString>;
46
+ evidence: z.ZodString;
47
+ impact: z.ZodString;
48
+ requiredFix: z.ZodString;
49
+ manifestoSection: z.ZodOptional<z.ZodString>;
50
+ evidencePath: z.ZodOptional<z.ZodString>;
51
+ routeId: z.ZodOptional<z.ZodString>;
52
+ justification: z.ZodOptional<z.ZodString>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ severity: string;
55
+ category: string;
56
+ evidence: string;
57
+ impact: string;
58
+ requiredFix: string;
59
+ symbol?: string | undefined;
60
+ file?: string | undefined;
61
+ line?: number | undefined;
62
+ manifestoSection?: string | undefined;
63
+ evidencePath?: string | undefined;
64
+ routeId?: string | undefined;
65
+ justification?: string | undefined;
66
+ }, {
67
+ severity: string;
68
+ category: string;
69
+ evidence: string;
70
+ impact: string;
71
+ requiredFix: string;
72
+ symbol?: string | undefined;
73
+ file?: string | undefined;
74
+ line?: number | undefined;
75
+ manifestoSection?: string | undefined;
76
+ evidencePath?: string | undefined;
77
+ routeId?: string | undefined;
78
+ justification?: string | undefined;
79
+ }>, "many">;
80
+ validation: z.ZodObject<{
81
+ qualityGateResults: z.ZodArray<z.ZodObject<{
82
+ command: z.ZodString;
83
+ exitCode: z.ZodNumber;
84
+ durationMs: z.ZodNumber;
85
+ logExcerpt: z.ZodString;
86
+ startedAt: z.ZodString;
87
+ finishedAt: z.ZodString;
88
+ routeId: z.ZodOptional<z.ZodString>;
89
+ }, "strip", z.ZodTypeAny, {
90
+ exitCode: number;
91
+ command: string;
92
+ durationMs: number;
93
+ logExcerpt: string;
94
+ startedAt: string;
95
+ finishedAt: string;
96
+ routeId?: string | undefined;
97
+ }, {
98
+ exitCode: number;
99
+ command: string;
100
+ durationMs: number;
101
+ logExcerpt: string;
102
+ startedAt: string;
103
+ finishedAt: string;
104
+ routeId?: string | undefined;
105
+ }>, "many">;
106
+ qualityGatesMissing: z.ZodArray<z.ZodString, "many">;
107
+ }, "strip", z.ZodTypeAny, {
108
+ qualityGateResults: {
109
+ exitCode: number;
110
+ command: string;
111
+ durationMs: number;
112
+ logExcerpt: string;
113
+ startedAt: string;
114
+ finishedAt: string;
115
+ routeId?: string | undefined;
116
+ }[];
117
+ qualityGatesMissing: string[];
118
+ }, {
119
+ qualityGateResults: {
120
+ exitCode: number;
121
+ command: string;
122
+ durationMs: number;
123
+ logExcerpt: string;
124
+ startedAt: string;
125
+ finishedAt: string;
126
+ routeId?: string | undefined;
127
+ }[];
128
+ qualityGatesMissing: string[];
129
+ }>;
130
+ confidence: z.ZodEnum<[string, ...string[]]>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ validation: {
133
+ qualityGateResults: {
134
+ exitCode: number;
135
+ command: string;
136
+ durationMs: number;
137
+ logExcerpt: string;
138
+ startedAt: string;
139
+ finishedAt: string;
140
+ routeId?: string | undefined;
141
+ }[];
142
+ qualityGatesMissing: string[];
143
+ };
144
+ verdict: string;
145
+ status: string;
146
+ requiresHumanJudgment: boolean;
147
+ summary: string;
148
+ findings: {
149
+ severity: string;
150
+ category: string;
151
+ evidence: string;
152
+ impact: string;
153
+ requiredFix: string;
154
+ symbol?: string | undefined;
155
+ file?: string | undefined;
156
+ line?: number | undefined;
157
+ manifestoSection?: string | undefined;
158
+ evidencePath?: string | undefined;
159
+ routeId?: string | undefined;
160
+ justification?: string | undefined;
161
+ }[];
162
+ confidence: string;
163
+ }, {
164
+ validation: {
165
+ qualityGateResults: {
166
+ exitCode: number;
167
+ command: string;
168
+ durationMs: number;
169
+ logExcerpt: string;
170
+ startedAt: string;
171
+ finishedAt: string;
172
+ routeId?: string | undefined;
173
+ }[];
174
+ qualityGatesMissing: string[];
175
+ };
176
+ verdict: string;
177
+ status: string;
178
+ requiresHumanJudgment: boolean;
179
+ summary: string;
180
+ findings: {
181
+ severity: string;
182
+ category: string;
183
+ evidence: string;
184
+ impact: string;
185
+ requiredFix: string;
186
+ symbol?: string | undefined;
187
+ file?: string | undefined;
188
+ line?: number | undefined;
189
+ manifestoSection?: string | undefined;
190
+ evidencePath?: string | undefined;
191
+ routeId?: string | undefined;
192
+ justification?: string | undefined;
193
+ }[];
194
+ confidence: string;
195
+ }>;
196
+ export type CriticResultModelEnvelope = z.infer<typeof CriticResultZodSchema>;
197
+ /**
198
+ * Cycle 322.7 — JSON Schema literal for the Codex SDK's `outputSchema`
199
+ * parameter. Generated from `CriticResultZodSchema` at module-load time
200
+ * using `zod-to-json-schema` with `target: "openAi"` (OpenAI strict-mode
201
+ * compatible). Frozen-ish via `Object.freeze` is intentionally NOT used
202
+ * here because the Codex SDK serializes the schema through the
203
+ * subprocess boundary and TOML/JSON serialization doesn't preserve
204
+ * frozen flags anyway.
205
+ *
206
+ * The shape is asserted in `tests/codex-adapter.test.ts` to catch
207
+ * accidental Zod-source drift before merge.
208
+ */
209
+ export declare const CRITIC_RESULT_JSON_SCHEMA: object & {
210
+ $schema?: string | undefined;
211
+ definitions?: {
212
+ [key: string]: object;
213
+ } | undefined;
214
+ };
215
+ //# sourceMappingURL=critic-result-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critic-result-schema.d.ts","sourceRoot":"","sources":["../../src/adapters/critic-result-schema.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQhC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB;;;;;CAEpC,CAAC"}
@@ -0,0 +1,153 @@
1
+ // Cycle 322.7 — JSON Schema literal for the Codex outputSchema parameter.
2
+ //
3
+ // The Codex SDK's `Thread.run(input, { outputSchema })` parameter accepts a
4
+ // JSON Schema object; the SDK passes it through to the model so the response
5
+ // in `Turn.finalResponse` is schema-validated JSON natively. This file
6
+ // exports the canonical JSON Schema for the `CriticResult` payload that the
7
+ // adapter expects back from the critic.
8
+ //
9
+ // Source of truth: a Zod schema (`CriticResultZodSchema`) that mirrors the
10
+ // content-level fields of the existing `CriticResult` type defined in
11
+ // `schema.ts` (the manual TS interface + `parseCriticResult` validator).
12
+ // `zod-to-json-schema` with `target: "openAi"` converts the Zod schema to
13
+ // a JSON Schema that satisfies OpenAI's structured-output strict mode
14
+ // (every object has `additionalProperties: false`, every property is in
15
+ // `required`).
16
+ //
17
+ // Drift control (Cursor + Gemini critic feedback on cycle 322.7 Phase A):
18
+ // - The Zod enum tuples below are derived DIRECTLY from the canonical
19
+ // `as const` tuples exported by `../schema.ts` (`REVIEW_SEVERITIES`,
20
+ // `CRITIC_STATUSES`, `REVIEW_VERDICTS`, `CONFIDENCES`). A stale
21
+ // duplicate would silently produce a JSON Schema accepting values
22
+ // the runtime `parseCriticResult` rejects; deriving from the
23
+ // canonical tuples means a future schema.ts update propagates here
24
+ // automatically.
25
+ // - The Zod schema OBJECT shape (the fields and their types) still
26
+ // duplicates a subset of `CriticResult` because `parseCriticResult`
27
+ // is a manual validator (not Zod-derived). A future refactor that
28
+ // ports `parseCriticResult` to a single Zod source would let this
29
+ // file `.pick()` the model-owned fields directly; for now the
30
+ // duplication is bounded to ~30 lines below.
31
+ //
32
+ // The narrower Zod schema in this file is INTENTIONALLY scoped to ONLY
33
+ // the fields the model owns — `criticId`, `reviewer.*`, `durationMs`,
34
+ // and `error` are stamped on post-response by the adapter
35
+ // (`mergeAdapterMetadata` + the success-path envelope), so they live
36
+ // outside this schema. The boundary between "model-supplied" and
37
+ // "adapter-stamped" is the architectural invariant this file encodes.
38
+ //
39
+ // If a future change to `CriticResult` adds a required content-level
40
+ // field, mirror it in the Zod schema below. The TS narrowing in
41
+ // `CriticResultModelEnvelope` documents which fields the model emits.
42
+ import { z } from "zod";
43
+ import { zodToJsonSchema } from "zod-to-json-schema";
44
+ import { CONFIDENCES, CRITIC_STATUSES, REVIEW_SEVERITIES, REVIEW_VERDICTS, } from "@momentiq/dark-factory-schemas";
45
+ // Single source of truth for the enum tuples: derive Zod enums DIRECTLY
46
+ // from the canonical `as const` tuples exported by `../schema.ts`. This
47
+ // closes the drift gap that the Cursor + Gemini critics flagged on the
48
+ // first review of this file — a stale duplicate here would silently
49
+ // produce a JSON Schema that accepts values the runtime parser
50
+ // rejects (or vice versa).
51
+ //
52
+ // The Zod constructors accept a non-empty readonly tuple — coerce via
53
+ // the spread + non-empty cast so the canonical readonly arrays from
54
+ // `schema.ts` align with Zod's `z.enum<[T, ...T[]]>` signature.
55
+ const ReviewSeverityZ = z.enum([...REVIEW_SEVERITIES]);
56
+ const CriticStatusZ = z.enum([...CRITIC_STATUSES]);
57
+ const ReviewVerdictZ = z.enum([...REVIEW_VERDICTS]);
58
+ const ConfidenceZ = z.enum([...CONFIDENCES]);
59
+ // Non-empty-string constraints mirror parseFinding (schema.ts:894-901)
60
+ // and parseQualityGateResult (schema.ts:953-959). The runtime parser
61
+ // rejects empty values for these fields with SchemaError; the Zod
62
+ // schema mirrors that via `.min(1)` so the JSON Schema fed to Codex's
63
+ // outputSchema also rejects empty strings at the SDK layer. Without
64
+ // this the model would be told an empty string satisfies the schema,
65
+ // only to have the adapter reject the result downstream.
66
+ const ReviewFindingZ = z.object({
67
+ severity: ReviewSeverityZ,
68
+ category: z.string().min(1),
69
+ file: z.string().optional(),
70
+ line: z.number().int().optional(),
71
+ symbol: z.string().optional(),
72
+ evidence: z.string().min(1),
73
+ impact: z.string().min(1),
74
+ requiredFix: z.string().min(1),
75
+ manifestoSection: z.string().optional(),
76
+ // Cycle 318.2 Component 5 rubric fields — the critic can supply these
77
+ // to attach evidence-pointers / commit-trailer justifications to a
78
+ // finding so `enforceFindingRubric` honors the override.
79
+ evidencePath: z.string().optional(),
80
+ routeId: z.string().optional(),
81
+ justification: z.string().optional(),
82
+ });
83
+ const QualityGateResultZ = z.object({
84
+ command: z.string().min(1),
85
+ exitCode: z.number().int(),
86
+ durationMs: z.number().int(),
87
+ logExcerpt: z.string(),
88
+ startedAt: z.string().min(1),
89
+ finishedAt: z.string().min(1),
90
+ routeId: z.string().optional(),
91
+ });
92
+ const CriticValidationViewZ = z.object({
93
+ qualityGateResults: z.array(QualityGateResultZ),
94
+ qualityGatesMissing: z.array(z.string()),
95
+ });
96
+ /**
97
+ * Cycle 322.7 — Zod source-of-truth for the Codex `outputSchema`.
98
+ *
99
+ * Narrowed to the fields the MODEL is responsible for emitting. Fields
100
+ * the adapter stamps post-response (`criticId`, `reviewer`, `durationMs`,
101
+ * `error`) are NOT included — they belong on the adapter side via
102
+ * `mergeAdapterMetadata` and the success-path envelope.
103
+ *
104
+ * `verdict` is REQUIRED here even though the downstream `CriticResult`
105
+ * type treats it as optional. Rationale:
106
+ * - Under OpenAI structured-output strict mode (the `target: "openAi"`
107
+ * conversion), `target: "openAi"` lists every declared property in
108
+ * `required` regardless of `.optional()`; the "optional" semantic is
109
+ * instead encoded by widening the type to `["X", "null"]`. That
110
+ * means listing `verdict` as `.optional()` here would produce a
111
+ * schema where the model is allowed to emit `verdict: null` — which
112
+ * `parseCriticResult` (status==="complete" branch) rejects as a
113
+ * schema error.
114
+ * - The Codex adapter only invokes the SDK for live critic runs (not
115
+ * telemetry-only retries). On a successful completion the model
116
+ * ALWAYS owes us a verdict; emitting `null` is a model bug that
117
+ * should be caught at parse time, not silently accepted. Listing
118
+ * `verdict` as required (status="complete" path always emits one)
119
+ * pushes that validation up to the SDK layer.
120
+ * - On adapter-induced error paths (auth_failed, transport_error,
121
+ * etc.), the adapter goes through `buildErrorResult` which sets
122
+ * `status: "error"` and omits `verdict` — those never reach the
123
+ * model, so the schema requirement does not apply.
124
+ *
125
+ * Same reasoning for `findings`/`validation` being REQUIRED but allowed
126
+ * to be empty arrays — those structural slots must be present so the
127
+ * schema is consistent across statuses.
128
+ */
129
+ export const CriticResultZodSchema = z.object({
130
+ status: CriticStatusZ,
131
+ verdict: ReviewVerdictZ,
132
+ requiresHumanJudgment: z.boolean(),
133
+ summary: z.string(),
134
+ findings: z.array(ReviewFindingZ),
135
+ validation: CriticValidationViewZ,
136
+ confidence: ConfidenceZ,
137
+ });
138
+ /**
139
+ * Cycle 322.7 — JSON Schema literal for the Codex SDK's `outputSchema`
140
+ * parameter. Generated from `CriticResultZodSchema` at module-load time
141
+ * using `zod-to-json-schema` with `target: "openAi"` (OpenAI strict-mode
142
+ * compatible). Frozen-ish via `Object.freeze` is intentionally NOT used
143
+ * here because the Codex SDK serializes the schema through the
144
+ * subprocess boundary and TOML/JSON serialization doesn't preserve
145
+ * frozen flags anyway.
146
+ *
147
+ * The shape is asserted in `tests/codex-adapter.test.ts` to catch
148
+ * accidental Zod-source drift before merge.
149
+ */
150
+ export const CRITIC_RESULT_JSON_SCHEMA = zodToJsonSchema(CriticResultZodSchema, {
151
+ target: "openAi",
152
+ });
153
+ //# sourceMappingURL=critic-result-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critic-result-schema.js","sourceRoot":"","sources":["../../src/adapters/critic-result-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { LoadedConfig } from "../policy/config.js";
2
+ import type { CriticConfig, CriticResult, DoctorCheck, ReviewPacket, ReviewSeverity, TelemetryEvent } from "@momentiq/dark-factory-schemas";
3
+ export interface CriticReviewOptions {
4
+ blockingSeverities: ReviewSeverity[];
5
+ signal?: AbortSignal;
6
+ emit?: (event: TelemetryEvent) => void;
7
+ diagnosticsDir?: string;
8
+ }
9
+ export interface CriticAdapter {
10
+ readonly id: string;
11
+ /**
12
+ * Cycle 322.2 Component 3 — environment variables this adapter requires
13
+ * to authenticate. The CLI's `maybeReexecUnderDoppler` walks required
14
+ * critics' adapters and re-execs under `doppler run` when any required
15
+ * critic env var is unset. Optional (`required: false`) critics handle
16
+ * missing keys inside `review()` so shadow-mode adapters remain
17
+ * informational instead of becoming preflight blockers.
18
+ *
19
+ * Existing adapters declare their own keys (`CURSOR_API_KEY`,
20
+ * `GEMINI_API_KEY`, `XAI_API_KEY`). An adapter that needs no secrets
21
+ * (e.g., a future deterministic linter critic) declares an empty tuple
22
+ * `[] as const`.
23
+ */
24
+ readonly requiredEnvVars: readonly string[];
25
+ review(packet: ReviewPacket, critic: CriticConfig, options: CriticReviewOptions): Promise<CriticResult>;
26
+ doctor(critic: CriticConfig): Promise<DoctorCheck[]>;
27
+ }
28
+ export declare class AdapterRegistry {
29
+ private readonly adapters;
30
+ register(adapter: CriticAdapter): void;
31
+ resolve(id: string): CriticAdapter;
32
+ has(id: string): boolean;
33
+ list(): string[];
34
+ }
35
+ /**
36
+ * Cycle 322.2 Component 3 (updated for Cycle 322.3 Codex PR-1429 P2 #5) —
37
+ * collect `requiredEnvVars` for PREFLIGHT purposes (the CLI's Doppler
38
+ * re-exec walk). `union` includes every configured critic so optional
39
+ * shadow critics can still load their Doppler-backed keys opportunistically
40
+ * and emit calibration data. `requiredUnion` includes only required critics;
41
+ * it is the subset allowed to make a failed re-exec a hard preflight block.
42
+ *
43
+ * An adapter referenced by config but not present in the registry is logged
44
+ * to the returned `unregistered` list rather than silently treated as "no
45
+ * requirements" — the doctor surfaces that misregistration so a typo in
46
+ * `.agent-review/config.json` doesn't accidentally short-circuit the
47
+ * Doppler re-exec. Misregistration is checked across ALL critics (required
48
+ * AND optional) because a config typo is a config typo regardless of the
49
+ * critic's required flag.
50
+ *
51
+ * The result `union` is sorted for stable diagnostic output.
52
+ *
53
+ * Lives here (next to AdapterRegistry) rather than in cli.ts so the helper
54
+ * can be imported by tests and by alternative entry points without pulling
55
+ * in `cli.ts`'s `void main()` side effect.
56
+ */
57
+ export declare function collectRequiredEnvVars(loaded: LoadedConfig, registry: AdapterRegistry, activeCriticIds?: ReadonlyArray<string> | ReadonlySet<string>): {
58
+ union: string[];
59
+ requiredUnion: string[];
60
+ unregistered: string[];
61
+ };
62
+ //# sourceMappingURL=critic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critic.d.ts","sourceRoot":"","sources":["../../src/adapters/critic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,MAAM,CACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACtD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE7D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAOtC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa;IAUlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,eAAe,EASzB,eAAe,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAC5D;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAsBtE"}
@@ -0,0 +1,79 @@
1
+ export class AdapterRegistry {
2
+ adapters = new Map();
3
+ register(adapter) {
4
+ if (this.adapters.has(adapter.id)) {
5
+ throw new Error(`adapter already registered: ${adapter.id}`);
6
+ }
7
+ this.adapters.set(adapter.id, adapter);
8
+ }
9
+ resolve(id) {
10
+ const adapter = this.adapters.get(id);
11
+ if (!adapter) {
12
+ throw new Error(`no adapter registered for id "${id}". Registered: ${[...this.adapters.keys()].join(", ") || "(none)"}`);
13
+ }
14
+ return adapter;
15
+ }
16
+ has(id) {
17
+ return this.adapters.has(id);
18
+ }
19
+ list() {
20
+ return [...this.adapters.keys()];
21
+ }
22
+ }
23
+ /**
24
+ * Cycle 322.2 Component 3 (updated for Cycle 322.3 Codex PR-1429 P2 #5) —
25
+ * collect `requiredEnvVars` for PREFLIGHT purposes (the CLI's Doppler
26
+ * re-exec walk). `union` includes every configured critic so optional
27
+ * shadow critics can still load their Doppler-backed keys opportunistically
28
+ * and emit calibration data. `requiredUnion` includes only required critics;
29
+ * it is the subset allowed to make a failed re-exec a hard preflight block.
30
+ *
31
+ * An adapter referenced by config but not present in the registry is logged
32
+ * to the returned `unregistered` list rather than silently treated as "no
33
+ * requirements" — the doctor surfaces that misregistration so a typo in
34
+ * `.agent-review/config.json` doesn't accidentally short-circuit the
35
+ * Doppler re-exec. Misregistration is checked across ALL critics (required
36
+ * AND optional) because a config typo is a config typo regardless of the
37
+ * critic's required flag.
38
+ *
39
+ * The result `union` is sorted for stable diagnostic output.
40
+ *
41
+ * Lives here (next to AdapterRegistry) rather than in cli.ts so the helper
42
+ * can be imported by tests and by alternative entry points without pulling
43
+ * in `cli.ts`'s `void main()` side effect.
44
+ */
45
+ export function collectRequiredEnvVars(loaded, registry,
46
+ // Cycle 322.7 — when a profile is active, the CLI passes the
47
+ // profile's allowlist so we don't preflight credentials for critics
48
+ // that won't actually run. Without this, `review --profile local`
49
+ // could fail Doppler re-exec because a cloud-only critic's required
50
+ // env var was unset, even though the local profile excludes that
51
+ // critic. (Codex P2 on PR #1468.) When `activeCriticIds` is undefined,
52
+ // we walk every configured critic (back-compat, no profile / no
53
+ // profiles map in config).
54
+ activeCriticIds) {
55
+ const union = new Set();
56
+ const requiredUnion = new Set();
57
+ const unregistered = [];
58
+ const allowlist = activeCriticIds
59
+ ? activeCriticIds instanceof Set
60
+ ? activeCriticIds
61
+ : new Set(activeCriticIds)
62
+ : undefined;
63
+ for (const critic of loaded.config.critics) {
64
+ if (allowlist && !allowlist.has(critic.id))
65
+ continue;
66
+ if (!registry.has(critic.adapter)) {
67
+ unregistered.push(critic.adapter);
68
+ continue;
69
+ }
70
+ const adapter = registry.resolve(critic.adapter);
71
+ for (const v of adapter.requiredEnvVars) {
72
+ union.add(v);
73
+ if (critic.required)
74
+ requiredUnion.add(v);
75
+ }
76
+ }
77
+ return { union: [...union].sort(), requiredUnion: [...requiredUnion].sort(), unregistered };
78
+ }
79
+ //# sourceMappingURL=critic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critic.js","sourceRoot":"","sources":["../../src/adapters/critic.ts"],"names":[],"mappings":"AAyCA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE7D,QAAQ,CAAC,OAAsB;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,iCAAiC,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAoB,EACpB,QAAyB;AACzB,6DAA6D;AAC7D,oEAAoE;AACpE,kEAAkE;AAClE,oEAAoE;AACpE,iEAAiE;AACjE,uEAAuE;AACvE,gEAAgE;AAChE,2BAA2B;AAC3B,eAA6D;IAE7D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,eAAe;QAC/B,CAAC,CAAC,eAAe,YAAY,GAAG;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,SAAS;QACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YACxC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,MAAM,CAAC,QAAQ;gBAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC;AAC9F,CAAC"}