@lannguyensi/harness 0.38.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/dist/cli/add/index.js +10 -2
- package/dist/cli/add/index.js.map +1 -1
- package/dist/cli/add/mutate.d.ts +2 -0
- package/dist/cli/add/mutate.js.map +1 -1
- package/dist/cli/adopt/derive.d.ts +11 -1
- package/dist/cli/adopt/derive.js +28 -2
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.js +21 -13
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.js +31 -3
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +43 -0
- package/dist/cli/apply/generate-settings.js +53 -0
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/approve/stdin-report.d.ts +42 -0
- package/dist/cli/approve/stdin-report.js +143 -0
- package/dist/cli/approve/stdin-report.js.map +1 -0
- package/dist/cli/approve/understanding.d.ts +20 -0
- package/dist/cli/approve/understanding.js +16 -0
- package/dist/cli/approve/understanding.js.map +1 -1
- package/dist/cli/diff/git.d.ts +18 -0
- package/dist/cli/diff/git.js +49 -2
- package/dist/cli/diff/git.js.map +1 -1
- package/dist/cli/diff/index.d.ts +7 -0
- package/dist/cli/diff/index.js +82 -7
- package/dist/cli/diff/index.js.map +1 -1
- package/dist/cli/doctor/format.js +21 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +33 -0
- package/dist/cli/doctor/index.js +94 -4
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +23 -0
- package/dist/cli/index.js +38 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.js +1 -1
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +2 -2
- package/dist/cli/init/profiles.js +11 -2
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +1 -1
- package/dist/cli/init/templates.js +40 -1
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/loader.js +9 -1
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/pack/approve-escape.d.ts +19 -0
- package/dist/cli/pack/approve-escape.js +120 -0
- package/dist/cli/pack/approve-escape.js.map +1 -0
- package/dist/cli/pack/hook-bootstrap.d.ts +14 -1
- package/dist/cli/pack/hook-bootstrap.js +32 -2
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.js +2 -18
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.js +17 -19
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +39 -79
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js +2 -15
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/pack/understanding-report-schema-hint.js +12 -1
- package/dist/cli/pack/understanding-report-schema-hint.js.map +1 -1
- package/dist/cli/policy/intercept.d.ts +10 -0
- package/dist/cli/policy/intercept.js +60 -24
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +23 -0
- package/dist/cli/validate/checks.js +101 -0
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/merge-settings.d.ts +23 -1
- package/dist/io/merge-settings.js +120 -10
- package/dist/io/merge-settings.js.map +1 -1
- package/dist/io/read-regular-file.d.ts +32 -0
- package/dist/io/read-regular-file.js +34 -0
- package/dist/io/read-regular-file.js.map +1 -0
- package/dist/policies/index.d.ts +1 -1
- package/dist/policies/index.js +1 -1
- package/dist/policies/index.js.map +1 -1
- package/dist/policies/ledger-client.d.ts +41 -0
- package/dist/policies/ledger-client.js +199 -94
- package/dist/policies/ledger-client.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +4 -3
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +11 -20
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +21 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +44 -20
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +2 -2
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/intercept.d.ts +8 -0
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/ledger-add.js +5 -1
- package/dist/runtime/ledger-add.js.map +1 -1
- package/dist/runtime/ledger-record.d.ts +18 -0
- package/dist/runtime/ledger-record.js +43 -0
- package/dist/runtime/ledger-record.js.map +1 -1
- package/dist/schema/grounding.js +22 -0
- package/dist/schema/grounding.js.map +1 -1
- package/dist/schema/index.js +41 -4
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/memory.js +9 -0
- package/dist/schema/memory.js.map +1 -1
- package/dist/schema/risk.js +10 -6
- package/dist/schema/risk.js.map +1 -1
- package/package.json +6 -1
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// Wired by Claude Code's settings.json (regenerated by `harness apply`) as
|
|
4
4
|
// the PreToolUse hook. Reads the event JSON from stdin, runs the runtime
|
|
5
5
|
// interceptor, writes Claude Code's deny JSON to stdout on block.
|
|
6
|
-
import {
|
|
6
|
+
import { openLedgerSession, } from "../../policies/index.js";
|
|
7
7
|
import * as fs from "node:fs";
|
|
8
8
|
import * as os from "node:os";
|
|
9
9
|
import * as path from "node:path";
|
|
10
|
-
import { intercept,
|
|
10
|
+
import { intercept, recordPolicyDecisionOnSession, resolveGitContext, resolveKubeContext, } from "../../runtime/index.js";
|
|
11
11
|
import { resolveGeneratedDir, writePendingApproval } from "../../runtime/pending-approval.js";
|
|
12
12
|
import { parseBashPrefix } from "../../runtime/bash-prefix-parse.js";
|
|
13
13
|
import { loadManifest } from "../loader.js";
|
|
@@ -141,6 +141,16 @@ function resolvePolicyCwd(event, codexCommandCwd) {
|
|
|
141
141
|
* Real grounding-mcp-backed ledger client. Exported for testing: the
|
|
142
142
|
* `record` adapter's failure-surfacing path is exercised against a
|
|
143
143
|
* bogus mcpCommand in tests/runtime/intercept-cli.test.ts.
|
|
144
|
+
*
|
|
145
|
+
* Connection discipline (2026-07-01 review, enforcement-subprocess-latency):
|
|
146
|
+
* ONE lazily-opened grounding-mcp session serves every query and audit
|
|
147
|
+
* record of the intercept invocation this client was constructed for,
|
|
148
|
+
* instead of 2 fresh subprocess spawns per matching policy. On top,
|
|
149
|
+
* `ledger_summary` returns the WHOLE session's entries (per-tag filtering
|
|
150
|
+
* happens client-side in `intercept()`), so the K per-policy queries are
|
|
151
|
+
* textually identical — they collapse into one cached round-trip per
|
|
152
|
+
* sessionId. `runInterceptCli` calls `dispose()` when the intercept
|
|
153
|
+
* completes; a caller constructing this client directly owns that call.
|
|
144
154
|
*/
|
|
145
155
|
export function realLedgerClient(server, opts) {
|
|
146
156
|
const command = Array.isArray(server.command)
|
|
@@ -149,21 +159,35 @@ export function realLedgerClient(server, opts) {
|
|
|
149
159
|
const env = server.env ?? undefined;
|
|
150
160
|
const timeoutMs = opts.ledgerTimeoutMs ?? server.health?.timeout_ms ?? 5_000;
|
|
151
161
|
const stderr = opts.stderr ?? process.stderr;
|
|
162
|
+
let session = null;
|
|
163
|
+
const summaryCache = new Map();
|
|
164
|
+
const getSession = () => (session ??= openLedgerSession({
|
|
165
|
+
mcpCommand: command,
|
|
166
|
+
...(env && { mcpEnv: env }),
|
|
167
|
+
timeoutMs,
|
|
168
|
+
}));
|
|
152
169
|
return {
|
|
153
170
|
async query(_tag, sessionId) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
171
|
+
// Cache the Promise (not the value) so concurrent queries for the
|
|
172
|
+
// same session dedupe onto one in-flight round-trip. A degraded
|
|
173
|
+
// result is cached too — deliberately: a first-query timeout
|
|
174
|
+
// degrades ALL K policies to warn-degraded (fail-open, matching the
|
|
175
|
+
// documented ledger-unreachable contract) instead of retrying per
|
|
176
|
+
// policy, which would reintroduce the fan-out. Staleness: our own
|
|
177
|
+
// `record` rows are filtered out by the evaluator by design; an
|
|
178
|
+
// EXTERNAL writer landing evidence mid-loop would make a later
|
|
179
|
+
// policy deny where a fresh query would allow — a fail-closed,
|
|
180
|
+
// ms-wide window resolved by the agent's retry (next intercept =
|
|
181
|
+
// fresh session + fresh snapshot).
|
|
182
|
+
let cached = summaryCache.get(sessionId);
|
|
183
|
+
if (cached === undefined) {
|
|
184
|
+
cached = getSession().querySummary({ sessionId });
|
|
185
|
+
summaryCache.set(sessionId, cached);
|
|
186
|
+
}
|
|
187
|
+
return cached;
|
|
160
188
|
},
|
|
161
189
|
async record(decision, sessionId) {
|
|
162
|
-
const result = await
|
|
163
|
-
mcpCommand: command,
|
|
164
|
-
...(env && { mcpEnv: env }),
|
|
165
|
-
timeoutMs,
|
|
166
|
-
});
|
|
190
|
+
const result = await recordPolicyDecisionOnSession(getSession(), decision, sessionId);
|
|
167
191
|
// A failed audit-write must not block the tool — the decision is
|
|
168
192
|
// still applied — but it must not be silent either: an unrecorded
|
|
169
193
|
// decision is invisible to `harness audit` / `explain --trace`.
|
|
@@ -173,6 +197,9 @@ export function realLedgerClient(server, opts) {
|
|
|
173
197
|
`${decision.policyName}: ${result.reason ?? "unknown error"}\n`);
|
|
174
198
|
}
|
|
175
199
|
},
|
|
200
|
+
dispose() {
|
|
201
|
+
session?.dispose();
|
|
202
|
+
},
|
|
176
203
|
};
|
|
177
204
|
}
|
|
178
205
|
function degradedLedgerClient(reason) {
|
|
@@ -338,17 +365,26 @@ export async function runInterceptCli(opts = {}) {
|
|
|
338
365
|
kubeNamespace: kube.namespace,
|
|
339
366
|
};
|
|
340
367
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
368
|
+
let result;
|
|
369
|
+
try {
|
|
370
|
+
result = await intercept({
|
|
371
|
+
manifest,
|
|
372
|
+
event,
|
|
373
|
+
ledger,
|
|
374
|
+
builtins,
|
|
375
|
+
stderr,
|
|
376
|
+
...(opts.ledgerTimeoutMs !== undefined && { ledgerTimeoutMs: opts.ledgerTimeoutMs }),
|
|
377
|
+
...(opts.now && { now: opts.now }),
|
|
378
|
+
...(gitContext.sha.length > 0 && { currentHeadSha: gitContext.sha }),
|
|
379
|
+
...(riskContext && { riskContext }),
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
finally {
|
|
383
|
+
// Tear down the pooled grounding-mcp session (no-op for injected test
|
|
384
|
+
// doubles and the degraded client). All queries/records are awaited
|
|
385
|
+
// inside intercept(), so nothing is in flight here.
|
|
386
|
+
ledger.dispose?.();
|
|
387
|
+
}
|
|
352
388
|
// Stage the session id for a later arg-less `harness approve risk`
|
|
353
389
|
// whenever the FIRST blocking decision is `require_approval`. Mirrors
|
|
354
390
|
// the Understanding Gate hook (src/cli/pack/hook-pre-tool-use.ts):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../src/cli/policy/intercept.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../src/cli/policy/intercept.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,13 @@ export interface CheckOptions {
|
|
|
6
6
|
pathEnv?: string;
|
|
7
7
|
builtinRuntimeProbe?: () => string[];
|
|
8
8
|
versionProbe?: (cmd: readonly string[]) => string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Answers "is this repo-relative path git-ignored in the current working
|
|
11
|
+
* directory's repository?". `null` means "cannot tell" (not a git repo,
|
|
12
|
+
* git unavailable) and skips the dependent check. Injectable for tests;
|
|
13
|
+
* defaults to a real `git check-ignore` probe.
|
|
14
|
+
*/
|
|
15
|
+
gitIgnoreProbe?: GitIgnoreProbe;
|
|
9
16
|
}
|
|
10
17
|
declare function isRootedPath(p: string): boolean;
|
|
11
18
|
declare function firstToken(command: string): string;
|
|
@@ -13,6 +20,22 @@ declare function resolveOnPath(binary: string, pathEnv: string): string | null;
|
|
|
13
20
|
declare function compareVersions(actual: string, required: string): number;
|
|
14
21
|
export declare function checkPolicyGroundingMcp(manifest: Manifest): Diagnostic[];
|
|
15
22
|
export declare function checkSolutionAcceptanceProducer(manifest: Manifest): Diagnostic[];
|
|
23
|
+
/**
|
|
24
|
+
* Answers "is `relPath` git-ignored here?": `true` / `false`, or `null`
|
|
25
|
+
* when the question has no answer (not a git repository, git not
|
|
26
|
+
* installed). See `createDefaultGitIgnoreProbe` for the real
|
|
27
|
+
* implementation; checks receive the probe so tests stay hermetic.
|
|
28
|
+
*/
|
|
29
|
+
export type GitIgnoreProbe = (relPath: string) => boolean | null;
|
|
30
|
+
/**
|
|
31
|
+
* The orchestrator-workflow knob the grounding-mcp producer reads
|
|
32
|
+
* (`resolveOwKnob`). Repo-relative on purpose: the knob belongs to the
|
|
33
|
+
* repository whose completions the OW arm gates.
|
|
34
|
+
*/
|
|
35
|
+
export declare const OW_KNOB_REL_PATH = ".ai/solution-acceptance.json";
|
|
36
|
+
export declare function createDefaultGitIgnoreProbe(cwd?: string): GitIgnoreProbe;
|
|
37
|
+
export declare function checkSolutionAcceptanceKnobIgnored(manifest: Manifest, probe: GitIgnoreProbe): Diagnostic[];
|
|
38
|
+
export declare function checkPolicySelfAttestation(manifest: Manifest): Diagnostic[];
|
|
16
39
|
export declare function checkPolicyRiskWithoutEnvScope(manifest: Manifest): Diagnostic[];
|
|
17
40
|
export declare function runAssetChecks(manifest: Manifest, opts?: CheckOptions): Diagnostic[];
|
|
18
41
|
export declare const __testables: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
1
2
|
import * as fs from "node:fs";
|
|
2
3
|
import * as os from "node:os";
|
|
3
4
|
import * as path from "node:path";
|
|
@@ -274,6 +275,104 @@ export function checkSolutionAcceptanceProducer(manifest) {
|
|
|
274
275
|
}
|
|
275
276
|
return [];
|
|
276
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* The orchestrator-workflow knob the grounding-mcp producer reads
|
|
280
|
+
* (`resolveOwKnob`). Repo-relative on purpose: the knob belongs to the
|
|
281
|
+
* repository whose completions the OW arm gates.
|
|
282
|
+
*/
|
|
283
|
+
export const OW_KNOB_REL_PATH = ".ai/solution-acceptance.json";
|
|
284
|
+
export function createDefaultGitIgnoreProbe(cwd) {
|
|
285
|
+
return (relPath) => {
|
|
286
|
+
const res = spawnSync("git", ["check-ignore", "-q", "--", relPath], {
|
|
287
|
+
cwd: cwd ?? process.cwd(),
|
|
288
|
+
stdio: "ignore",
|
|
289
|
+
});
|
|
290
|
+
if (res.error)
|
|
291
|
+
return null;
|
|
292
|
+
if (res.status === 0)
|
|
293
|
+
return true;
|
|
294
|
+
if (res.status === 1)
|
|
295
|
+
return false;
|
|
296
|
+
return null; // 128: not a git repository (or another fatal git error)
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
// Knob-reachability lint (task 24f6ceb9, ow-review-2026-07-01). The OW arm
|
|
300
|
+
// of solution-acceptance reads repo state: the knob above plus run
|
|
301
|
+
// completeness under `.ai/runs/`. When the knob path is git-ignored the
|
|
302
|
+
// repo CANNOT commit its enforcement posture, so in a fresh clone or a git
|
|
303
|
+
// worktree `.ai/runs/` is absent, the default `auto` knob silently skips
|
|
304
|
+
// the OW arm, and the gate that exists to prevent process skipping is
|
|
305
|
+
// itself skipped exactly where process skipping happens. Warn (not error):
|
|
306
|
+
// the preflight floor still gates every completion; only the OW arm is
|
|
307
|
+
// affected. A `null` probe answer (non-repo cwd, git missing) skips the
|
|
308
|
+
// check — validate must stay usable for pure home-config linting.
|
|
309
|
+
export function checkSolutionAcceptanceKnobIgnored(manifest, probe) {
|
|
310
|
+
const pack = manifest.policy_packs.find((p) => p.name === "solution-acceptance");
|
|
311
|
+
if (!pack || !pack.enabled)
|
|
312
|
+
return [];
|
|
313
|
+
if (probe(OW_KNOB_REL_PATH) !== true)
|
|
314
|
+
return [];
|
|
315
|
+
return [
|
|
316
|
+
{
|
|
317
|
+
severity: "warning",
|
|
318
|
+
path: "policy_packs",
|
|
319
|
+
message: `solution-acceptance: the orchestrator-workflow knob ${OW_KNOB_REL_PATH} ` +
|
|
320
|
+
`is git-ignored in this repository, so the OW enforcement posture cannot ` +
|
|
321
|
+
`be committed. In a fresh clone or git worktree .ai/runs/ is absent and ` +
|
|
322
|
+
`the default "auto" knob silently skips the OW arm — exactly where ` +
|
|
323
|
+
`process skipping happens. Narrow the ignore to .ai/runs/ (run state ` +
|
|
324
|
+
`stays local) and commit ${OW_KNOB_REL_PATH}; see ` +
|
|
325
|
+
`docs/policy-packs/solution-acceptance.md ("Repo state and gitignore").`,
|
|
326
|
+
},
|
|
327
|
+
];
|
|
328
|
+
}
|
|
329
|
+
// Self-attestation disclosure (task 43b107f2, harness-review-2026-07-01).
|
|
330
|
+
// The generic `requires:`/`ledger_tag` engine matches substrings in ledger
|
|
331
|
+
// content that the GATED AGENT can write directly via
|
|
332
|
+
// `mcp__agent-grounding__ledger_add` — whoever can write the ledger can open
|
|
333
|
+
// the gate. The two builtin packs were hardened to filesystem markers after
|
|
334
|
+
// exactly this class of self-approval bug (docs/CLI.md, branch-protection),
|
|
335
|
+
// but a custom block-policy is only as strong as its evidence producer.
|
|
336
|
+
//
|
|
337
|
+
// Heuristic: warn only when a `block` policy declares NO `producers:` at
|
|
338
|
+
// all — the evidence source is then undocumented and the operator has made
|
|
339
|
+
// no visible trust decision. A declared producer, even an agent-executable
|
|
340
|
+
// `mcp`/`bash` one, IS the schema's way of stating the intended evidence
|
|
341
|
+
// flow (same philosophy as the doctor producer-gap refinement, task
|
|
342
|
+
// f97e152f): the full/team templates deliberately ship mcp-producer
|
|
343
|
+
// process-gates whose purpose is forcing a review-subagent step, and
|
|
344
|
+
// warning on every one of them would train operators to ignore warnings.
|
|
345
|
+
// What an agent-executable producer MEANS for the trust model (advisory
|
|
346
|
+
// against the gated agent) is taught by the tripwire in
|
|
347
|
+
// docs/writing-custom-policies.md, which the producer docs link to.
|
|
348
|
+
export function checkPolicySelfAttestation(manifest) {
|
|
349
|
+
const diags = [];
|
|
350
|
+
for (let i = 0; i < manifest.policies.length; i++) {
|
|
351
|
+
const p = manifest.policies[i];
|
|
352
|
+
// block-only on purpose: a require_approval policy's canonical unblock
|
|
353
|
+
// path is the operator verb (`harness approve risk`), an ask-semantics
|
|
354
|
+
// flow that exists independent of producers:, so absence of producers
|
|
355
|
+
// there does not mean the evidence source is undocumented.
|
|
356
|
+
if (p === undefined || p.enforcement !== "block")
|
|
357
|
+
continue;
|
|
358
|
+
if (p.producers !== undefined && p.producers.length > 0)
|
|
359
|
+
continue;
|
|
360
|
+
diags.push({
|
|
361
|
+
severity: "warning",
|
|
362
|
+
path: `policies[${i}]`,
|
|
363
|
+
message: `policy "${p.name}" blocks on requires.ledger_tag but declares no ` +
|
|
364
|
+
`producers: — the evidence source is undocumented, and the tag is ` +
|
|
365
|
+
`satisfied by ANY ledger writer, including the gated agent itself ` +
|
|
366
|
+
`via mcp__agent-grounding__ledger_add (advisory against the agent ` +
|
|
367
|
+
`it gates). Declare a producers: entry naming the intended evidence ` +
|
|
368
|
+
`flow — an ask-kind producer for operator-in-the-loop approval ` +
|
|
369
|
+
`(alongside the mcp recovery producer the schema requires), or an ` +
|
|
370
|
+
`agent recipe if the gate is a deliberate process gate. See ` +
|
|
371
|
+
`docs/writing-custom-policies.md ("The trust model").`,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
return diags;
|
|
375
|
+
}
|
|
277
376
|
// M7 validate lint: a policy that gates on risk.* / action.reversible clauses
|
|
278
377
|
// WITHOUT an environment.name clause fires on EVERY unclassified command in
|
|
279
378
|
// EVERY environment because those three clauses fail-closed to matched=true
|
|
@@ -353,9 +452,11 @@ export function runAssetChecks(manifest, opts = {}) {
|
|
|
353
452
|
...checkBuiltinDrift(manifest, opts),
|
|
354
453
|
...checkPolicyGroundingMcp(manifest),
|
|
355
454
|
...checkSolutionAcceptanceProducer(manifest),
|
|
455
|
+
...checkSolutionAcceptanceKnobIgnored(manifest, opts.gitIgnoreProbe ?? createDefaultGitIgnoreProbe()),
|
|
356
456
|
...checkPolicyPacks(manifest),
|
|
357
457
|
...checkPolicyPackConfigsAsDiagnostics(manifest),
|
|
358
458
|
...checkPolicyRiskWithoutEnvScope(manifest),
|
|
459
|
+
...checkPolicySelfAttestation(manifest),
|
|
359
460
|
];
|
|
360
461
|
}
|
|
361
462
|
export const __testables = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/cli/validate/checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/cli/validate/checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,30 @@
|
|
|
1
|
+
export interface MergeOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Server names harness itself wrote into the generated settings.json
|
|
4
|
+
* on the PREVIOUS apply (from `.last-apply`). Used to tell "operator
|
|
5
|
+
* hand-added" apart from "harness-written before, since removed or
|
|
6
|
+
* disabled in the manifest". Omit when no prior apply is recorded.
|
|
7
|
+
*/
|
|
8
|
+
previouslyGeneratedMcpNames?: ReadonlySet<string>;
|
|
9
|
+
}
|
|
1
10
|
export interface MergeResult {
|
|
2
11
|
merged: Record<string, unknown>;
|
|
3
12
|
replacedKeys: string[];
|
|
4
13
|
preservedKeys: string[];
|
|
5
14
|
addedKeys: string[];
|
|
15
|
+
/** Owned keys that were deep-merged instead of wholesale-replaced. */
|
|
16
|
+
deepMergedKeys: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Server names inside `mcpServers` that exist only in the target file
|
|
19
|
+
* (operator hand-adds) and survived the deep merge.
|
|
20
|
+
*/
|
|
21
|
+
preservedMcpServers: string[];
|
|
22
|
+
/**
|
|
23
|
+
* Server names dropped because harness wrote them on a previous apply
|
|
24
|
+
* but the current manifest no longer emits them (removed or
|
|
25
|
+
* `enabled: false`).
|
|
26
|
+
*/
|
|
27
|
+
removedMcpServers: string[];
|
|
6
28
|
}
|
|
7
|
-
export declare function mergeSettings(existing: Record<string, unknown> | null, generated: Record<string, unknown
|
|
29
|
+
export declare function mergeSettings(existing: Record<string, unknown> | null, generated: Record<string, unknown>, opts?: MergeOptions): MergeResult;
|
|
8
30
|
export declare function summarizeMerge(target: string, r: MergeResult): string;
|
|
@@ -1,22 +1,87 @@
|
|
|
1
1
|
// 3-way merge for `harness apply --target <path> --merge`.
|
|
2
2
|
//
|
|
3
3
|
// Merge semantics: harness owns whichever top-level keys appear in the
|
|
4
|
-
// generated output (today: `hooks
|
|
5
|
-
//
|
|
6
|
-
//
|
|
4
|
+
// generated output (today: `hooks` and `mcpServers`). Owned keys are
|
|
5
|
+
// replaced wholesale — EXCEPT `mcpServers`, which is deep-merged by
|
|
6
|
+
// server name (task 059b669c, operator decision 2026-07-02). Per name:
|
|
7
|
+
//
|
|
8
|
+
// - declared in the current generated output → generated value wins
|
|
9
|
+
// (the manifest stays the source of truth for what it declares);
|
|
10
|
+
// - absent from the generated output but recorded as harness-written
|
|
11
|
+
// on a PREVIOUS apply (`previouslyGeneratedMcpNames`, derived from
|
|
12
|
+
// `.last-apply`) → DROPPED: the operator removed or disabled the
|
|
13
|
+
// server in the manifest, and `enabled: false` must stay an
|
|
14
|
+
// effective kill switch on --merge targets;
|
|
15
|
+
// - absent from both → operator hand-add, preserved verbatim.
|
|
16
|
+
//
|
|
17
|
+
// Without the provenance set (no `.last-apply` yet, a record with no
|
|
18
|
+
// settings.json entry, or a corrupt record), unknown names are
|
|
19
|
+
// preserved — the conservative reading, since dropping could destroy
|
|
20
|
+
// an operator hand-add.
|
|
21
|
+
//
|
|
22
|
+
// `hooks` stays wholesale-owned: its nested array-of-groups shape has
|
|
23
|
+
// no stable identity key to merge on, so partial ownership would be
|
|
24
|
+
// ambiguous; hand-added hooks belong in the manifest (documented in
|
|
25
|
+
// docs/for-humans.md).
|
|
7
26
|
//
|
|
8
27
|
// Insertion order: existing keys first (stable diff against the prior
|
|
9
28
|
// file), then any new generated keys appended at the end. Owned keys
|
|
10
29
|
// keep their existing position so a re-apply doesn't churn on-disk
|
|
11
|
-
// ordering.
|
|
12
|
-
|
|
30
|
+
// ordering. Inside a deep-merged mcpServers block the same rule holds.
|
|
31
|
+
//
|
|
32
|
+
// Accumulators are null-prototype objects: a server literally named
|
|
33
|
+
// `__proto__` in the target file must round-trip as an own property,
|
|
34
|
+
// not hit the inherited prototype setter.
|
|
35
|
+
function isRecord(x) {
|
|
36
|
+
return typeof x === "object" && x !== null && !Array.isArray(x);
|
|
37
|
+
}
|
|
38
|
+
export function mergeSettings(existing, generated, opts = {}) {
|
|
13
39
|
const replaced = [];
|
|
14
40
|
const added = [];
|
|
15
41
|
const preserved = [];
|
|
16
|
-
const
|
|
42
|
+
const deepMerged = [];
|
|
43
|
+
const preservedMcpServers = [];
|
|
44
|
+
const removedMcpServers = [];
|
|
45
|
+
const out = Object.create(null);
|
|
17
46
|
if (existing) {
|
|
18
47
|
for (const k of Object.keys(existing)) {
|
|
19
|
-
if (k
|
|
48
|
+
if (k === "mcpServers" && isRecord(existing[k])) {
|
|
49
|
+
const inGenerated = Object.prototype.hasOwnProperty.call(generated, k);
|
|
50
|
+
if (inGenerated && !isRecord(generated[k])) {
|
|
51
|
+
// Malformed generated side: wholesale, generated wins.
|
|
52
|
+
out[k] = generated[k];
|
|
53
|
+
replaced.push(k);
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (!inGenerated && opts.previouslyGeneratedMcpNames === undefined) {
|
|
57
|
+
// The manifest emits no servers AND no provenance is
|
|
58
|
+
// available: nothing here is provably harness-written, so the
|
|
59
|
+
// key is not ours to touch.
|
|
60
|
+
out[k] = existing[k];
|
|
61
|
+
preserved.push(k);
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
// Deep merge — also when the generated output has NO mcpServers
|
|
65
|
+
// key at all (every declared server removed or disabled): the
|
|
66
|
+
// provenance set still identifies the harness-written leftovers
|
|
67
|
+
// that must be dropped so enabled:false stays a kill switch.
|
|
68
|
+
const r = mergeMcpServers(existing[k], inGenerated ? generated[k] : {}, opts.previouslyGeneratedMcpNames);
|
|
69
|
+
preservedMcpServers.push(...r.operatorNames);
|
|
70
|
+
removedMcpServers.push(...r.removedNames);
|
|
71
|
+
if (inGenerated || Object.keys(r.merged).length > 0) {
|
|
72
|
+
out[k] = r.merged;
|
|
73
|
+
}
|
|
74
|
+
// else: every entry was harness-written and dropped, and the
|
|
75
|
+
// generated output has no mcpServers key — omit it, mirroring
|
|
76
|
+
// what a fresh (non-merge) apply would write.
|
|
77
|
+
deepMerged.push(k);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (Object.prototype.hasOwnProperty.call(generated, k)) {
|
|
81
|
+
// Wholesale replace: harness owns the key. Also the fallback
|
|
82
|
+
// when the existing mcpServers is not an object (malformed
|
|
83
|
+
// target) — the generated shape wins rather than merging into
|
|
84
|
+
// a corrupt value.
|
|
20
85
|
out[k] = generated[k];
|
|
21
86
|
replaced.push(k);
|
|
22
87
|
}
|
|
@@ -27,21 +92,66 @@ export function mergeSettings(existing, generated) {
|
|
|
27
92
|
}
|
|
28
93
|
}
|
|
29
94
|
for (const k of Object.keys(generated)) {
|
|
30
|
-
if (existing && k
|
|
95
|
+
if (existing && Object.prototype.hasOwnProperty.call(existing, k))
|
|
31
96
|
continue;
|
|
32
97
|
out[k] = generated[k];
|
|
33
98
|
added.push(k);
|
|
34
99
|
}
|
|
35
|
-
return {
|
|
100
|
+
return {
|
|
101
|
+
merged: out,
|
|
102
|
+
replacedKeys: replaced,
|
|
103
|
+
preservedKeys: preserved,
|
|
104
|
+
addedKeys: added,
|
|
105
|
+
deepMergedKeys: deepMerged,
|
|
106
|
+
preservedMcpServers,
|
|
107
|
+
removedMcpServers,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Union by server name with provenance (see the module header for the
|
|
112
|
+
* three per-name cases). Existing insertion order is kept, new
|
|
113
|
+
* generated names are appended in their generated (lexical) order.
|
|
114
|
+
*/
|
|
115
|
+
function mergeMcpServers(existing, generated, previouslyGenerated) {
|
|
116
|
+
const merged = Object.create(null);
|
|
117
|
+
const operatorNames = [];
|
|
118
|
+
const removedNames = [];
|
|
119
|
+
for (const name of Object.keys(existing)) {
|
|
120
|
+
if (Object.prototype.hasOwnProperty.call(generated, name)) {
|
|
121
|
+
merged[name] = generated[name];
|
|
122
|
+
}
|
|
123
|
+
else if (previouslyGenerated?.has(name)) {
|
|
124
|
+
removedNames.push(name);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
merged[name] = existing[name];
|
|
128
|
+
operatorNames.push(name);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const name of Object.keys(generated)) {
|
|
132
|
+
if (Object.prototype.hasOwnProperty.call(existing, name))
|
|
133
|
+
continue;
|
|
134
|
+
merged[name] = generated[name];
|
|
135
|
+
}
|
|
136
|
+
return { merged, operatorNames, removedNames };
|
|
36
137
|
}
|
|
37
138
|
export function summarizeMerge(target, r) {
|
|
38
139
|
const replacedFrag = r.replacedKeys.length
|
|
39
140
|
? `replaced ${r.replacedKeys.length} owned key${r.replacedKeys.length === 1 ? "" : "s"} (${r.replacedKeys.join(", ")})`
|
|
40
141
|
: "replaced 0 owned keys";
|
|
142
|
+
const deepMergedFrag = r.deepMergedKeys.length
|
|
143
|
+
? `, deep-merged ${r.deepMergedKeys.join(", ")}`
|
|
144
|
+
: "";
|
|
41
145
|
const addedFrag = r.addedKeys.length
|
|
42
146
|
? `, added ${r.addedKeys.length} (${r.addedKeys.join(", ")})`
|
|
43
147
|
: "";
|
|
44
148
|
const preservedFrag = `, preserved ${r.preservedKeys.length} other key${r.preservedKeys.length === 1 ? "" : "s"}`;
|
|
45
|
-
|
|
149
|
+
const keptFrag = r.preservedMcpServers.length
|
|
150
|
+
? `, kept ${r.preservedMcpServers.length} operator-added mcpServer${r.preservedMcpServers.length === 1 ? "" : "s"} (${r.preservedMcpServers.join(", ")})`
|
|
151
|
+
: "";
|
|
152
|
+
const droppedFrag = r.removedMcpServers.length
|
|
153
|
+
? `, dropped ${r.removedMcpServers.length} manifest-removed mcpServer${r.removedMcpServers.length === 1 ? "" : "s"} (${r.removedMcpServers.join(", ")})`
|
|
154
|
+
: "";
|
|
155
|
+
return `merged into ${target}: ${replacedFrag}${deepMergedFrag}${addedFrag}${preservedFrag}${keptFrag}${droppedFrag}`;
|
|
46
156
|
}
|
|
47
157
|
//# sourceMappingURL=merge-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-settings.js","sourceRoot":"","sources":["../../src/io/merge-settings.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"merge-settings.js","sourceRoot":"","sources":["../../src/io/merge-settings.ts"],"names":[],"mappings":"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"}
|