@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 CHANGED
@@ -45,11 +45,11 @@ critic / aggregator logic lands in Phase F.
45
45
 
46
46
  ## Status
47
47
 
48
- `0.1.0-alpha.3` — extracted from `momentiq-ai/sage3c:tools/agent-review/` +
49
- `scripts/ci/` per cycle 331.1 Phases B, C, D, and E. Library API is stable;
50
- the binary's `review`/`gate`/`doctor` subcommands are still stubs (Phase F);
51
- the Phase E stubs (`status-check`, `critic`) intentionally exit 0 so the
52
- reusable workflow shapes can break the dogfood chicken-and-egg.
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
- The Phase F subcommands (`review`, `gate`, `doctor`) are stubbed and exit 2
113
- with a "not implemented" message pointing at the library API. The Phase E
114
- stubs (`status-check`, `critic`) intentionally exit 0 so the five reusable
115
- workflows can satisfy dark-factory's own ruleset while real critic
116
- orchestration lands in Phase F.
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 { existsSync, readFileSync } from "node:fs";
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 (coming in cycle 331.1 Phase G+):",
100
- " df review Run the multi-critic review for the current commit",
101
- " df gate Evaluate gate verdict for the current commit",
102
- " df doctor Diagnose installation, env, and config",
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.5 — Phase B-PUBLISH-pkg fixes CLI loadability",
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.5",
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",