metaharness 0.4.16 → 0.4.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"genome-scorers.d.ts","sourceRoot":"","sources":["../src/genome-scorers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAcvD;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAWtF;AAID,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtF,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAQ7E;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAMhE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAgBrF"}
1
+ {"version":3,"file":"genome-scorers.d.ts","sourceRoot":"","sources":["../src/genome-scorers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAcvD;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAuBtF;AAID,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtF,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAQ7E;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAMhE;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAgBrF"}
@@ -50,8 +50,20 @@ export function resolveAgentTopology(profile, plan) {
50
50
  const out = new Set();
51
51
  // Maintainer is the floor — every repo gets one.
52
52
  out.add('maintainer');
53
- // Tester if the repo has any test signal (commands or pre-existing CI).
54
- if (profile.testCommands.length > 0 || profile.hasCi)
53
+ // Tester if the repo has REAL test-file evidence or pre-existing CI — not
54
+ // just `testCommands`, which analyze-repo.ts populates from language
55
+ // detection alone (any rust or python repo gets 'cargo test'/'pytest'
56
+ // pushed unconditionally, regardless of whether test files exist; see
57
+ // hasVerifiedTestFiles's doc comment on scoreTestConfidence below, fixed
58
+ // for that sibling scorer by Dream Cycle 2026-08-25 (#229) but left open
59
+ // here until tonight).
60
+ // `npm test` is the one testCommands entry that is NOT language-inferred: it is
61
+ // only pushed when package.json declares a `scripts.test`, i.e. an authored
62
+ // test entry point. Keep trusting it so JS/TS repos with colocated
63
+ // `*.test.ts` files (no top-level test dir, which hasVerifiedTestFiles cannot
64
+ // see) still get a tester.
65
+ const authoredTestScript = profile.testCommands.includes('npm test');
66
+ if (profile.hasVerifiedTestFiles || profile.hasCi || authoredTestScript)
55
67
  out.add('tester');
56
68
  // Security if MCP is enabled or the plan picks a default-deny MCP mode.
57
69
  if (profile.hasMcp || plan.mcp === 'local' || plan.mcp === 'remote')
@@ -1 +1 @@
1
- {"version":3,"file":"genome-scorers.js","sourceRoot":"","sources":["../src/genome-scorers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genome-scorers.js","sourceRoot":"","sources":["../src/genome-scorers.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -828,7 +828,7 @@ async function runMetaHarnessSubcommand(sub, rest) {
828
828
  }
829
829
  case 'learn': {
830
830
  // `metaharness learn --host <h> --model <m> --slice <manifest> [--seed cand6]
831
- // [--train-first N] [--max-cost $] [--via-gateway] [--run]` — ADR-235: cheap-tier
831
+ // [--train-first N] [--max-cost $] [--via-gateway] [--run]` — ADR-228: cheap-tier
832
832
  // optimization as a managed learning service. Delegates to the repo's GEPA harness
833
833
  // (gepa/learn.mjs); REPO-CHECKOUT-GATED (the harness needs bench scripts + Docker +
834
834
  // SWE-bench and cannot ship in the tarball). $0 by default: --dry-run is always
@@ -977,7 +977,7 @@ export async function main(argv) {
977
977
  console.log(' npx metaharness score <repo> [--json] (scorecard: fit/cost/safety for a repo — ADR-041)');
978
978
  console.log(' npx metaharness analyze <repo> (recommend a harness plan, no-exec)');
979
979
  console.log(' npx metaharness genome <repo> (7-section repo readiness)');
980
- console.log(' npx metaharness learn --host <h> --model <m> --slice <manifest> (ADR-235 GEPA learning run — $0 dry-run by default, --run to spend; needs a repo checkout)');
980
+ console.log(' npx metaharness learn --host <h> --model <m> --slice <manifest> (ADR-228 GEPA learning run — $0 dry-run by default, --run to spend; needs a repo checkout)');
981
981
  console.log(' npx metaharness avo <trusted-key|gate-build|gate-submit> (ADR-271 flywheel-gate receipts from an AVO run summary)');
982
982
  console.log(' npx metaharness proxy <install|status|start|stop|enable|disable|path|login|logout> (optional signed Cognitum Meta-Proxy sidecar)');
983
983
  console.log(' npx metaharness --from-existing [./path]');
package/dist/learn.d.ts CHANGED
@@ -4,6 +4,18 @@ export declare const GATEWAY_BASE_URL = "https://apicompletions-63rzcdswba-uc.a.
4
4
  export declare const GATEWAY_API_KEY_ENV = "COGNITUM_DEV_KEY";
5
5
  /** Packaged seed aliases → tarball-shipped genome files (resolved against GENOMES_ROOT). */
6
6
  export declare const PACKAGED_SEEDS: Record<string, string>;
7
+ /**
8
+ * Default slice/manifest filename, duplicated from learn.mjs's own default (line ~193:
9
+ * `argv('--slice', argv('--manifest', 'advisor-medium-25.json'))`). Duplicated rather than
10
+ * imported because learn.ts is a pure-function-tested, repo-checkout-independent wrapper —
11
+ * it must resolve and validate the slice BEFORE it knows a checkout exists to import from.
12
+ */
13
+ export declare const DEFAULT_SLICE = "advisor-medium-25.json";
14
+ /**
15
+ * Resolve `--slice`/`--manifest` the same way learn.mjs/run-gepa.mjs do (`rel()`: absolute
16
+ * paths pass through, relative paths resolve against the GEPA bench dir). Pure.
17
+ */
18
+ export declare function resolveSlicePath(slice: string | undefined, benchRoot: string): string;
7
19
  export interface LearnArgs {
8
20
  host?: string;
9
21
  model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"AAmCA,2EAA2E;AAC3E,eAAO,MAAM,aAAa,QAEzB,CAAC;AAKF,eAAO,MAAM,gBAAgB,sDAAsD,CAAC;AACpF,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,4FAA4F;AAC5F,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEjD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,4EAA4E;IAC5E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAWD,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CA8BxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,EAC5C,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAoB,GAC1C,MAAM,GAAG,IAAI,CAaf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,WAAW,GAAE,MAAqB,GACjC,MAAM,GAAG,SAAS,CAIpB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3E;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAkB9C;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAO,GACpE,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"learn.d.ts","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"AAmCA,2EAA2E;AAC3E,eAAO,MAAM,aAAa,QAEzB,CAAC;AAKF,eAAO,MAAM,gBAAgB,sDAAsD,CAAC;AACpF,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,4FAA4F;AAC5F,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGrF;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,4EAA4E;IAC5E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAWD,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CA8BxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,EAC5C,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAoB,GAC1C,MAAM,GAAG,IAAI,CAaf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,WAAW,GAAE,MAAqB,GACjC,MAAM,GAAG,SAAS,CAIpB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3E;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAkB9C;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAO,GACpE,OAAO,CAAC,MAAM,CAAC,CAOjB"}
package/dist/learn.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
  //
3
- // `metaharness learn` — the ADR-235 managed-learning command surface.
3
+ // `metaharness learn` — the ADR-228 managed-learning command surface.
4
4
  //
5
5
  // This is a THIN, repo-checkout-gated delegate to the GEPA learning harness at
6
6
  // `packages/darwin-mode/bench/swebench/gepa/learn.mjs` (ADR-228). The harness needs the
@@ -19,7 +19,7 @@
19
19
  // (genomes/genome-promoted-cand6-edit-by-midpoint.json — the first holdout-confirmed
20
20
  // cheap-tier policy, see genomes/README.md). Absent --seed ⇒ learn.mjs's default seed.
21
21
  //
22
- // The managed-service path (gateway-side learn jobs, ADR-235 §9) is the follow-up; today
22
+ // The managed-service path (gateway-side learn jobs, ADR-228 §9) is the follow-up; today
23
23
  // `--via-gateway` only routes the ROLLOUTS through the cognitum meta-llm Completions API.
24
24
  //
25
25
  // Everything except the final spawn is a pure function, unit-tested $0 in
@@ -41,6 +41,21 @@ export const GATEWAY_API_KEY_ENV = 'COGNITUM_DEV_KEY';
41
41
  export const PACKAGED_SEEDS = {
42
42
  cand6: 'genome-promoted-cand6-edit-by-midpoint.json',
43
43
  };
44
+ /**
45
+ * Default slice/manifest filename, duplicated from learn.mjs's own default (line ~193:
46
+ * `argv('--slice', argv('--manifest', 'advisor-medium-25.json'))`). Duplicated rather than
47
+ * imported because learn.ts is a pure-function-tested, repo-checkout-independent wrapper —
48
+ * it must resolve and validate the slice BEFORE it knows a checkout exists to import from.
49
+ */
50
+ export const DEFAULT_SLICE = 'advisor-medium-25.json';
51
+ /**
52
+ * Resolve `--slice`/`--manifest` the same way learn.mjs/run-gepa.mjs do (`rel()`: absolute
53
+ * paths pass through, relative paths resolve against the GEPA bench dir). Pure.
54
+ */
55
+ export function resolveSlicePath(slice, benchRoot) {
56
+ const s = slice ?? DEFAULT_SLICE;
57
+ return isAbsolute(s) ? s : join(benchRoot, s);
58
+ }
44
59
  /** Flags whose next token is a value (for pass-through parsing). */
45
60
  const VALUE_FLAGS = new Set([
46
61
  '--host', '--model', '--slice', '--manifest', '--seed', '--train-first', '--max-cost',
@@ -181,7 +196,7 @@ export function repoRequiredMessage() {
181
196
  ' METAHARNESS_REPO=/path/to/metaharness npx metaharness learn ...',
182
197
  '',
183
198
  'The managed-service path — gateway-side learn jobs, no local checkout needed — is the',
184
- 'ADR-235 follow-up and is not available yet.',
199
+ 'ADR-228 follow-up and is not available yet.',
185
200
  ];
186
201
  }
187
202
  /**
@@ -216,6 +231,19 @@ async function runLearn(rest, opts = {}) {
216
231
  console.error(`metaharness learn: seed genome not found at ${seedPath}`);
217
232
  return 2;
218
233
  }
234
+ // Validate the slice/manifest BEFORE spawning learn.mjs, in dry-run AND --run alike.
235
+ // learn.mjs's own --dry-run branch returns before ever reading the manifest file, so a
236
+ // typo'd --slice/--manifest previously produced a clean-looking "plan" for a file that
237
+ // does not exist — false confidence in the one mode whose entire purpose is a pre-spend
238
+ // sanity check. (--run did eventually fail on the first real eval, before any LLM spend,
239
+ // but only after mkdirSync + subprocess startup, and with no advance warning from --dry-run.)
240
+ const benchRoot = join(dirname(learnMjs), '..');
241
+ const slicePath = resolveSlicePath(args.slice, benchRoot);
242
+ if (!existsSync(slicePath)) {
243
+ console.error(`metaharness learn: slice/manifest not found at ${slicePath}`);
244
+ console.error('(--slice/--manifest resolves against the gepa bench dir unless given as an absolute path)');
245
+ return 2;
246
+ }
219
247
  const spawnArgs = buildLearnArgs(args, seedPath);
220
248
  if (!args.run) {
221
249
  console.error('[metaharness learn] $0 mode — forwarding --dry-run (pass --run to spend).');
package/dist/learn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"learn.js","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learn.js","sourceRoot":"","sources":["../src/learn.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ export interface ScanReport {
17
17
  * static inspection of policy + config + manifest files only.
18
18
  */
19
19
  export declare function scanMcp(dir: string): ScanReport;
20
+ /** True if this single `permissions.deny` rule would block reading the root `.env`. */
21
+ export declare function denyRuleBlocksEnvRead(rule: unknown): boolean;
22
+ /** True if `deny` contains a rule that would actually block reading `.env`. */
23
+ export declare function envSecretGuarded(deny: unknown): boolean;
20
24
  /** CLI wrapper. Exit code 1 if any HIGH finding, else 0. */
21
25
  export declare function mcpScanCmd(args: string[]): {
22
26
  code: number;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-scan.d.ts","sourceRoot":"","sources":["../src/mcp-scan.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAYD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAkG/C;AAUD,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B5E"}
1
+ {"version":3,"file":"mcp-scan.d.ts","sourceRoot":"","sources":["../src/mcp-scan.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,sDAAsD;IACtD,KAAK,EAAE,QAAQ,CAAC;CACjB;AAYD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAiH/C;AA4DD,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAW5D;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAEvD;AAUD,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CA2B5E"}
package/dist/mcp-scan.js CHANGED
@@ -31,8 +31,23 @@ export function scanMcp(dir) {
31
31
  const add = (f) => findings.push(f);
32
32
  const policy = readJson(join(root, '.harness', 'mcp-policy.json'));
33
33
  const settings = readJson(join(root, '.claude', 'settings.json'));
34
+ const mcpJson = readJson(join(root, '.mcp.json'));
34
35
  const pkg = readJson(join(root, 'package.json'));
35
- const mcpEnabled = !!policy || !!(settings && settings.mcpServers && Object.keys(settings.mcpServers).length > 0);
36
+ // Three independent, valid ways a harness can register MCP: a policy file,
37
+ // a top-level .mcp.json, or .claude/settings.json's mcpServers key. All
38
+ // three must be checked here — this is the one place downstream callers
39
+ // (e.g. threat-model.ts's mcpInUse) rely on as the authoritative answer.
40
+ //
41
+ // Deterministic precedence when more than one surface is present at once
42
+ // (duplicate/conflicting registration): there is none, by design — the
43
+ // three are OR'd for `mcpEnabled`, and every check below is additive and
44
+ // keyed to its own source file, not to "is MCP in use" generally. A
45
+ // compliant `.harness/mcp-policy.json` does not suppress a risky
46
+ // `.claude/settings.json` permission (or vice versa): each surface's
47
+ // findings surface independently and are never merged, deduped, or
48
+ // shadowed by another surface's presence. See mcp-scan.test.ts's
49
+ // "duplicate/conflicting registration" case.
50
+ const mcpEnabled = !!policy || !!mcpJson || !!(settings && settings.mcpServers && Object.keys(settings.mcpServers).length > 0);
36
51
  if (!mcpEnabled) {
37
52
  add({ id: 'mcp-disabled', severity: 'info', title: 'No MCP surface', detail: 'No MCP policy or server registered — nothing to scan.' });
38
53
  return { dir: root, mcpEnabled: false, findings, worst: worstOf(findings) };
@@ -93,7 +108,7 @@ export function scanMcp(dir) {
93
108
  add({ id: 'risky-bash-allow', severity: 'medium', title: `Risky shell allow-rule: ${a}`, detail: 'Allowing rm/curl/wget/sudo/ssh, or an unscoped script interpreter, broadly is dangerous; narrow the glob.' });
94
109
  }
95
110
  }
96
- const guardsEnv = deny.some((d) => /\.env/.test(d));
111
+ const guardsEnv = envSecretGuarded(deny);
97
112
  if (!guardsEnv) {
98
113
  add({ id: 'no-secret-guard', severity: 'medium', title: 'Secrets not denied', detail: 'permissions.deny should block Read(./.env*) so tools cannot read credentials.' });
99
114
  }
@@ -113,6 +128,89 @@ export function scanMcp(dir) {
113
128
  }
114
129
  return { dir: root, mcpEnabled: true, findings, worst: worstOf(findings) };
115
130
  }
131
+ // A deny rule guards the real secrets file only if it actually covers the
132
+ // bare root `.env` — not merely if some deny entry contains
133
+ // the substring ".env" anywhere. `Read(./.env.example)` denies only the
134
+ // harmless, commonly-committed template file; it does nothing to block the
135
+ // real `.env`/`.env.local` a tool could still read via a broad `Read(*)`
136
+ // grant. The unanchored `/\.env/` substring test used to treat any such
137
+ // entry as sufficient, producing a false "guarded" verdict.
138
+ //
139
+ // Deliberately conservative on the other side too: a deny rule scoped to
140
+ // exactly one suffixed variant (e.g. `Read(./.env.local)` alone, with no
141
+ // rule covering the bare `.env`) does NOT count as guarded either. This scanner has no
142
+ // way to know which `.env*` variant a given harness actually keeps secrets
143
+ // in, so a narrower, unverifiable guard is treated the same as no guard —
144
+ // matching this checker's existing bias elsewhere (e.g. `no-audit-log`,
145
+ // `no-call-budget`) toward flagging an unproven-safe posture rather than
146
+ // assuming the best case.
147
+ //
148
+ // Evaluated as a rule, not as a substring (a boundary-anchored regex still
149
+ // accepted `Read(./sub/.env)`, `Read(./.env/**)`, `Edit(./.env)`,
150
+ // `Bash(cat ./.env)` and a `Read(./.env.*)`-only list — none of which stops a
151
+ // read of the root `.env`):
152
+ // * Only `Read` rules count (plus a bare path or a bare `Read`, which denies
153
+ // every read). Claude Code applies Read deny rules to its file-reading
154
+ // tools; Edit/Write/Bash/WebFetch deny rules do not stop a Read of `.env`.
155
+ // * The rule's specifier is a gitignore-style glob, matched against `.env`
156
+ // after stripping a leading `./` (or one project-relative `/`). `.env`,
157
+ // `**/.env`, `.env*`, `*` and `**` match; `.env.*` does NOT (the glob
158
+ // requires a dot after "env"), nor do `.env.example`, `secrets.env`,
159
+ // `.envrc`, `sub/.env` or `.env/**`.
160
+ // The generator always emits `Read(./.env)` next to `Read(./.env.*)`, so
161
+ // requiring coverage of the bare file changes no generated harness's verdict.
162
+ // Case-sensitive and whitespace-tolerant inside the parentheses; an
163
+ // unrecognised rule shape counts as no guard (fail toward flagging).
164
+ const READ_RULE_RE = /^\s*(?:(Read)\s*(?:\((.*)\))?|([^()]*))\s*$/s;
165
+ function globToRegExp(glob) {
166
+ let re = '';
167
+ for (let i = 0; i < glob.length; i++) {
168
+ const c = glob[i];
169
+ if (c === '*' && glob[i + 1] === '*') {
170
+ if (glob[i + 2] === '/') {
171
+ re += '(?:.*/)?';
172
+ i += 2;
173
+ }
174
+ else {
175
+ re += '.*';
176
+ i += 1;
177
+ }
178
+ }
179
+ else if (c === '*') {
180
+ re += '[^/]*';
181
+ }
182
+ else if (c === '?') {
183
+ re += '[^/]';
184
+ }
185
+ else {
186
+ re += c.replace(/[.+^${}()|[\]\\]/g, '\\$&');
187
+ }
188
+ }
189
+ return new RegExp(`^${re}$`);
190
+ }
191
+ /** True if this single `permissions.deny` rule would block reading the root `.env`. */
192
+ export function denyRuleBlocksEnvRead(rule) {
193
+ if (typeof rule !== 'string')
194
+ return false;
195
+ const m = READ_RULE_RE.exec(rule);
196
+ if (!m)
197
+ return false;
198
+ const [, readTool, readSpec, barePath] = m;
199
+ if (readTool && readSpec === undefined)
200
+ return true; // bare `Read` denies all reads
201
+ let path = (readTool ? readSpec : barePath ?? '').trim();
202
+ if (!path)
203
+ return false;
204
+ if (path.startsWith('./'))
205
+ path = path.slice(2);
206
+ else if (path.startsWith('/') && !path.startsWith('//'))
207
+ path = path.slice(1);
208
+ return globToRegExp(path).test('.env');
209
+ }
210
+ /** True if `deny` contains a rule that would actually block reading `.env`. */
211
+ export function envSecretGuarded(deny) {
212
+ return Array.isArray(deny) && deny.some(denyRuleBlocksEnvRead);
213
+ }
116
214
  function worstOf(findings) {
117
215
  let worst = 'info';
118
216
  for (const f of findings) {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-scan.js","sourceRoot":"","sources":["../src/mcp-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-scan.js","sourceRoot":"","sources":["../src/mcp-scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oia-manifest.d.ts","sourceRoot":"","sources":["../src/oia-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oia-manifest.d.ts","sourceRoot":"","sources":["../src/oia-manifest.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  // - --json: stdout the manifest (same as --dry-run + machine-friendly)
20
20
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
21
21
  import { join, resolve } from 'node:path';
22
+ import { scanMcp } from './mcp-scan.js';
22
23
  function readHarnessProfile(dir) {
23
24
  const root = resolve(dir);
24
25
  const safeReadJson = (p) => {
@@ -32,7 +33,15 @@ function readHarnessProfile(dir) {
32
33
  const pkg = safeReadJson(join(root, 'package.json')) ?? {};
33
34
  const manifest = safeReadJson(join(root, '.harness', 'manifest.json')) ?? {};
34
35
  const mcpPolicy = safeReadJson(join(root, '.harness', 'mcp-policy.json'));
35
- const hasMcp = mcpPolicy != null || existsSync(join(root, '.mcp.json'));
36
+ // In-use detection routes through scanMcp()'s mcpEnabled (the authoritative
37
+ // OR of all 3 valid registration surfaces — policy file, .mcp.json, and
38
+ // .claude/settings.json's mcpServers) rather than re-deriving a narrower,
39
+ // policy-file-or-.mcp.json-only check here. A settings.json-only harness
40
+ // was previously reported ADR-034 mcp.mode:"off" / security span "partial"
41
+ // even with a live, ungoverned MCP server registered — see issue #280.
42
+ // OR the pre-#280 presence check back in so a present-but-unparseable
43
+ // .mcp.json cannot fail OPEN to mode:"off" (scanMcp() treats it as absent).
44
+ const hasMcp = scanMcp(root).mcpEnabled || mcpPolicy != null || existsSync(join(root, '.mcp.json'));
36
45
  // mcpMode inference: presence of mcp-policy with `mode: remote` → remote;
37
46
  // policy present without remote signal → local; otherwise off.
38
47
  let mcpMode = 'off';
@@ -1 +1 @@
1
- {"version":3,"file":"oia-manifest.js","sourceRoot":"","sources":["../src/oia-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oia-manifest.js","sourceRoot":"","sources":["../src/oia-manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"repo-scorecard.d.ts","sourceRoot":"","sources":["../src/repo-scorecard.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAgC,MAAM,kBAAkB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,aAAa,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,aAAa,CAuF7G;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,EAAE,CAa/D;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,cAAc,EAAE,CAmBlE;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;CAAE,CAY3G;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAMhF;AAaD,2EAA2E;AAC3E,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8D5E"}
1
+ {"version":3,"file":"repo-scorecard.d.ts","sourceRoot":"","sources":["../src/repo-scorecard.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,gBAAgB,EAAgC,MAAM,kBAAkB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,aAAa,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAUD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,aAAa,CA2G7G;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,EAAE,CAa/D;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,KAAK,GAAG,WAAW,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,cAAc,EAAE,CAmBlE;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;CAAE,CAY3G;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAMhF;AAaD,2EAA2E;AAC3E,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8D5E"}
@@ -10,6 +10,7 @@
10
10
  // fits this repo and what it would cost, before you scaffold anything.
11
11
  import { resolve, basename } from 'node:path';
12
12
  import { inventory, analyzeFiles, recommendPlan, scoreArchetypes, ruvllmSemantic } from './analyze-repo.js';
13
+ import { scoreMcpRisk } from './genome-scorers.js';
13
14
  import { checkConstraints, summarise, formatConstraints } from './constraints.js';
14
15
  const clamp100 = (x) => Math.max(0, Math.min(100, Math.round(x)));
15
16
  const round3 = (x) => Math.round(x * 1000) / 1000;
@@ -59,6 +60,25 @@ export function buildRepoScorecard(dir, generatedAt = new Date().toISOString())
59
60
  (profile.hasCi ? 8 : 0) + // CI to hook into
60
61
  (hasDocs ? 6 : 0));
61
62
  // Tool safety — the default-deny policy posture, minus MCP exposure.
63
+ //
64
+ // Dream Cycle 2026-09-10 (generator-genome): `plan.policy` is ALWAYS the
65
+ // hardcoded `SAFE` constant (recommendPlan() never derives it from the
66
+ // repo — see analyze-repo.ts), so every branch below the first `let safety`
67
+ // line used to evaluate IDENTICALLY on every call, for every repo: the
68
+ // policy-posture credit was a constant +100, and the only variation came
69
+ // from a single binary `plan.mcp === 'remote'` check (-10). Since none of
70
+ // the 8 archetypes ever recommend `mcp: 'off'` (recommendPlan.ARCHETYPES),
71
+ // that meant `toolSafety` could only ever be 90 or 100 for ANY input
72
+ // repository — a scorecard dimension that claimed to measure "the tool
73
+ // safety posture of this repo's recommended design" but in practice never
74
+ // measured the repo at all, for 7 of 8 archetypes. `scoreMcpRisk()`
75
+ // (genome-scorers.ts, already used by `harness genome`) computes the exact
76
+ // same (profile, plan) inputs into a 4-way-differentiated 0..1 exposure
77
+ // signal (off / local_default_deny / local_permissive / remote) instead of
78
+ // a single binary check — reused here rather than reinventing a coarser
79
+ // one. The always-safe default-deny credit itself is not a bug (every
80
+ // generated harness genuinely does scaffold default-deny — ADR-022) and is
81
+ // unchanged.
62
82
  const p = plan.policy;
63
83
  let safety = 0;
64
84
  if (p.defaultDeny)
@@ -73,8 +93,8 @@ export function buildRepoScorecard(dir, generatedAt = new Date().toISOString())
73
93
  safety += 15;
74
94
  if (p.auditLog)
75
95
  safety += 15;
76
- if (plan.mcp === 'remote')
77
- safety -= 10; // remote MCP is more attack surface
96
+ const mcpExposure = scoreMcpRisk(profile, plan); // { surface, numeric: 0..1 }
97
+ safety -= Math.round(mcpExposure.numeric * 30); // scale the shared MCP-risk signal onto a 0..30-pt deduction
78
98
  const toolSafety = clamp100(safety);
79
99
  // Memory usefulness — repo scale: more files / languages / distinct tokens →
80
100
  // a persistent memory layer pays off more.
@@ -1 +1 @@
1
- {"version":3,"file":"repo-scorecard.js","sourceRoot":"","sources":["../src/repo-scorecard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-scorecard.js","sourceRoot":"","sources":["../src/repo-scorecard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAC5C,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB;AAuMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,SAAS,CA+CrG;AAcD,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAqBvD;AA2BD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8DxE"}
1
+ {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAE5D,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAC5C,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB;AAsOD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,SAAS,CAgErG;AAcD,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAqBvD;AA2BD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoExE"}
package/dist/score.js CHANGED
@@ -21,6 +21,7 @@
21
21
  import { existsSync, statSync, writeFileSync, readFileSync, readdirSync } from 'node:fs';
22
22
  import { resolve, join } from 'node:path';
23
23
  import { redactSecretsDeep } from './redact.js';
24
+ import { scanMcp } from './mcp-scan.js';
24
25
  /**
25
26
  * #15 — schema discriminator for the `harness score` badge JSON (`--json` / `--out`). It lets a
26
27
  * downstream consumer detect this shape at the data layer and REFUSE the wrong one: `harness score`
@@ -83,9 +84,9 @@ function scoreRepoUnderstanding(dir, manifest) {
83
84
  s += 25;
84
85
  signals.push(`kernel=${manifest.meta.kernel_version}`);
85
86
  }
86
- if (manifest.host || manifest.hosts) {
87
+ if (Array.isArray(manifest.hosts) && manifest.hosts.length > 0) {
87
88
  s += 20;
88
- signals.push(`host(s)=${manifest.hosts ?? manifest.host}`);
89
+ signals.push(`host(s)=${manifest.hosts.join(', ')}`);
89
90
  }
90
91
  }
91
92
  else {
@@ -115,11 +116,40 @@ function scoreAgentUsefulness(dir) {
115
116
  signals.push('no agents / skills / commands found');
116
117
  return { name: 'Agent usefulness', weight: 0.25, score: Math.min(100, s), signals };
117
118
  }
119
+ // Distinguishes "no policy file" (safe — MCP not in use) from "policy file
120
+ // present but unreadable/malformed/JSON-null/not-an-object" (unsafe — the
121
+ // declared policy cannot be verified, so it must NOT be collapsed into the
122
+ // same safe state as no policy at all). `safeReadJson` alone cannot tell
123
+ // these apart: it returns `null` for both a missing file AND a present file
124
+ // containing malformed JSON or the literal JSON value `null`.
125
+ function readMcpPolicyFile(dir) {
126
+ if (!fileExists(dir, '.harness/mcp-policy.json')) {
127
+ return { present: false, valid: true, policy: null };
128
+ }
129
+ try {
130
+ const parsed = JSON.parse(readFileSync(join(dir, '.harness', 'mcp-policy.json'), 'utf-8'));
131
+ if (parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)) {
132
+ return { present: true, valid: true, policy: parsed };
133
+ }
134
+ return { present: true, valid: false, policy: null }; // valid JSON, but null/array/primitive
135
+ }
136
+ catch {
137
+ return { present: true, valid: false, policy: null }; // malformed JSON
138
+ }
139
+ }
118
140
  function scoreMcpSafety(dir) {
119
141
  const signals = [];
120
- const policy = safeReadJson(join(dir, '.harness', 'mcp-policy.json'));
121
- // No policy + no .mcp.json at all = MCP not in use, which is the safest possible.
122
- const hasMcp = policy != null || fileExists(dir, '.mcp.json');
142
+ const { present: policyPresent, valid: policyValid, policy } = readMcpPolicyFile(dir);
143
+ if (policyPresent && !policyValid) {
144
+ // Fail closed: a present-but-unverifiable policy is the OPPOSITE of "not
145
+ // in use" — it means MCP governance was attempted but cannot be trusted.
146
+ signals.push('MCP policy file present but invalid (null, non-object, or malformed JSON) — cannot verify safety, treated as High risk');
147
+ return { name: 'MCP safety', weight: 0.2, score: 0, signals, mcpRisk: 'High' };
148
+ }
149
+ // "In use" is decided by scanMcp()'s mcpEnabled, which also sees a server
150
+ // registered only in .claude/settings.json (#280). A present-but-unparseable
151
+ // .mcp.json must still count as in-use so it cannot fail open to 'None'.
152
+ const hasMcp = scanMcp(dir).mcpEnabled || policyPresent || fileExists(dir, '.mcp.json');
123
153
  if (!hasMcp) {
124
154
  signals.push('MCP not in use (mode=off — safest)');
125
155
  return { name: 'MCP safety', weight: 0.2, score: 100, signals, mcpRisk: 'None' };
@@ -208,7 +238,7 @@ function scorePublishReadiness(dir, manifest) {
208
238
  s += 20;
209
239
  signals.push(`pkg=${pkg.name}@${pkg.version}`);
210
240
  }
211
- if (manifest?.host && pkg?.bin) {
241
+ if (Array.isArray(manifest?.hosts) && manifest.hosts.length > 0 && pkg?.bin) {
212
242
  s += 20;
213
243
  signals.push('bin entry present (npx-runnable)');
214
244
  }
@@ -249,6 +279,21 @@ export function buildScorecard(dir, generatedAt = new Date().toISOString()) {
249
279
  grade = 'F';
250
280
  exitCode = 2;
251
281
  }
282
+ // MCP safety is only 20% of the weighted composite, so a harness that
283
+ // scores well on the other 4 dimensions can average its way to Grade A/B
284
+ // while `mcpRisk` is 'High' (e.g. unrestricted shell execution allowed).
285
+ // A "Grade A, MCP Risk: High" badge pair is a contradiction a reviewer or
286
+ // CI gate could miss — never let the composite mask a High MCP risk.
287
+ if (mcpSafety.mcpRisk === 'High' && (grade === 'A' || grade === 'B')) {
288
+ grade = 'C';
289
+ exitCode = 1;
290
+ }
291
+ // Same masking failure mode as the grade cap above, but for the
292
+ // `releaseReady` badge specifically: `scorePublishReadiness` computes it
293
+ // from its own dimension alone, so a High MCP risk could otherwise ship a
294
+ // "Grade C, Release Ready: true" badge pair — still a contradiction, just
295
+ // one dimension over. `releaseReady` can never be true when MCP risk is High.
296
+ const releaseReady = publishReadiness.releaseReady && mcpSafety.mcpRisk !== 'High';
252
297
  // Detect tests: any of __tests__/ tests/ test/.
253
298
  const testsDetected = testCoverage.score > 0;
254
299
  return {
@@ -261,7 +306,7 @@ export function buildScorecard(dir, generatedAt = new Date().toISOString()) {
261
306
  badges: {
262
307
  score: overall,
263
308
  mcpRisk: mcpSafety.mcpRisk,
264
- releaseReady: publishReadiness.releaseReady,
309
+ releaseReady,
265
310
  testsDetected,
266
311
  sbom: publishReadiness.sbom,
267
312
  witnessSigned: publishReadiness.witnessSigned,
@@ -366,7 +411,13 @@ export async function scoreCmd(args) {
366
411
  // JSON shapes; an unmarked badge blob was silently mis-parsed as the `metaharness score` scorecard
367
412
  // (every field defaulting to 0). The metaharness scorecard uses numeric `schema: 1`; this string id
368
413
  // is unambiguously distinct so downstream code can refuse the wrong shape instead of guessing.
369
- const badgeOutput = { schema: HARNESS_SCORE_SCHEMA, ...sc.badges };
414
+ //
415
+ // `grade`/`exitCode` are included alongside the badges (not just implied by the process exit code)
416
+ // because the badge JSON is a packed artifact a downstream consumer may store or forward on its own
417
+ // — without these, a High-mcpRisk-but-capped-grade harness has no authoritative field in this shape
418
+ // distinguishing it from an uncapped one; a consumer reading only the badge blob would have to
419
+ // re-derive the promotion verdict itself, or miss the cap entirely.
420
+ const badgeOutput = { schema: HARNESS_SCORE_SCHEMA, grade: sc.grade, exitCode: sc.exitCode, ...sc.badges };
370
421
  if (outPath) {
371
422
  try {
372
423
  writeFileSync(resolve(outPath), JSON.stringify(badgeOutput, null, 2) + '\n', 'utf-8');
package/dist/score.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"threat-model.d.ts","sourceRoot":"","sources":["../src/threat-model.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB;AAWD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,WAAW,CAoEzG;AAQD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,CAqC3D;AA2BD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwD9E"}
1
+ {"version":3,"file":"threat-model.d.ts","sourceRoot":"","sources":["../src/threat-model.ts"],"names":[],"mappings":"AA2BA,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzE,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB;AAWD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,GAAE,MAAiC,GAAG,WAAW,CA+EzG;AAQD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,CAqC3D;AA2BD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwD9E"}
@@ -24,7 +24,7 @@
24
24
  // - 2 — high concerns (shell granted OR default-deny off OR secrets reachable)
25
25
  import { existsSync, statSync, writeFileSync, readFileSync } from 'node:fs';
26
26
  import { join, resolve } from 'node:path';
27
- import { scanMcp } from './mcp-scan.js';
27
+ import { scanMcp, envSecretGuarded } from './mcp-scan.js';
28
28
  import { redactSecretsDeep } from './redact.js';
29
29
  function safeReadJson(path) {
30
30
  try {
@@ -40,9 +40,16 @@ export function buildThreatModel(dir, generatedAt = new Date().toISOString()) {
40
40
  const root = resolve(dir);
41
41
  const policy = safeReadJson(join(root, '.harness', 'mcp-policy.json'));
42
42
  const settings = safeReadJson(join(root, '.claude', 'settings.json'));
43
- const mcpInUse = policy != null || safeReadJson(join(root, '.mcp.json')) != null;
44
- // mcp-scan returns the structured findings; we collapse to counters.
43
+ // mcp-scan returns the structured findings; we collapse to counters. Its
44
+ // own `mcpEnabled` check is the authoritative "is MCP in use" answer (it
45
+ // additionally checks `.claude/settings.json`'s `mcpServers` key, which a
46
+ // policy-file-or-`.mcp.json`-only check here would miss) — reuse it
47
+ // directly instead of keeping a second, independently-drifting detection
48
+ // surface. Previously this file's own narrower check could report
49
+ // `mcpInUse: false` and silently discard the findings `scan` had already
50
+ // computed via `formatThreatModel`'s early return below.
45
51
  const scan = scanMcp(root);
52
+ const mcpInUse = scan.mcpEnabled;
46
53
  const allow = settings?.permissions?.allow ?? [];
47
54
  const deny = settings?.permissions?.deny ?? [];
48
55
  const allowedTools = allow.length;
@@ -54,8 +61,12 @@ export function buildThreatModel(dir, generatedAt = new Date().toISOString()) {
54
61
  const fileWrite = policy?.allowFileWrite === true;
55
62
  // "Secrets reachable" = there is no .env-blocking deny rule AND tools have
56
63
  // some non-trivial read permission. Conservative: true if allow has any
57
- // Read(*) rule and deny doesn't block .env.
58
- const guardsEnv = deny.some((d) => /\.env/.test(d));
64
+ // Read(*) rule and deny doesn't block .env. `envSecretGuarded` (mcp-scan.ts)
65
+ // is the single source of truth for what actually counts as guarding —
66
+ // reused here rather than re-implemented so this file cannot drift back
67
+ // into the unanchored-substring false negative mcp-scan.ts itself once had
68
+ // (a `Read(./.env.example)`-only deny rule guards nothing real).
69
+ const guardsEnv = envSecretGuarded(deny);
59
70
  const hasReadAllow = allow.some((a) => /^Read/.test(a));
60
71
  const secretsReachable = mcpInUse && !guardsEnv && hasReadAllow;
61
72
  // Count "dangerous permissions" = high-severity findings from mcp-scan +
@@ -1 +1 @@
1
- {"version":3,"file":"threat-model.js","sourceRoot":"","sources":["../src/threat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threat-model.js","sourceRoot":"","sources":["../src/threat-model.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,6EAA6E;AAC7E,iCAAiC;AACjC,EAAE;AACF,2CAA2C;AAC3C,qBAAqB;AACrB,4BAA4B;AAC5B,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,EAAE;AACF,0EAA0E;AAC1E,uBAAuB;AACvB,EAAE;AACF,uBAAuB;AACvB,sEAAsE;AACtE,2EAA2E;AAC3E,iFAAiF;AAEjF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAwBhD,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,cAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtE,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,yEAAyE;IACzE,kEAAkE;IAClE,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IAEjC,MAAM,KAAK,GAAa,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAa,QAAQ,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;IAEzD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAEhC,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,MAAM,aAAa,GAAG,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,2EAA2E;IAC3E,wEAAwE;IACxE,6EAA6E;IAC7E,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC;IAEhE,yEAAyE;IACzE,8CAA8C;IAC9C,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,WAAW;QAAE,oBAAoB,EAAE,CAAC;IACxC,IAAI,aAAa;QAAE,oBAAoB,EAAE,CAAC;IAC1C,IAAI,SAAS;QAAE,oBAAoB,EAAE,CAAC;IACtC,IAAI,gBAAgB;QAAE,oBAAoB,EAAE,CAAC;IAC7C,IAAI,MAAM,IAAI,iBAAiB,KAAK,KAAK;QAAE,oBAAoB,EAAE,CAAC;IAElE,IAAI,OAAoC,CAAC;IACzC,IAAI,QAAmB,CAAC;IACxB,IAAI,WAAW,IAAI,iBAAiB,KAAK,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACnE,OAAO,GAAG,MAAM,CAAC;QACjB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,IAAI,aAAa,IAAI,SAAS,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,GAAG,QAAQ,CAAC;QACnB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,OAAO,CAAC;QAClB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC;QACT,WAAW;QACX,GAAG,EAAE,IAAI;QACT,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,oBAAoB;QACpB,gBAAgB;QAChB,aAAa;QACb,WAAW;QACX,SAAS;QACT,iBAAiB;QACjB,QAAQ;QACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxF,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,SAAS,EAAE,CAAC,CAAU;IACpB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAe;IAC/C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACnF,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChE,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5D,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,UAAU,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,GAAG,GAAG,gCAAgC,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAE9E,MAAM,SAAS,GAAG,yCAAyC,CAAC;AAE5D,kGAAkG;AAClG,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,iBAAiB,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAE9E,SAAS,KAAK;IACZ,OAAO;QACL,uEAAuE;QACvE,EAAE;QACF,uEAAuE;QACvE,6EAA6E;QAC7E,iEAAiE;QACjE,EAAE;QACF,qDAAqD;QACrD,uDAAuD;QACvD,wEAAwE;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAC3E,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAC5G,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9C,aAAa;QACf,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAChG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAU,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC5F,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,0CAA0C,GAAG,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC9F,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gDAAgD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3I,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD,MAAM,WAAW,YAAY;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,EACrB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CA8CnB"}
package/dist/writer.js CHANGED
@@ -6,8 +6,48 @@
6
6
  // target untouched.
7
7
  import { cp, mkdir, rename, rm, writeFile } from 'node:fs/promises';
8
8
  import { existsSync } from 'node:fs';
9
- import { dirname, join, resolve } from 'node:path';
9
+ import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
10
10
  import { randomBytes } from 'node:crypto';
11
+ /**
12
+ * Refuse a RenderedFile.path that would land outside `root` once joined and
13
+ * normalized (`../etc/passwd`-shaped path traversal). `RenderedFile.path` is
14
+ * documented as "posix-style relative" (see walker.ts), but nothing upstream
15
+ * of writeAtomic currently enforces that — walkTemplate's own paths come
16
+ * from real files on disk so this never fires today, but writeAtomic is the
17
+ * single choke point every RenderedFile[] producer eventually writes
18
+ * through (ADR-046's injection-bug class recurs precisely because each
19
+ * producer re-invents its own escaping instead of a shared backstop), so it
20
+ * is the right place to make "stay inside the target directory" a hard
21
+ * invariant rather than an assumption.
22
+ */
23
+ function assertWithinRoot(root, dst, originalPath) {
24
+ const rel = relative(root, dst);
25
+ const firstSegment = rel.split(/[\\/]/)[0];
26
+ if (rel === '' || firstSegment === '..' || isAbsolute(rel)) {
27
+ throw new Error(`Refusing to write outside the target directory: ${originalPath}`);
28
+ }
29
+ }
30
+ /**
31
+ * Lexical validation of a RenderedFile.path before it is joined. The
32
+ * containment check above is the backstop; this rejects every shape that is
33
+ * not a plain posix-relative path up front, so behaviour is identical on
34
+ * POSIX and Windows: empty paths, NUL bytes, backslashes (a separator on
35
+ * Windows, a literal filename char on POSIX), absolute paths (`/x`, `C:x`,
36
+ * `\\server\share`), and any `.`/`..` segment — even one that would
37
+ * normalize back inside the root (`a/../b`) — or empty segment (`a//b`).
38
+ */
39
+ function assertSafeRelativePath(p) {
40
+ const bad = typeof p !== 'string' ||
41
+ p.length === 0 ||
42
+ p.includes('\0') ||
43
+ p.includes('\\') ||
44
+ p.startsWith('/') ||
45
+ /^[A-Za-z]:/.test(p) ||
46
+ p.split('/').some(seg => seg === '' || seg === '.' || seg === '..');
47
+ if (bad) {
48
+ throw new Error(`Refusing to write outside the target directory: ${JSON.stringify(p)} is not a safe relative path`);
49
+ }
50
+ }
11
51
  /**
12
52
  * Write a RenderedFile[] to `targetDir`. Stages in a temp dir first; only
13
53
  * renames into place on success.
@@ -28,7 +68,9 @@ export async function writeAtomic(targetDir, files, opts = {}) {
28
68
  await mkdir(staging, { recursive: true });
29
69
  try {
30
70
  for (const f of files) {
71
+ assertSafeRelativePath(f.path);
31
72
  const dst = join(staging, ...f.path.split('/'));
73
+ assertWithinRoot(staging, dst, f.path);
32
74
  await mkdir(dirname(dst), { recursive: true });
33
75
  await writeFile(dst, f.content, 'utf-8');
34
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
package/genomes/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Promoted cheap-tier executor operating policies, shipped with the `metaharness` CLI so
4
4
  `metaharness learn --seed cand6` can seed a learning run from the current promoted base
5
- (ADR-235 — cheap-tier optimization is a managed learning service).
5
+ (ADR-228 — cheap-tier optimization is a managed learning service).
6
6
 
7
7
  ## genome-promoted-cand6-edit-by-midpoint.json
8
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metaharness",
3
- "version": "0.4.16",
3
+ "version": "0.4.17",
4
4
  "description": "MetaHarness — mint a custom AI agent harness from any repo. Browser Studio + `npx metaharness` CLI. Runs on Claude Code, Codex, pi.dev, Hermes, OpenClaw, RVM, Prime Agent.",
5
5
  "homepage": "https://github.com/ruvnet/agent-harness-generator",
6
6
  "repository": {