@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.
- package/LICENSE +201 -0
- package/README.md +150 -0
- package/dist/adapters/_shared.d.ts +45 -0
- package/dist/adapters/_shared.d.ts.map +1 -0
- package/dist/adapters/_shared.js +200 -0
- package/dist/adapters/_shared.js.map +1 -0
- package/dist/adapters/codex-sdk.d.ts +279 -0
- package/dist/adapters/codex-sdk.d.ts.map +1 -0
- package/dist/adapters/codex-sdk.js +930 -0
- package/dist/adapters/codex-sdk.js.map +1 -0
- package/dist/adapters/critic-result-schema.d.ts +215 -0
- package/dist/adapters/critic-result-schema.d.ts.map +1 -0
- package/dist/adapters/critic-result-schema.js +153 -0
- package/dist/adapters/critic-result-schema.js.map +1 -0
- package/dist/adapters/critic.d.ts +62 -0
- package/dist/adapters/critic.d.ts.map +1 -0
- package/dist/adapters/critic.js +79 -0
- package/dist/adapters/critic.js.map +1 -0
- package/dist/adapters/cursor-sdk.d.ts +153 -0
- package/dist/adapters/cursor-sdk.d.ts.map +1 -0
- package/dist/adapters/cursor-sdk.js +818 -0
- package/dist/adapters/cursor-sdk.js.map +1 -0
- package/dist/adapters/gemini-sdk.d.ts +113 -0
- package/dist/adapters/gemini-sdk.d.ts.map +1 -0
- package/dist/adapters/gemini-sdk.js +532 -0
- package/dist/adapters/gemini-sdk.js.map +1 -0
- package/dist/adapters/grok-direct-sdk.d.ts +148 -0
- package/dist/adapters/grok-direct-sdk.d.ts.map +1 -0
- package/dist/adapters/grok-direct-sdk.js +694 -0
- package/dist/adapters/grok-direct-sdk.js.map +1 -0
- package/dist/branch-protection/audit_branch_protection.py +759 -0
- package/dist/branch-protection/index.d.ts +25 -0
- package/dist/branch-protection/index.d.ts.map +1 -0
- package/dist/branch-protection/index.js +70 -0
- package/dist/branch-protection/index.js.map +1 -0
- package/dist/branch-protection/spec-default.yaml +314 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +581 -0
- package/dist/cli.js.map +1 -0
- package/dist/cycle-doc-validator/index.d.ts +43 -0
- package/dist/cycle-doc-validator/index.d.ts.map +1 -0
- package/dist/cycle-doc-validator/index.js +69 -0
- package/dist/cycle-doc-validator/index.js.map +1 -0
- package/dist/cycle-doc-validator/validate_cycle_doc.py +1260 -0
- package/dist/cycle-tracker-sync/attribute_pr_cycle_ref.py +384 -0
- package/dist/cycle-tracker-sync/index.d.ts +20 -0
- package/dist/cycle-tracker-sync/index.d.ts.map +1 -0
- package/dist/cycle-tracker-sync/index.js +71 -0
- package/dist/cycle-tracker-sync/index.js.map +1 -0
- package/dist/cycle-tracker-sync/sync_cycle_trackers.py +1093 -0
- package/dist/evidence/audit-trail.d.ts +59 -0
- package/dist/evidence/audit-trail.d.ts.map +1 -0
- package/dist/evidence/audit-trail.js +283 -0
- package/dist/evidence/audit-trail.js.map +1 -0
- package/dist/evidence/index.d.ts +4 -0
- package/dist/evidence/index.d.ts.map +1 -0
- package/dist/evidence/index.js +29 -0
- package/dist/evidence/index.js.map +1 -0
- package/dist/evidence/per-sha.d.ts +13 -0
- package/dist/evidence/per-sha.d.ts.map +1 -0
- package/dist/evidence/per-sha.js +97 -0
- package/dist/evidence/per-sha.js.map +1 -0
- package/dist/evidence/quality-gates.d.ts +19 -0
- package/dist/evidence/quality-gates.d.ts.map +1 -0
- package/dist/evidence/quality-gates.js +212 -0
- package/dist/evidence/quality-gates.js.map +1 -0
- package/dist/git.d.ts +40 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +414 -0
- package/dist/git.js.map +1 -0
- package/dist/glob.d.ts +4 -0
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +99 -0
- package/dist/glob.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/paths.d.ts +12 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +42 -0
- package/dist/paths.js.map +1 -0
- package/dist/policy/baseline.d.ts +15 -0
- package/dist/policy/baseline.d.ts.map +1 -0
- package/dist/policy/baseline.js +115 -0
- package/dist/policy/baseline.js.map +1 -0
- package/dist/policy/config.d.ts +64 -0
- package/dist/policy/config.d.ts.map +1 -0
- package/dist/policy/config.js +363 -0
- package/dist/policy/config.js.map +1 -0
- package/dist/policy/gate.d.ts +80 -0
- package/dist/policy/gate.d.ts.map +1 -0
- package/dist/policy/gate.js +1019 -0
- package/dist/policy/gate.js.map +1 -0
- package/dist/policy/index.d.ts +7 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +14 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/merge-queue.d.ts +183 -0
- package/dist/policy/merge-queue.d.ts.map +1 -0
- package/dist/policy/merge-queue.js +310 -0
- package/dist/policy/merge-queue.js.map +1 -0
- package/dist/policy/profile.d.ts +98 -0
- package/dist/policy/profile.d.ts.map +1 -0
- package/dist/policy/profile.js +156 -0
- package/dist/policy/profile.js.map +1 -0
- package/dist/policy/tdd-classifier.d.ts +18 -0
- package/dist/policy/tdd-classifier.d.ts.map +1 -0
- package/dist/policy/tdd-classifier.js +79 -0
- package/dist/policy/tdd-classifier.js.map +1 -0
- package/dist/prompt.d.ts +13 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +175 -0
- package/dist/prompt.js.map +1 -0
- package/dist/report.d.ts +88 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +376 -0
- package/dist/report.js.map +1 -0
- package/dist/runner.d.ts +30 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +456 -0
- package/dist/runner.js.map +1 -0
- package/dist/security.d.ts +2 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +19 -0
- package/dist/security.js.map +1 -0
- package/dist/trusted-surface/rebind.d.ts +10 -0
- package/dist/trusted-surface/rebind.d.ts.map +1 -0
- package/dist/trusted-surface/rebind.js +154 -0
- package/dist/trusted-surface/rebind.js.map +1 -0
- 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"}
|