@momentiq/dark-factory-cli 0.1.0-alpha.5 → 0.1.0-alpha.6
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/README.md +138 -10
- package/dist/cli.js +480 -9
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,11 +45,11 @@ critic / aggregator logic lands in Phase F.
|
|
|
45
45
|
|
|
46
46
|
## Status
|
|
47
47
|
|
|
48
|
-
`0.1.0-alpha.
|
|
49
|
-
`scripts/ci/` per cycle 331.1 Phases B
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
`0.1.0-alpha.6` — extracted from `momentiq-ai/sage3c:tools/agent-review/` +
|
|
49
|
+
`scripts/ci/` per cycle 331.1 Phases B–F-LOCAL. Library API is stable;
|
|
50
|
+
binary subcommands cover the full hook-facing surface (review, gate-push,
|
|
51
|
+
doctor, gates, stats) under the subscription cost model. The Phase F
|
|
52
|
+
`df critic` subcommand is the CI cold-path API-key version.
|
|
53
53
|
|
|
54
54
|
## Install
|
|
55
55
|
|
|
@@ -98,6 +98,14 @@ df attribute-pr # env-driven; needs PR_NUMBER, PR_NODE_ID, PR_BODY_FILE, PROJEC
|
|
|
98
98
|
df audit stats --path .git/agent-reviews/_runs.ndjson
|
|
99
99
|
df admit-pr --files-stdin # newline-separated file paths on stdin
|
|
100
100
|
df admit-pr --files docs/roadmap/cycles/cycle331.md,packages/cli/src/cli.ts
|
|
101
|
+
|
|
102
|
+
# Phase F-LOCAL hook-facing subcommands (subscription cost model).
|
|
103
|
+
df review --commit HEAD --profile local --foreground
|
|
104
|
+
df gate-push # local pre-push, reads stdin
|
|
105
|
+
df gate-push --commit HEAD --ci # CI replay
|
|
106
|
+
df doctor --profile local # env + per-adapter auth check
|
|
107
|
+
df gates # static gates, no LLM
|
|
108
|
+
df stats # alias for `df audit stats`
|
|
101
109
|
```
|
|
102
110
|
|
|
103
111
|
> **Note on `--use-bundled-default-spec`**: the bundled `spec-default.yaml`
|
|
@@ -109,11 +117,131 @@ df admit-pr --files docs/roadmap/cycles/cycle331.md,packages/cli/src/cli.ts
|
|
|
109
117
|
> against an arbitrary repo will surface drift against contexts that
|
|
110
118
|
> don't exist there.
|
|
111
119
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
120
|
+
## For consumer repos — hook wiring + subscription cost model
|
|
121
|
+
|
|
122
|
+
The Phase F-LOCAL subcommands (`review`, `gate-push`, `doctor`, `gates`,
|
|
123
|
+
`stats`) are designed to power consumer repos' `.husky/post-commit` and
|
|
124
|
+
`.husky/pre-push` hooks. The **cost model** is critical: per-commit critic
|
|
125
|
+
invocations from API tokens cost $1000s/week on a busy repo, while
|
|
126
|
+
subscription-auth invocations (using the developer's existing Cursor /
|
|
127
|
+
Codex / Claude CLI logins) are flat-rate.
|
|
128
|
+
|
|
129
|
+
### Subscription auth — what runs on each git push
|
|
130
|
+
|
|
131
|
+
| Subcommand | Hook | Cost model |
|
|
132
|
+
| --- | --- | --- |
|
|
133
|
+
| `df review` | `.husky/post-commit` (background) | **Subscription** — consumes Cursor / Codex / Claude CLI logins via the active profile's `auth` pins. No API spend by default. |
|
|
134
|
+
| `df gate-push` | `.husky/pre-push` | Free — reads pre-existing artifacts, no LLM calls. |
|
|
135
|
+
| `df doctor` | None (operator-run) | Free. Validates that per-adapter auth source is reachable. |
|
|
136
|
+
| `df gates` | None (operator-run) | Free. Runs static quality gates per `validation.requiredQualityGates`. |
|
|
137
|
+
| `df stats` | None (operator-run) | Free. Reads `.git/agent-reviews/_runs.ndjson`. |
|
|
138
|
+
|
|
139
|
+
CI cold-path (the 4 vendor API keys: `CURSOR_API_KEY`, `CODEX_API_KEY`,
|
|
140
|
+
`GEMINI_API_KEY`, `XAI_API_KEY`) is intentionally the fallback only —
|
|
141
|
+
used when:
|
|
142
|
+
|
|
143
|
+
- The first PR on a fresh repo runs critic before any developer has run
|
|
144
|
+
hooks locally.
|
|
145
|
+
- A hook bypass landed and the CI gate needs to re-evaluate.
|
|
146
|
+
- The developer hasn't logged in to a vendor CLI yet
|
|
147
|
+
(`cursor login` / `codex login` / Claude desktop OAuth).
|
|
148
|
+
|
|
149
|
+
### `.agent-review/config.json` — the profile that pins subscription auth
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"version": 2,
|
|
154
|
+
"critics": [
|
|
155
|
+
{ "id": "cursor-local-chief-engineer", "adapter": "cursor-sdk", ... },
|
|
156
|
+
{ "id": "codex-local-chief-engineer", "adapter": "codex-sdk", ... }
|
|
157
|
+
],
|
|
158
|
+
"profiles": {
|
|
159
|
+
"local": {
|
|
160
|
+
"criticIds": ["cursor-local-chief-engineer", "codex-local-chief-engineer"],
|
|
161
|
+
"quorum": 1,
|
|
162
|
+
"auth": {
|
|
163
|
+
"codex-local-chief-engineer": "chatgpt"
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"cloud": {
|
|
167
|
+
"criticIds": ["cursor-local-chief-engineer", "codex-local-chief-engineer"],
|
|
168
|
+
"quorum": 2,
|
|
169
|
+
"auth": {
|
|
170
|
+
"codex-local-chief-engineer": "api"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
The `local` profile pins `codex` to `"chatgpt"` — the Codex SDK will use
|
|
178
|
+
`~/.codex/auth.json` (from `codex login`) and **NOT** fall back to
|
|
179
|
+
`CODEX_API_KEY` even if it's set in env. This is the firewall against
|
|
180
|
+
accidental API-token billing.
|
|
181
|
+
|
|
182
|
+
`df doctor --profile local` validates the configured subscription source
|
|
183
|
+
is reachable. Run it after first-time setup.
|
|
184
|
+
|
|
185
|
+
### Sample `.husky/post-commit`
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
#!/usr/bin/env bash
|
|
189
|
+
set -euo pipefail
|
|
190
|
+
if [[ "${AGENT_REVIEW_SKIP:-}" == "1" ]]; then
|
|
191
|
+
echo "df: skipped by AGENT_REVIEW_SKIP=1"
|
|
192
|
+
exit 0
|
|
193
|
+
fi
|
|
194
|
+
SHA="$(git rev-parse HEAD)"
|
|
195
|
+
COMMON_DIR="$(git rev-parse --git-common-dir 2>/dev/null || echo .git)"
|
|
196
|
+
mkdir -p "${COMMON_DIR}/agent-reviews"
|
|
197
|
+
LOG_FILE="${COMMON_DIR}/agent-reviews/post-commit.log"
|
|
198
|
+
# Detached background invocation — does not block the commit.
|
|
199
|
+
AGENT_REVIEW_PROFILE=local nohup npx df review --commit "${SHA}" \
|
|
200
|
+
>"${LOG_FILE}" 2>&1 </dev/null &
|
|
201
|
+
disown || true
|
|
202
|
+
echo "df: review started for ${SHA:0:12} (log: ${LOG_FILE})"
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Sample `.husky/pre-push`
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
#!/usr/bin/env bash
|
|
209
|
+
set -euo pipefail
|
|
210
|
+
if [[ -n "${AGENT_REVIEW_BYPASS:-}" ]]; then
|
|
211
|
+
echo "df: pre-push gate BYPASSED — reason: ${AGENT_REVIEW_BYPASS}" >&2
|
|
212
|
+
exit 0
|
|
213
|
+
fi
|
|
214
|
+
npx df gate-push --profile local
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Doppler bootstrap (optional)
|
|
218
|
+
|
|
219
|
+
For repos that use Doppler to manage `DOPPLER_TOKEN`, place it in
|
|
220
|
+
`<main-checkout>/.env` and the bootstrap loader will hoist it from any
|
|
221
|
+
worktree:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
echo 'DOPPLER_TOKEN=dp.st.dev.…' > <main-checkout>/.env
|
|
225
|
+
chmod 600 <main-checkout>/.env
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
The default allowlist is **just `DOPPLER_TOKEN`**. Consumers that use
|
|
229
|
+
project-scoped service-token vars (e.g. `DOPPLER_SERVICE_TOKEN_ACME`) can
|
|
230
|
+
pass a custom allowlist to `loadDopplerBootstrapEnv()` via the library
|
|
231
|
+
API — see `packages/cli/src/doppler-bootstrap.ts` for the
|
|
232
|
+
`serviceTokenAlias` parameter that bridges to `DOPPLER_TOKEN`.
|
|
233
|
+
|
|
234
|
+
### First-time setup checklist
|
|
235
|
+
|
|
236
|
+
1. `npm install --ignore-scripts @momentiq/dark-factory-cli`
|
|
237
|
+
2. Add `.agent-review/config.json` with the `local` profile (above).
|
|
238
|
+
3. Add `.husky/post-commit` + `.husky/pre-push` (samples above).
|
|
239
|
+
4. `git config --local core.hooksPath .husky`
|
|
240
|
+
5. `cursor login` / `codex login` (or Claude desktop OAuth) on the workstation.
|
|
241
|
+
6. Run `df doctor --profile local` — should report all OK.
|
|
242
|
+
7. Commit something — observe `.git/agent-reviews/<sha>.json` arrives.
|
|
243
|
+
8. (Optional) Set up CI with `CURSOR_API_KEY` / `CODEX_API_KEY` /
|
|
244
|
+
`GEMINI_API_KEY` / `XAI_API_KEY` as repo secrets for the cold path.
|
|
117
245
|
|
|
118
246
|
## System requirements
|
|
119
247
|
|
package/dist/cli.js
CHANGED
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
// `df validate-cycle-doc --help` to get the full flag list. Phase D
|
|
34
34
|
// subcommands accept their own flags directly (see `cmdAudit` and
|
|
35
35
|
// `cmdAdmitPr` below).
|
|
36
|
-
import {
|
|
36
|
+
import { spawnSync } from "node:child_process";
|
|
37
|
+
import { accessSync, constants as fsConstants, existsSync, readFileSync, } from "node:fs";
|
|
37
38
|
import { dirname, resolve } from "node:path";
|
|
38
39
|
import { fileURLToPath } from "node:url";
|
|
39
40
|
import { runValidateCycleDoc } from "./cycle-doc-validator/index.js";
|
|
@@ -41,7 +42,7 @@ import { runAuditBranchProtection } from "./branch-protection/index.js";
|
|
|
41
42
|
import { runSyncCycleTrackers, runAttributePrCycleRef, } from "./cycle-tracker-sync/index.js";
|
|
42
43
|
import { FileTelemetrySink, readTelemetryEvents, summarizeTelemetry, computeQuorumStats, computeCriticAgreement, } from "./evidence/audit-trail.js";
|
|
43
44
|
import { classifyPrKindFromFiles } from "./policy/merge-queue.js";
|
|
44
|
-
import { AdapterRegistry } from "./adapters/critic.js";
|
|
45
|
+
import { AdapterRegistry, collectRequiredEnvVars, } from "./adapters/critic.js";
|
|
45
46
|
// NOTE: vendor adapters (Cursor, Codex, Gemini, Grok) are dynamically
|
|
46
47
|
// imported inside `buildDefaultAdapterRegistry()` so the CLI loads under
|
|
47
48
|
// `--ignore-scripts` for every non-`df critic` subcommand. The Cursor
|
|
@@ -51,8 +52,17 @@ import { AdapterRegistry } from "./adapters/critic.js";
|
|
|
51
52
|
// path). Phase B-PUBLISH-pkg (cycle 331.1, alpha.5): see
|
|
52
53
|
// https://github.com/momentiq-ai/dark-factory/pull/<this-pr>.
|
|
53
54
|
import { loadAgentReviewConfig } from "./policy/config.js";
|
|
54
|
-
import { runReview } from "./runner.js";
|
|
55
|
+
import { runReview, runCommitGate } from "./runner.js";
|
|
55
56
|
import { resolveArtifactDir, telemetryPath } from "./paths.js";
|
|
57
|
+
// Phase F-LOCAL — hook-facing subcommand support.
|
|
58
|
+
import { loadDopplerBootstrapEnv, DEFAULT_BOOTSTRAP_ALLOWLIST, } from "./doppler-bootstrap.js";
|
|
59
|
+
import { runDoctor } from "./doctor.js";
|
|
60
|
+
import { resolveProfile } from "./policy/profile.js";
|
|
61
|
+
import { commitsForPushUpdate, parsePrePushUpdates, resolveCommit, commitParent, changedFiles, } from "./git.js";
|
|
62
|
+
import { runQualityGates } from "./evidence/quality-gates.js";
|
|
63
|
+
import { matchAnyGlob } from "./glob.js";
|
|
64
|
+
import { collectChangedPaths } from "./evidence/index.js";
|
|
65
|
+
import { summarizeGate } from "./policy/gate.js";
|
|
56
66
|
function readPackageMeta() {
|
|
57
67
|
try {
|
|
58
68
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -96,10 +106,29 @@ function printHelp(meta) {
|
|
|
96
106
|
" aggregate verdict to .git/agent-reviews/<sha>.",
|
|
97
107
|
" Degrades-and-passes on any error (exit 0).",
|
|
98
108
|
"",
|
|
99
|
-
"Subcommands (
|
|
100
|
-
" df review
|
|
101
|
-
"
|
|
102
|
-
"
|
|
109
|
+
"Subcommands (Phase F-LOCAL — hook-facing CLI, subscription cost model):",
|
|
110
|
+
" df review Background-friendly local critic invocation",
|
|
111
|
+
" for .husky/post-commit. Honors profile auth",
|
|
112
|
+
" (chatgpt/composer/subscription) so Cursor +",
|
|
113
|
+
" Codex + Claude SUBSCRIPTIONS are consumed,",
|
|
114
|
+
" NOT pay-per-token API keys.",
|
|
115
|
+
" df gate-push Read pre-push stdin + gate every commit in",
|
|
116
|
+
" the pushed range. CI mode: --commit SHA --ci.",
|
|
117
|
+
" Honors AGENT_REVIEW_BYPASS for emergencies.",
|
|
118
|
+
" df doctor Verify env: node, hooks, hookPath, artifact",
|
|
119
|
+
" dir, Doppler bootstrap, per-adapter auth.",
|
|
120
|
+
" df gates Run configured `requiredQualityGates` and",
|
|
121
|
+
" triggered verification routes. No LLM calls.",
|
|
122
|
+
" df stats Pretty-print critic call stats + bypass audit.",
|
|
123
|
+
" Alias for `df audit stats`. No LLM calls.",
|
|
124
|
+
"",
|
|
125
|
+
"Cost model:",
|
|
126
|
+
" The local hook path (review/gate-push) consumes Cursor / Codex / Claude",
|
|
127
|
+
" SUBSCRIPTIONS via the developer's existing CLI logins. Vendor API keys",
|
|
128
|
+
" (CURSOR_API_KEY / CODEX_API_KEY / GEMINI_API_KEY / XAI_API_KEY) are the",
|
|
129
|
+
" CI cold-path fallback only. Profile `auth` pins (e.g. `chatgpt` on the",
|
|
130
|
+
" codex critic) enforce subscription-only with no env-presence fallback",
|
|
131
|
+
" (cycle 322.7 issue #2103).",
|
|
103
132
|
"",
|
|
104
133
|
"Each Phase C subcommand passes its remaining argv through to the bundled",
|
|
105
134
|
"Python script verbatim; run `df <subcommand> --help` for full flags.",
|
|
@@ -121,7 +150,10 @@ function printHelp(meta) {
|
|
|
121
150
|
" import { runReview, evaluateCommitGate, buildReviewPacket }",
|
|
122
151
|
` from \"${name}\";`,
|
|
123
152
|
"",
|
|
124
|
-
"Status: 0.1.0-alpha.
|
|
153
|
+
"Status: 0.1.0-alpha.6 — Phase F-LOCAL ports sage3c's hook-facing CLI",
|
|
154
|
+
" subcommands (review/gate-push/doctor/gates/stats) so consumer",
|
|
155
|
+
" repos can wire .husky hooks to the subscription-auth local",
|
|
156
|
+
" critic path. Also: Phase B-PUBLISH-pkg fixes CLI loadability",
|
|
125
157
|
" under `npm install --ignore-scripts` for all non-`df critic`",
|
|
126
158
|
" subcommands. Phase F wires the real Critic Orchestrator and",
|
|
127
159
|
" dogfoods dark-factory on its own PRs. Reusable workflows from",
|
|
@@ -189,6 +221,19 @@ const PHASE_D_SUBCOMMANDS = new Set(["audit", "admit-pr"]);
|
|
|
189
221
|
// aggregate artifact. Degrades-and-passes on any error so the
|
|
190
222
|
// dogfood gate stays green while operators triage upstream issues.
|
|
191
223
|
const PHASE_F_SUBCOMMANDS = new Set(["status-check", "critic"]);
|
|
224
|
+
// Phase F-LOCAL — hook-facing subcommands. These wire .husky/post-commit +
|
|
225
|
+
// .husky/pre-push in consumer repos to consume Cursor / Codex / Claude
|
|
226
|
+
// SUBSCRIPTIONS via existing CLI logins rather than burning pay-per-token
|
|
227
|
+
// API keys. Cost-control is load-bearing — per-commit critic invocations
|
|
228
|
+
// from API tokens cost $1000s/week on busy repos; subscription-auth
|
|
229
|
+
// invocations are flat-rate. See README "For consumer repos" section.
|
|
230
|
+
const PHASE_F_LOCAL_SUBCOMMANDS = new Set([
|
|
231
|
+
"review",
|
|
232
|
+
"gate-push",
|
|
233
|
+
"doctor",
|
|
234
|
+
"gates",
|
|
235
|
+
"stats",
|
|
236
|
+
]);
|
|
192
237
|
function cmdStatusCheck(_rest) {
|
|
193
238
|
// PR Status Check is a sentinel aggregator. As cycle 331.1 Phase E
|
|
194
239
|
// documents in `.github/workflows/pr-status-check.yml`, this gate is
|
|
@@ -346,6 +391,415 @@ async function cmdCritic(rest) {
|
|
|
346
391
|
return 0;
|
|
347
392
|
}
|
|
348
393
|
}
|
|
394
|
+
// ===========================================================================
|
|
395
|
+
// Phase F-LOCAL — hook-facing subcommands (review / gate-push / doctor /
|
|
396
|
+
// gates / stats).
|
|
397
|
+
//
|
|
398
|
+
// Ported from sage3c's tools/agent-review/src/cli.ts. These are the
|
|
399
|
+
// subcommands consumer repos wire into `.husky/post-commit` and
|
|
400
|
+
// `.husky/pre-push` so the local critic runs against the developer's
|
|
401
|
+
// Cursor / Codex / Claude SUBSCRIPTIONS via existing CLI logins —
|
|
402
|
+
// avoiding the $1000s/week token spend that a pure API-key path would
|
|
403
|
+
// incur on a busy repo.
|
|
404
|
+
//
|
|
405
|
+
// Subscription-auth preservation: each subcommand uses
|
|
406
|
+
// `resolveProfile()` + `runReview()/runCommitGate()` which already honor
|
|
407
|
+
// the active profile's `auth` pins via `applyProfileAuth()` (cycle 322.7
|
|
408
|
+
// issue #2103). The adapters then validate ONLY the configured source —
|
|
409
|
+
// e.g. `auth: "chatgpt"` on the codex critic means "subscription only,
|
|
410
|
+
// no API-key fallback". This is the firewall that prevents accidental
|
|
411
|
+
// API spend.
|
|
412
|
+
//
|
|
413
|
+
// Doppler re-exec: when a configured adapter declares `requiredEnvVars`
|
|
414
|
+
// AND those vars are unset AND the config declares `secrets.doppler`,
|
|
415
|
+
// the CLI transparently re-execs itself under
|
|
416
|
+
// `doppler run --project X --config Y -- node ...` so the secrets reach
|
|
417
|
+
// the child via Doppler injection. AGENT_REVIEW_DOPPLER_REEXEC blocks
|
|
418
|
+
// recursive re-exec.
|
|
419
|
+
// ===========================================================================
|
|
420
|
+
async function buildHookRegistry() {
|
|
421
|
+
return buildDefaultAdapterRegistry();
|
|
422
|
+
}
|
|
423
|
+
async function maybeReexecUnderDoppler(loaded, registry, activeCriticIds) {
|
|
424
|
+
const dop = loaded.config.secrets?.doppler;
|
|
425
|
+
if (process.env["AGENT_REVIEW_DOPPLER_REEXEC"])
|
|
426
|
+
return { reexeced: false };
|
|
427
|
+
const { union, requiredUnion, unregistered } = collectRequiredEnvVars(loaded, registry, activeCriticIds);
|
|
428
|
+
const missing = union.filter((v) => !process.env[v]);
|
|
429
|
+
const missingRequired = requiredUnion.filter((v) => !process.env[v]);
|
|
430
|
+
if (missing.length === 0)
|
|
431
|
+
return { reexeced: false };
|
|
432
|
+
if (!dop)
|
|
433
|
+
return { reexeced: false };
|
|
434
|
+
if (unregistered.length > 0) {
|
|
435
|
+
process.stderr.write(`df: critic config references unregistered adapter(s): ${unregistered.join(", ")}.\n`);
|
|
436
|
+
}
|
|
437
|
+
if (!(await hasOnPath("doppler"))) {
|
|
438
|
+
if (missingRequired.length === 0) {
|
|
439
|
+
process.stderr.write(`df: doppler CLI not on PATH; optional critic env vars are unset: ${missing.join(", ")}.\n` +
|
|
440
|
+
" continuing without Doppler.\n");
|
|
441
|
+
return { reexeced: false };
|
|
442
|
+
}
|
|
443
|
+
process.stderr.write(`df: doppler CLI not on PATH and required env vars are unset: ${missingRequired.join(", ")}.\n` +
|
|
444
|
+
" install Doppler or export the missing vars directly.\n");
|
|
445
|
+
return { reexeced: true, code: 1 };
|
|
446
|
+
}
|
|
447
|
+
const code = reexecUnderDoppler(dop.project, dop.config);
|
|
448
|
+
if (code !== 0 && missingRequired.length === 0) {
|
|
449
|
+
process.stderr.write("df: optional critic invocation under `doppler run` failed; continuing.\n");
|
|
450
|
+
return { reexeced: false };
|
|
451
|
+
}
|
|
452
|
+
if (code !== 0 && !process.env["DOPPLER_TOKEN"]) {
|
|
453
|
+
process.stderr.write("df: critic invocation under `doppler run` failed and no DOPPLER_TOKEN was reachable.\n" +
|
|
454
|
+
` missing required env vars: ${missingRequired.join(", ")}\n` +
|
|
455
|
+
" fix one of: export DOPPLER_TOKEN, add it to <main-checkout>/.env, or export the missing vars directly.\n" +
|
|
456
|
+
" AGENT_REVIEW_BYPASS is NOT the right response for a config error.\n");
|
|
457
|
+
}
|
|
458
|
+
return { reexeced: true, code };
|
|
459
|
+
}
|
|
460
|
+
function reexecUnderDoppler(project, config) {
|
|
461
|
+
const args = ["run", "--project", project, "--config", config, "--", ...process.argv];
|
|
462
|
+
const result = spawnSync("doppler", args, {
|
|
463
|
+
stdio: "inherit",
|
|
464
|
+
env: { ...process.env, AGENT_REVIEW_DOPPLER_REEXEC: "1" },
|
|
465
|
+
});
|
|
466
|
+
if (result.error) {
|
|
467
|
+
process.stderr.write(`df: failed to re-exec under doppler: ${result.error.message}\n`);
|
|
468
|
+
return 1;
|
|
469
|
+
}
|
|
470
|
+
return result.status ?? 1;
|
|
471
|
+
}
|
|
472
|
+
async function hasOnPath(cmd) {
|
|
473
|
+
const PATH = process.env["PATH"] ?? "";
|
|
474
|
+
for (const dir of PATH.split(":")) {
|
|
475
|
+
if (!dir)
|
|
476
|
+
continue;
|
|
477
|
+
const candidate = `${dir}/${cmd}`;
|
|
478
|
+
try {
|
|
479
|
+
accessSync(candidate, fsConstants.X_OK);
|
|
480
|
+
return true;
|
|
481
|
+
}
|
|
482
|
+
catch {
|
|
483
|
+
// not found here; try next
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return false;
|
|
487
|
+
}
|
|
488
|
+
async function readStdinUtf8FromTtyOrStream() {
|
|
489
|
+
if (process.stdin.isTTY)
|
|
490
|
+
return "";
|
|
491
|
+
return readStdinUtf8();
|
|
492
|
+
}
|
|
493
|
+
async function loadHookConfig() {
|
|
494
|
+
try {
|
|
495
|
+
return await loadAgentReviewConfig({
|
|
496
|
+
warn: (msg) => process.stderr.write(`df: ${msg}\n`),
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
catch (err) {
|
|
500
|
+
process.stderr.write(`df: ${err.message}\n`);
|
|
501
|
+
return null;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
function activeCriticIdsForProfile(loaded, profileName) {
|
|
505
|
+
const profiles = loaded.config.profiles;
|
|
506
|
+
if (!profiles)
|
|
507
|
+
return undefined;
|
|
508
|
+
const profile = profiles[profileName];
|
|
509
|
+
if (!profile)
|
|
510
|
+
return undefined;
|
|
511
|
+
return profile.criticIds;
|
|
512
|
+
}
|
|
513
|
+
// ----- df review -----
|
|
514
|
+
async function cmdReview(rest) {
|
|
515
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
516
|
+
process.stdout.write([
|
|
517
|
+
"df review — run the local critic against a commit (subscription auth).",
|
|
518
|
+
"",
|
|
519
|
+
"Usage:",
|
|
520
|
+
" df review [--commit HEAD] [--profile NAME] [--foreground]",
|
|
521
|
+
"",
|
|
522
|
+
"Designed for .husky/post-commit. Honors profile `auth` pins so",
|
|
523
|
+
"Cursor / Codex / Claude SUBSCRIPTIONS are consumed instead of",
|
|
524
|
+
"pay-per-token API keys.",
|
|
525
|
+
"",
|
|
526
|
+
"Flags:",
|
|
527
|
+
" --commit HEAD Commit to review (default HEAD)",
|
|
528
|
+
" --profile NAME Profile (default: env AGENT_REVIEW_PROFILE or `local`)",
|
|
529
|
+
" --foreground Print artifact paths on completion",
|
|
530
|
+
"",
|
|
531
|
+
].join("\n"));
|
|
532
|
+
return 0;
|
|
533
|
+
}
|
|
534
|
+
loadDopplerBootstrapEnv({ allowlist: DEFAULT_BOOTSTRAP_ALLOWLIST });
|
|
535
|
+
const loaded = await loadHookConfig();
|
|
536
|
+
if (!loaded)
|
|
537
|
+
return 2;
|
|
538
|
+
const { flags } = parseFlags(rest);
|
|
539
|
+
const registry = await buildHookRegistry();
|
|
540
|
+
const profileName = resolveProfile({ profile: flags["profile"] }, process.env);
|
|
541
|
+
const profileAllowlist = activeCriticIdsForProfile(loaded, profileName);
|
|
542
|
+
const rx = await maybeReexecUnderDoppler(loaded, registry, profileAllowlist);
|
|
543
|
+
if (rx.reexeced)
|
|
544
|
+
return rx.code;
|
|
545
|
+
const artifactDir = await resolveArtifactDir(loaded);
|
|
546
|
+
const sink = new FileTelemetrySink(telemetryPath(artifactDir));
|
|
547
|
+
const ref = flags["commit"] ?? "HEAD";
|
|
548
|
+
const foreground = flags["foreground"] === true || flags["foreground"] === "true";
|
|
549
|
+
try {
|
|
550
|
+
const outcome = await runReview({
|
|
551
|
+
loaded,
|
|
552
|
+
registry,
|
|
553
|
+
ref,
|
|
554
|
+
telemetry: sink,
|
|
555
|
+
profileName,
|
|
556
|
+
});
|
|
557
|
+
if (foreground) {
|
|
558
|
+
process.stdout.write(`df review: ${outcome.artifact.gateVerdict ?? "complete"} for ${outcome.artifact.commit.slice(0, 12)}\n`);
|
|
559
|
+
process.stdout.write(` json: ${outcome.paths.jsonPath}\n`);
|
|
560
|
+
process.stdout.write(` md: ${outcome.paths.markdownPath ?? "(not written — see stderr)"}\n`);
|
|
561
|
+
}
|
|
562
|
+
return 0;
|
|
563
|
+
}
|
|
564
|
+
catch (err) {
|
|
565
|
+
process.stderr.write(`df review failed: ${err.message}\n`);
|
|
566
|
+
return 1;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
// ----- df gate-push -----
|
|
570
|
+
async function cmdGatePush(rest) {
|
|
571
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
572
|
+
process.stdout.write([
|
|
573
|
+
"df gate-push — block a push when prior commits have unresolved blockers.",
|
|
574
|
+
"",
|
|
575
|
+
"Usage:",
|
|
576
|
+
" df gate-push [--profile NAME] # local pre-push",
|
|
577
|
+
" df gate-push --commit SHA --ci [--profile NAME] # CI replay",
|
|
578
|
+
"",
|
|
579
|
+
"Designed for .husky/pre-push. Reads git's pre-push protocol on stdin",
|
|
580
|
+
"and gates each commit in the pushed range against the per-SHA artifact",
|
|
581
|
+
"written by `df review`. Exit 1 if any commit has unresolved BLOCKER",
|
|
582
|
+
"findings under the configured aggregation policy.",
|
|
583
|
+
"",
|
|
584
|
+
"Bypass:",
|
|
585
|
+
" AGENT_REVIEW_BYPASS=\"<reason>\" git push # logged to _runs.ndjson",
|
|
586
|
+
"",
|
|
587
|
+
].join("\n"));
|
|
588
|
+
return 0;
|
|
589
|
+
}
|
|
590
|
+
const bypass = process.env["AGENT_REVIEW_BYPASS"];
|
|
591
|
+
if (bypass !== undefined && bypass !== "") {
|
|
592
|
+
process.stderr.write(`df gate-push: BYPASSED — reason: ${bypass}\n` +
|
|
593
|
+
" this bypass will be logged to .git/agent-reviews/_runs.ndjson; cite an issue # in the reason.\n");
|
|
594
|
+
return 0;
|
|
595
|
+
}
|
|
596
|
+
const loaded = await loadHookConfig();
|
|
597
|
+
if (!loaded)
|
|
598
|
+
return 2;
|
|
599
|
+
const { flags } = parseFlags(rest);
|
|
600
|
+
const artifactDir = await resolveArtifactDir(loaded);
|
|
601
|
+
const sink = new FileTelemetrySink(telemetryPath(artifactDir));
|
|
602
|
+
const profileName = resolveProfile({ profile: flags["profile"] }, process.env);
|
|
603
|
+
const commitFlag = flags["commit"];
|
|
604
|
+
const ciFlag = flags["ci"] === true || flags["ci"] === "true";
|
|
605
|
+
if (typeof commitFlag === "string" && commitFlag.length > 0) {
|
|
606
|
+
if (!ciFlag) {
|
|
607
|
+
process.stderr.write("df gate-push: --commit requires --ci (CI replay mode is the only intended caller).\n");
|
|
608
|
+
return 2;
|
|
609
|
+
}
|
|
610
|
+
const sha = await resolveCommit(commitFlag);
|
|
611
|
+
process.stdout.write(`df gate-push: gating 1 commit (CI mode) for ${sha.slice(0, 12)}\n`);
|
|
612
|
+
const result = await runCommitGate({
|
|
613
|
+
loaded,
|
|
614
|
+
commit: sha,
|
|
615
|
+
telemetry: sink,
|
|
616
|
+
profileName,
|
|
617
|
+
});
|
|
618
|
+
process.stdout.write(`-- ${sha.slice(0, 12)}\n${summarizeGate(result)}\n`);
|
|
619
|
+
return result.blocked ? 1 : 0;
|
|
620
|
+
}
|
|
621
|
+
const stdin = await readStdinUtf8FromTtyOrStream();
|
|
622
|
+
const updates = parsePrePushUpdates(stdin);
|
|
623
|
+
if (updates.length === 0) {
|
|
624
|
+
process.stdout.write("df gate-push: no push updates received; allowing\n");
|
|
625
|
+
return 0;
|
|
626
|
+
}
|
|
627
|
+
let blockedAny = false;
|
|
628
|
+
for (const update of updates) {
|
|
629
|
+
if (update.isDelete)
|
|
630
|
+
continue;
|
|
631
|
+
const commits = await commitsForPushUpdate(update);
|
|
632
|
+
if (commits.length === 0)
|
|
633
|
+
continue;
|
|
634
|
+
process.stdout.write(`df gate-push: gating ${commits.length} commit(s) on ${update.localRef} -> ${update.remoteRef}\n`);
|
|
635
|
+
for (const sha of commits) {
|
|
636
|
+
const result = await runCommitGate({
|
|
637
|
+
loaded,
|
|
638
|
+
commit: sha,
|
|
639
|
+
telemetry: sink,
|
|
640
|
+
profileName,
|
|
641
|
+
});
|
|
642
|
+
process.stdout.write(`-- ${sha.slice(0, 12)}\n${summarizeGate(result)}\n`);
|
|
643
|
+
if (result.blocked)
|
|
644
|
+
blockedAny = true;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
return blockedAny ? 1 : 0;
|
|
648
|
+
}
|
|
649
|
+
// ----- df doctor -----
|
|
650
|
+
async function cmdDoctor(rest) {
|
|
651
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
652
|
+
process.stdout.write([
|
|
653
|
+
"df doctor — verify the environment for hook-facing critic invocation.",
|
|
654
|
+
"",
|
|
655
|
+
"Usage:",
|
|
656
|
+
" df doctor [--profile NAME]",
|
|
657
|
+
"",
|
|
658
|
+
"Checks: node version, hooks dir, hook executable, core.hooksPath,",
|
|
659
|
+
"artifact dir, doppler bootstrap, per-adapter doctor() (subscription",
|
|
660
|
+
"auth lives here).",
|
|
661
|
+
"",
|
|
662
|
+
"Environment:",
|
|
663
|
+
" AGENT_REVIEW_PROFILE=<name> Profile to validate (default: local)",
|
|
664
|
+
" DF_DOCTOR_CI=1 Skip hookspath + doppler CLI checks",
|
|
665
|
+
" DF_DOCTOR_SKIP_HOOKS=1 Skip git-core-hookspath check",
|
|
666
|
+
" DF_DOCTOR_SKIP_DOPPLER=1 Skip doppler-cli-on-path check",
|
|
667
|
+
"",
|
|
668
|
+
].join("\n"));
|
|
669
|
+
return 0;
|
|
670
|
+
}
|
|
671
|
+
const bootstrap = loadDopplerBootstrapEnv({
|
|
672
|
+
allowlist: DEFAULT_BOOTSTRAP_ALLOWLIST,
|
|
673
|
+
});
|
|
674
|
+
const loaded = await loadHookConfig();
|
|
675
|
+
if (!loaded)
|
|
676
|
+
return 2;
|
|
677
|
+
const { flags } = parseFlags(rest);
|
|
678
|
+
const registry = await buildHookRegistry();
|
|
679
|
+
const rx = await maybeReexecUnderDoppler(loaded, registry);
|
|
680
|
+
if (rx.reexeced)
|
|
681
|
+
return rx.code;
|
|
682
|
+
const profileName = resolveProfile({ profile: flags["profile"] }, process.env);
|
|
683
|
+
const checks = await runDoctor({
|
|
684
|
+
loaded,
|
|
685
|
+
registry,
|
|
686
|
+
bootstrap,
|
|
687
|
+
profileName,
|
|
688
|
+
});
|
|
689
|
+
let allOk = true;
|
|
690
|
+
for (const c of checks) {
|
|
691
|
+
const label = c.passed ? "OK" : c.optional ? "INFO" : "FAIL";
|
|
692
|
+
process.stdout.write(`[${label}] ${c.name}: ${c.detail}\n`);
|
|
693
|
+
if (!c.passed && c.remediation) {
|
|
694
|
+
process.stdout.write(` fix: ${c.remediation}\n`);
|
|
695
|
+
}
|
|
696
|
+
if (!c.passed && !c.optional)
|
|
697
|
+
allOk = false;
|
|
698
|
+
}
|
|
699
|
+
return allOk ? 0 : 1;
|
|
700
|
+
}
|
|
701
|
+
// ----- df gates -----
|
|
702
|
+
async function cmdGates(rest) {
|
|
703
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
704
|
+
process.stdout.write([
|
|
705
|
+
"df gates — run configured quality gates + triggered verification routes.",
|
|
706
|
+
"",
|
|
707
|
+
"Usage:",
|
|
708
|
+
" df gates [--commit HEAD] [--route ROUTE_ID]",
|
|
709
|
+
"",
|
|
710
|
+
"Runs static gates from .agent-review/config.json:validation. Writes",
|
|
711
|
+
"per-SHA evidence. No LLM calls — this subcommand is free.",
|
|
712
|
+
"",
|
|
713
|
+
].join("\n"));
|
|
714
|
+
return 0;
|
|
715
|
+
}
|
|
716
|
+
const loaded = await loadHookConfig();
|
|
717
|
+
if (!loaded)
|
|
718
|
+
return 2;
|
|
719
|
+
const { flags } = parseFlags(rest);
|
|
720
|
+
const ref = flags["commit"] ?? "HEAD";
|
|
721
|
+
const sha = await resolveCommit(ref);
|
|
722
|
+
const routeFilter = flags["route"] ?? null;
|
|
723
|
+
let requiredFailures = 0;
|
|
724
|
+
let requiredRun = 0;
|
|
725
|
+
if (!routeFilter) {
|
|
726
|
+
const required = await runQualityGates({ loaded, commit: sha });
|
|
727
|
+
requiredRun = required.results.length;
|
|
728
|
+
requiredFailures = required.results.filter((r) => r.exitCode !== 0).length;
|
|
729
|
+
for (const r of required.results) {
|
|
730
|
+
process.stdout.write(` ${r.exitCode === 0 ? "PASS" : "FAIL"} ${r.command} (${r.durationMs}ms)\n`);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
const triggered = await triggeredRoutesForCommit(loaded, sha);
|
|
734
|
+
let routeFailures = 0;
|
|
735
|
+
let routeRun = 0;
|
|
736
|
+
for (const route of triggered) {
|
|
737
|
+
if (routeFilter && route.id !== routeFilter)
|
|
738
|
+
continue;
|
|
739
|
+
if (!route.command)
|
|
740
|
+
continue;
|
|
741
|
+
routeRun++;
|
|
742
|
+
const evidence = await runQualityGates({
|
|
743
|
+
loaded,
|
|
744
|
+
commit: sha,
|
|
745
|
+
commands: [route.command],
|
|
746
|
+
routeId: route.id,
|
|
747
|
+
});
|
|
748
|
+
const result = evidence.gateResults?.[route.id];
|
|
749
|
+
const exit = result?.exitCode ?? -1;
|
|
750
|
+
if (exit !== 0)
|
|
751
|
+
routeFailures++;
|
|
752
|
+
process.stdout.write(` ${exit === 0 ? "PASS" : "FAIL"} route[${route.id}] (${route.command}) exit=${exit}\n`);
|
|
753
|
+
}
|
|
754
|
+
const totalRun = requiredRun + routeRun;
|
|
755
|
+
const totalFail = requiredFailures + routeFailures;
|
|
756
|
+
process.stdout.write(`df gates: ${totalRun} run, ${totalFail} failed${routeFilter ? ` (filter=route:${routeFilter})` : ""}\n`);
|
|
757
|
+
return totalFail === 0 ? 0 : 1;
|
|
758
|
+
}
|
|
759
|
+
async function triggeredRoutesForCommit(loaded, sha) {
|
|
760
|
+
const routes = loaded.config.validation.verificationRoutes ?? [];
|
|
761
|
+
if (routes.length === 0)
|
|
762
|
+
return [];
|
|
763
|
+
let parent = "";
|
|
764
|
+
try {
|
|
765
|
+
parent = await commitParent(sha);
|
|
766
|
+
}
|
|
767
|
+
catch {
|
|
768
|
+
parent = "";
|
|
769
|
+
}
|
|
770
|
+
const files = await changedFiles(parent, sha, undefined, {
|
|
771
|
+
readContent: false,
|
|
772
|
+
});
|
|
773
|
+
const paths = collectChangedPaths(files);
|
|
774
|
+
return routes.filter((r) => paths.some((p) => matchAnyGlob(p, r.trigger)));
|
|
775
|
+
}
|
|
776
|
+
// ----- df stats -----
|
|
777
|
+
// Top-level alias for `df audit stats` (sage3c naming for migrants).
|
|
778
|
+
async function cmdStats(rest) {
|
|
779
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
780
|
+
process.stdout.write([
|
|
781
|
+
"df stats — pretty-print critic call stats + bypass audit.",
|
|
782
|
+
"",
|
|
783
|
+
"Usage:",
|
|
784
|
+
" df stats [--path <NDJSON>]",
|
|
785
|
+
"",
|
|
786
|
+
"Reads `<artifactDir>/_runs.ndjson` (resolved from loaded config, or",
|
|
787
|
+
"--path <PATH>). Alias for `df audit stats`. No LLM calls.",
|
|
788
|
+
"",
|
|
789
|
+
].join("\n"));
|
|
790
|
+
return 0;
|
|
791
|
+
}
|
|
792
|
+
const { flags } = parseFlags(rest);
|
|
793
|
+
if (typeof flags["path"] === "string") {
|
|
794
|
+
return cmdAudit(["stats", "--path", flags["path"]]);
|
|
795
|
+
}
|
|
796
|
+
const loaded = await loadHookConfig();
|
|
797
|
+
if (!loaded)
|
|
798
|
+
return 2;
|
|
799
|
+
const dir = await resolveArtifactDir(loaded);
|
|
800
|
+
const path = telemetryPath(dir);
|
|
801
|
+
return cmdAudit(["stats", "--path", path]);
|
|
802
|
+
}
|
|
349
803
|
// ---------------------------------------------------------------------------
|
|
350
804
|
// Phase D: `df audit stats` — service #8 (audit/compliance trail).
|
|
351
805
|
//
|
|
@@ -580,7 +1034,8 @@ async function main(argv) {
|
|
|
580
1034
|
const sub0 = args[0] ?? "";
|
|
581
1035
|
if (!PHASE_C_SUBCOMMANDS.has(sub0) &&
|
|
582
1036
|
!PHASE_D_SUBCOMMANDS.has(sub0) &&
|
|
583
|
-
!PHASE_F_SUBCOMMANDS.has(sub0)
|
|
1037
|
+
!PHASE_F_SUBCOMMANDS.has(sub0) &&
|
|
1038
|
+
!PHASE_F_LOCAL_SUBCOMMANDS.has(sub0)) {
|
|
584
1039
|
printHelp(meta);
|
|
585
1040
|
return 0;
|
|
586
1041
|
}
|
|
@@ -606,6 +1061,22 @@ async function main(argv) {
|
|
|
606
1061
|
if (sub === "critic") {
|
|
607
1062
|
return await cmdCritic(rest);
|
|
608
1063
|
}
|
|
1064
|
+
// Phase F-LOCAL — hook-facing subcommands.
|
|
1065
|
+
if (sub === "review") {
|
|
1066
|
+
return await cmdReview(rest);
|
|
1067
|
+
}
|
|
1068
|
+
if (sub === "gate-push") {
|
|
1069
|
+
return await cmdGatePush(rest);
|
|
1070
|
+
}
|
|
1071
|
+
if (sub === "doctor") {
|
|
1072
|
+
return await cmdDoctor(rest);
|
|
1073
|
+
}
|
|
1074
|
+
if (sub === "gates") {
|
|
1075
|
+
return await cmdGates(rest);
|
|
1076
|
+
}
|
|
1077
|
+
if (sub === "stats") {
|
|
1078
|
+
return await cmdStats(rest);
|
|
1079
|
+
}
|
|
609
1080
|
return notImplemented(sub);
|
|
610
1081
|
}
|
|
611
1082
|
main(process.argv).then((code) => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@momentiq/dark-factory-cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.6",
|
|
4
4
|
"description": "Dark Factory OSS CLI — multi-vendor adversarial critic orchestration (Cursor, Codex, Gemini, Grok) with min-complete-quorum aggregation and trusted-surface rebind",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|