@miller-tech/uap 1.175.13 → 1.178.1

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.
Files changed (99) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/benchmarks/harness-card.d.ts +86 -0
  3. package/dist/benchmarks/harness-card.d.ts.map +1 -0
  4. package/dist/benchmarks/harness-card.js +153 -0
  5. package/dist/benchmarks/harness-card.js.map +1 -0
  6. package/dist/benchmarks/paired/report.d.ts +15 -0
  7. package/dist/benchmarks/paired/report.d.ts.map +1 -1
  8. package/dist/benchmarks/paired/report.js +12 -0
  9. package/dist/benchmarks/paired/report.js.map +1 -1
  10. package/dist/benchmarks/paired/types.d.ts +1 -1
  11. package/dist/bin/cli.js +27 -0
  12. package/dist/bin/cli.js.map +1 -1
  13. package/dist/cli/bench.d.ts.map +1 -1
  14. package/dist/cli/bench.js +64 -3
  15. package/dist/cli/bench.js.map +1 -1
  16. package/dist/cli/harness.d.ts +3 -2
  17. package/dist/cli/harness.d.ts.map +1 -1
  18. package/dist/cli/harness.js +81 -0
  19. package/dist/cli/harness.js.map +1 -1
  20. package/dist/cli/memory.d.ts +7 -1
  21. package/dist/cli/memory.d.ts.map +1 -1
  22. package/dist/cli/memory.js +165 -0
  23. package/dist/cli/memory.js.map +1 -1
  24. package/dist/cli/policy.d.ts +43 -0
  25. package/dist/cli/policy.d.ts.map +1 -1
  26. package/dist/cli/policy.js +80 -27
  27. package/dist/cli/policy.js.map +1 -1
  28. package/dist/delivery/agentic-executor.d.ts +76 -2
  29. package/dist/delivery/agentic-executor.d.ts.map +1 -1
  30. package/dist/delivery/agentic-executor.js +231 -29
  31. package/dist/delivery/agentic-executor.js.map +1 -1
  32. package/dist/delivery/edit-match.d.ts +134 -0
  33. package/dist/delivery/edit-match.d.ts.map +1 -0
  34. package/dist/delivery/edit-match.js +331 -0
  35. package/dist/delivery/edit-match.js.map +1 -0
  36. package/dist/memory/dynamic-retrieval.d.ts.map +1 -1
  37. package/dist/memory/dynamic-retrieval.js +57 -0
  38. package/dist/memory/dynamic-retrieval.js.map +1 -1
  39. package/dist/memory/reconstruct-ingest.d.ts +88 -0
  40. package/dist/memory/reconstruct-ingest.d.ts.map +1 -0
  41. package/dist/memory/reconstruct-ingest.js +165 -0
  42. package/dist/memory/reconstruct-ingest.js.map +1 -0
  43. package/dist/memory/reconstruct-store.d.ts +143 -0
  44. package/dist/memory/reconstruct-store.d.ts.map +1 -0
  45. package/dist/memory/reconstruct-store.js +312 -0
  46. package/dist/memory/reconstruct-store.js.map +1 -0
  47. package/dist/memory/reconstruct.d.ts +272 -0
  48. package/dist/memory/reconstruct.d.ts.map +1 -0
  49. package/dist/memory/reconstruct.js +552 -0
  50. package/dist/memory/reconstruct.js.map +1 -0
  51. package/dist/policies/schemas/policy.d.ts +2 -2
  52. package/dist/self-harness/evidence-proposer.d.ts +58 -0
  53. package/dist/self-harness/evidence-proposer.d.ts.map +1 -0
  54. package/dist/self-harness/evidence-proposer.js +132 -0
  55. package/dist/self-harness/evidence-proposer.js.map +1 -0
  56. package/dist/self-harness/manifest.d.ts +130 -0
  57. package/dist/self-harness/manifest.d.ts.map +1 -0
  58. package/dist/self-harness/manifest.js +247 -0
  59. package/dist/self-harness/manifest.js.map +1 -0
  60. package/dist/self-harness/mods.d.ts +57 -3
  61. package/dist/self-harness/mods.d.ts.map +1 -1
  62. package/dist/self-harness/mods.js +72 -0
  63. package/dist/self-harness/mods.js.map +1 -1
  64. package/dist/self-harness/orchestrator.d.ts +27 -0
  65. package/dist/self-harness/orchestrator.d.ts.map +1 -1
  66. package/dist/self-harness/orchestrator.js +47 -4
  67. package/dist/self-harness/orchestrator.js.map +1 -1
  68. package/dist/self-harness/pending.d.ts +17 -3
  69. package/dist/self-harness/pending.d.ts.map +1 -1
  70. package/dist/self-harness/pending.js +26 -4
  71. package/dist/self-harness/pending.js.map +1 -1
  72. package/dist/self-harness/profile.d.ts +17 -1
  73. package/dist/self-harness/profile.d.ts.map +1 -1
  74. package/dist/self-harness/profile.js +11 -4
  75. package/dist/self-harness/profile.js.map +1 -1
  76. package/dist/self-harness/run.d.ts +19 -0
  77. package/dist/self-harness/run.d.ts.map +1 -1
  78. package/dist/self-harness/run.js +43 -4
  79. package/dist/self-harness/run.js.map +1 -1
  80. package/dist/self-harness/transfer.d.ts.map +1 -1
  81. package/dist/self-harness/transfer.js +2 -0
  82. package/dist/self-harness/transfer.js.map +1 -1
  83. package/dist/self-harness/validate.d.ts +17 -6
  84. package/dist/self-harness/validate.d.ts.map +1 -1
  85. package/dist/self-harness/validate.js +73 -8
  86. package/dist/self-harness/validate.js.map +1 -1
  87. package/dist/telemetry/tool-calls.d.ts +82 -0
  88. package/dist/telemetry/tool-calls.d.ts.map +1 -0
  89. package/dist/telemetry/tool-calls.js +280 -0
  90. package/dist/telemetry/tool-calls.js.map +1 -0
  91. package/dist/telemetry/tool-failure.d.ts +71 -0
  92. package/dist/telemetry/tool-failure.d.ts.map +1 -0
  93. package/dist/telemetry/tool-failure.js +123 -0
  94. package/dist/telemetry/tool-failure.js.map +1 -0
  95. package/docs/plans/harness-engineering-uplift-2026-07-31.md +280 -0
  96. package/package.json +1 -1
  97. package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
  98. package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
  99. package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
@@ -62,6 +62,47 @@ export const MIDDLEWARE_IDS = ['toolcall-path-normalizer'];
62
62
  export function isMiddlewareId(s) {
63
63
  return MIDDLEWARE_IDS.includes(s);
64
64
  }
65
+ // ---------------------------------------------------------------------------
66
+ // Tool Mods (harness plan area B1, 2026-07-31).
67
+ //
68
+ // WHY these exist: the self-harness search space was env knobs ONLY — the
69
+ // inference server's launch parameters. The Agentic-Harness-Engineering ablation
70
+ // (arXiv 2604.25850) measures where harness gains actually come from:
71
+ //
72
+ // long-term memory +5.6pp | tools +3.3pp | middleware +2.2pp | prompt -2.3pp
73
+ //
74
+ // Server knobs are not on that list, and prompt edits are NEGATIVE. So the loop
75
+ // was searching the one surface with no measured value while the surfaces with
76
+ // measured value were gated behind a human.
77
+ //
78
+ // Tool knobs are CLIENT-side (the executor reads them per run), which is also
79
+ // why they can auto-validate where env knobs could not: flipping one needs an
80
+ // environment variable on the candidate arm, not a server restart.
81
+ // ---------------------------------------------------------------------------
82
+ export const TOOL_KNOB_ALLOWLIST = {
83
+ UAP_EDIT_TOLERANT: {
84
+ target: 'executor', type: 'enum', values: ['0', '1'],
85
+ description: 'edit_file falls back to whitespace-tolerant matching on an exact miss',
86
+ },
87
+ UAP_EDIT_DIAGNOSTICS: {
88
+ target: 'executor', type: 'enum', values: ['0', '1'],
89
+ description: 'a failed edit returns the nearest current region instead of "not found"',
90
+ },
91
+ UAP_READ_WINDOW_BYTES: {
92
+ target: 'executor', type: 'number', min: 2000, max: 32000, integer: true,
93
+ description: 'bytes of a file read_file returns per call',
94
+ },
95
+ UAP_MAX_TOOL_ROUNDS: {
96
+ target: 'executor', type: 'number', min: 4, max: 40, integer: true,
97
+ description: 'tool-call rounds before a final answer is forced',
98
+ },
99
+ };
100
+ export function isKnownToolKnob(k) {
101
+ return Object.prototype.hasOwnProperty.call(TOOL_KNOB_ALLOWLIST, k);
102
+ }
103
+ export function toolKnobSpec(key) {
104
+ return TOOL_KNOB_ALLOWLIST[key];
105
+ }
65
106
  /**
66
107
  * Validate a Mod against the DSL constraints. A proposer's output that fails
67
108
  * this is rejected at parse time — it never reaches the apply/validate stages.
@@ -115,6 +156,33 @@ export function validateMod(mod) {
115
156
  }
116
157
  case 'config':
117
158
  return validateConfigMod(mod);
159
+ case 'tool': {
160
+ // Same bounds discipline as an env knob: an out-of-range tool knob is
161
+ // rejected at parse time, never handed to a bench arm.
162
+ if (!isKnownToolKnob(mod.key)) {
163
+ return { ok: false, reason: `unknown/non-allow-listed tool knob: ${String(mod.key)}` };
164
+ }
165
+ const spec = toolKnobSpec(mod.key);
166
+ if (spec.type === 'number') {
167
+ const n = Number(mod.to);
168
+ if (!Number.isFinite(n))
169
+ return { ok: false, reason: `${mod.key}: "${mod.to}" is not numeric` };
170
+ if (spec.integer && !Number.isInteger(n)) {
171
+ return { ok: false, reason: `${mod.key}: must be an integer, got ${mod.to}` };
172
+ }
173
+ if (n < spec.min || n > spec.max) {
174
+ return {
175
+ ok: false,
176
+ reason: `${mod.key}=${mod.to} out of safe range [${spec.min}, ${spec.max}]`,
177
+ };
178
+ }
179
+ return { ok: true };
180
+ }
181
+ if (!spec.values.includes(mod.to)) {
182
+ return { ok: false, reason: `${mod.key}="${mod.to}" not in {${spec.values.join(', ')}}` };
183
+ }
184
+ return { ok: true };
185
+ }
118
186
  default:
119
187
  return { ok: false, reason: `unknown mod kind` };
120
188
  }
@@ -164,6 +232,8 @@ export function describeMod(mod) {
164
232
  return `middleware ${mod.id}(${JSON.stringify(mod.params)})`;
165
233
  case 'config':
166
234
  return `config ${mod.key}: ${mod.from} -> ${mod.to}`;
235
+ case 'tool':
236
+ return `tool ${mod.key}: ${mod.from} -> ${mod.to}`;
167
237
  }
168
238
  }
169
239
  /**
@@ -188,6 +258,8 @@ export function invertMod(mod) {
188
258
  return { kind: 'middleware', id: mod.id, params: { ...mod.params, enabled: false } };
189
259
  case 'config':
190
260
  return { kind: 'config', key: mod.key, from: mod.to, to: mod.from, category: mod.category };
261
+ case 'tool':
262
+ return { kind: 'tool', key: mod.key, from: mod.to, to: mod.from };
191
263
  }
192
264
  }
193
265
  //# sourceMappingURL=mods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mods.js","sourceRoot":"","sources":["../../src/self-harness/mods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mods.js","sourceRoot":"","sources":["../../src/self-harness/mods.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { Proposer } from './propose.js';
19
19
  import { Decision, DecisionOptions } from './decide.js';
20
20
  import { HarnessProfile } from './profile.js';
21
21
  import { TransferStore } from './transfer.js';
22
+ import { ManifestStore, type ChangeManifest, type ManifestAttribution, type ManifestDecision, type ManifestPolicyOptions } from './manifest.js';
22
23
  export interface ValidationOutcome {
23
24
  validation: Comparison;
24
25
  /** Held-out comparison; null when the held-out suite was skipped. */
@@ -42,6 +43,20 @@ export interface OrchestratorOptions {
42
43
  /** ISO timestamp + provenance string stamped on recorded transfer entries. */
43
44
  validatedAt?: string;
44
45
  provenance?: string;
46
+ /**
47
+ * Change-manifest store (harness plan C). Supplied -> every accepted Mod is
48
+ * recorded as a falsifiable prediction, and any manifest left open by a PRIOR
49
+ * iteration is attributed against this iteration's records first. Omitted ->
50
+ * the loop behaves exactly as before.
51
+ */
52
+ manifests?: ManifestStore;
53
+ /**
54
+ * The records the PREVIOUS iteration saw, needed to attribute open manifests
55
+ * (before vs after). Omit on the first iteration.
56
+ */
57
+ priorRecords?: RunRecord[];
58
+ /** Policy for turning an attribution into keep/revert. */
59
+ manifestPolicy?: ManifestPolicyOptions;
45
60
  }
46
61
  export interface CandidateOutcome {
47
62
  mod: Mod;
@@ -55,6 +70,18 @@ export interface IterationResult {
55
70
  accepted: Mod[];
56
71
  /** Profile after applying all accepted Mods. */
57
72
  profile: HarnessProfile;
73
+ /**
74
+ * Manifests from prior iterations whose predictions failed this round, with
75
+ * the inverse Mod already applied to `profile` (harness plan C). The caller
76
+ * physically applies each `revert` through the same seam it uses to apply an
77
+ * accepted Mod.
78
+ */
79
+ reverted: RevertedChange[];
80
+ }
81
+ export interface RevertedChange {
82
+ manifest: ChangeManifest;
83
+ attribution: ManifestAttribution;
84
+ decision: ManifestDecision;
58
85
  }
59
86
  /** Run one self-harness iteration. */
60
87
  export declare function runIteration(opts: OrchestratorOptions): Promise<IterationResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/self-harness/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,GAAG,EAAe,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAqB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAgB,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,sCAAsC;AACtC,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiEtF"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/self-harness/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,GAAG,EAAe,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAqB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAgB,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,aAAa,EAIb,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,sCAAsC;AACtC,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAyGtF"}
@@ -16,11 +16,30 @@ import { mineFromRecords } from './mine.js';
16
16
  import { heuristicProposer } from './propose.js';
17
17
  import { decideAccept } from './decide.js';
18
18
  import { modKey, makeEntry } from './transfer.js';
19
+ import { makeManifest, attributeManifest, decideManifest, } from './manifest.js';
19
20
  /** Run one self-harness iteration. */
20
21
  export async function runIteration(opts) {
21
22
  const log = opts.log ?? (() => { });
22
23
  const proposer = opts.proposer ?? heuristicProposer;
23
24
  const maxC = opts.maxCandidates ?? 3;
25
+ // Stage 0 — attribute prior manifests BEFORE proposing anything new
26
+ // (harness plan C). Order matters: a change that failed its own prediction
27
+ // must be undone before this round mines weaknesses from records it polluted,
28
+ // or the loop proposes fixes for damage it is about to revert anyway.
29
+ const reverted = [];
30
+ let profile = opts.profile;
31
+ if (opts.manifests && opts.priorRecords) {
32
+ for (const manifest of opts.manifests.open()) {
33
+ const attribution = attributeManifest(manifest, opts.priorRecords, opts.records);
34
+ const decision = decideManifest(manifest, attribution, opts.manifestPolicy);
35
+ opts.manifests.close(manifest, attribution, decision);
36
+ log(`manifest ${manifest.id}: ${decision.verdict.toUpperCase()} — ${decision.reason}`);
37
+ if (decision.verdict === 'revert' && decision.revert) {
38
+ profile = applyAcceptedToProfile(profile, decision.revert);
39
+ reverted.push({ manifest, attribution, decision });
40
+ }
41
+ }
42
+ }
24
43
  // Stage 1 — mine
25
44
  const weaknesses = mineFromRecords(opts.records, {
26
45
  model: opts.model,
@@ -28,14 +47,22 @@ export async function runIteration(opts) {
28
47
  });
29
48
  log(`mined ${weaknesses.length} weakness(es): ${weaknesses.map((w) => w.kind).join(', ') || '(none)'}`);
30
49
  // Stage 2 — propose (bounded, minimal)
31
- const proposed = proposer.propose(weaknesses, opts.profile).slice(0, maxC);
50
+ // `profile`, not `opts.profile`: stage 0 may have reverted a knob, and
51
+ // proposing against the pre-revert value would immediately re-propose the
52
+ // change just undone and record a `from` that was never in force.
53
+ const proposed = proposer.propose(weaknesses, profile).slice(0, maxC);
32
54
  log(`proposed ${proposed.length} candidate Mod(s) via ${proposer.id}`);
33
55
  // Stage 3+4 — validate + decide, each candidate in isolation
34
56
  const outcomes = [];
35
57
  const accepted = [];
36
- let profile = opts.profile;
37
58
  for (const mod of proposed) {
38
59
  log(`validating: ${describeMod(mod)}`);
60
+ // Attribute BEFORE anything mutates the profile. attributeWeakness works by
61
+ // re-running the proposer and matching the Mod it emits; once the accepted
62
+ // Mod has been folded into the profile the proposer no longer re-derives it,
63
+ // so attribution silently returns null. (That ordering bug also cost the
64
+ // transfer store its attribution — both call sites now share this value.)
65
+ const weakness = attributeWeakness(mod, weaknesses, proposer, profile);
39
66
  let decision;
40
67
  try {
41
68
  const { validation, heldout } = await opts.validate(mod);
@@ -55,12 +82,23 @@ export async function runIteration(opts) {
55
82
  if (ok) {
56
83
  accepted.push(mod);
57
84
  profile = applyAcceptedToProfile(profile, mod);
85
+ // Acceptance is PROVISIONAL: record the prediction so the next iteration
86
+ // can falsify it (harness plan C). The tasks this Mod's weakness was mined
87
+ // from are its predicted fixes — that is the claim it is making.
88
+ if (opts.manifests) {
89
+ opts.manifests.record(makeManifest({
90
+ id: `${modKey(mod)}@${opts.validatedAt ?? outcomes.length}`,
91
+ mod,
92
+ now: opts.validatedAt ?? '',
93
+ predictedFixes: weakness?.affectedTasks ?? [],
94
+ }));
95
+ }
58
96
  }
59
97
  // Record the outcome (accept OR reject) into the transfer store, attributed
60
98
  // to the weakness whose heuristic produced this Mod, so the fix transfers to
61
99
  // future models and known-bad Mods aren't re-proposed.
62
100
  if (opts.transferStore) {
63
- const w = attributeWeakness(mod, weaknesses, proposer, profile);
101
+ const w = weakness;
64
102
  if (w) {
65
103
  opts.transferStore.record(makeEntry({
66
104
  signature: w.signature,
@@ -75,7 +113,7 @@ export async function runIteration(opts) {
75
113
  }
76
114
  }
77
115
  }
78
- return { weaknesses, proposed, outcomes, accepted, profile };
116
+ return { weaknesses, proposed, outcomes, accepted, profile, reverted };
79
117
  }
80
118
  /**
81
119
  * Attribute a Mod back to the weakness that produced it, by re-running the
@@ -109,6 +147,11 @@ function applyAcceptedToProfile(profile, mod) {
109
147
  // A settings-registry change lives in .uap.json / proxy.env, not in the
110
148
  // in-memory harness profile — the self-tuning flag-writer applies it.
111
149
  return profile;
150
+ case 'tool':
151
+ // A SEPARATE field from `env`: tool knobs are executor-side and disjoint
152
+ // from the server's launch env, and `profileFromEnvFile` filters `env` on
153
+ // `isKnownKnob`, so folding them together dropped them on every reload.
154
+ return { ...profile, tool: { ...(profile.tool ?? {}), [mod.key]: mod.to } };
112
155
  }
113
156
  }
114
157
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/self-harness/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/self-harness/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,23 @@ import { Mod } from './mods.js';
11
11
  import { FailureKind } from './weakness.js';
12
12
  export type PromotionGate = 'auto-after-validation' | 'human';
13
13
  /**
14
- * Promotion policy: env-knob Mods are low-risk and may auto-promote after they
15
- * pass validation; scaffold + middleware Mods change behavior more broadly and
16
- * always require a human gate. This is the safety boundary for online learning.
14
+ * Promotion policy a RISK TIER, not a category ban (harness plan B3).
15
+ *
16
+ * The old rule was `env ? auto : human`, which gated middleware behind a human
17
+ * and left the loop searching inference-server knobs alone. The
18
+ * Agentic-Harness-Engineering ablation (arXiv 2604.25850) measures where gains
19
+ * actually live — tools +3.3pp, middleware +2.2pp, memory +5.6pp, and
20
+ * system-prompt edits NEGATIVE at -2.3pp — so that rule had the search space
21
+ * almost exactly inverted.
22
+ *
23
+ * The tiers now follow blast radius rather than kind:
24
+ *
25
+ * auto-after-validation — env knobs, tool knobs, middleware toggles. All are
26
+ * bounded, allow-listed, mechanically reversible, and measurable by the
27
+ * paired bench with its held-out suite.
28
+ * human — scaffold (free-form prompt text: unbounded, and the one surface
29
+ * measured negative) and config (settings-registry keys reaching beyond the
30
+ * bench into product behaviour).
17
31
  */
18
32
  export declare function promotionGate(mod: Mod): PromotionGate;
19
33
  export interface PendingProposal {
@@ -1 +1 @@
1
- {"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../src/self-harness/pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,OAAO,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAErD;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,aAAa,CAAC;IACpB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,KAAK,CAAyB;gBAET,IAAI,EAAE,MAAM;IAUzC,OAAO,CAAC,OAAO;IAKf,mFAAmF;IACnF,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;IAgB3G,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE;IAI3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAQzD;;;;OAIG;IACH,KAAK,CAAC,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,eAAe,EAAE;CAkBpG"}
1
+ {"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../src/self-harness/pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG,OAAO,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAUrD;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,aAAa,CAAC;IACpB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D,0BAA0B;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,KAAK,CAAyB;gBAET,IAAI,EAAE,MAAM;IAUzC,OAAO,CAAC,OAAO;IAKf,mFAAmF;IACnF,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe;IAgB3G,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,eAAe,EAAE;IAI3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAQzD;;;;OAIG;IACH,KAAK,CAAC,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,eAAe,EAAE;CAkBpG"}
@@ -10,12 +10,34 @@
10
10
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
11
11
  import { dirname } from 'path';
12
12
  /**
13
- * Promotion policy: env-knob Mods are low-risk and may auto-promote after they
14
- * pass validation; scaffold + middleware Mods change behavior more broadly and
15
- * always require a human gate. This is the safety boundary for online learning.
13
+ * Promotion policy a RISK TIER, not a category ban (harness plan B3).
14
+ *
15
+ * The old rule was `env ? auto : human`, which gated middleware behind a human
16
+ * and left the loop searching inference-server knobs alone. The
17
+ * Agentic-Harness-Engineering ablation (arXiv 2604.25850) measures where gains
18
+ * actually live — tools +3.3pp, middleware +2.2pp, memory +5.6pp, and
19
+ * system-prompt edits NEGATIVE at -2.3pp — so that rule had the search space
20
+ * almost exactly inverted.
21
+ *
22
+ * The tiers now follow blast radius rather than kind:
23
+ *
24
+ * auto-after-validation — env knobs, tool knobs, middleware toggles. All are
25
+ * bounded, allow-listed, mechanically reversible, and measurable by the
26
+ * paired bench with its held-out suite.
27
+ * human — scaffold (free-form prompt text: unbounded, and the one surface
28
+ * measured negative) and config (settings-registry keys reaching beyond the
29
+ * bench into product behaviour).
16
30
  */
17
31
  export function promotionGate(mod) {
18
- return mod.kind === 'env' ? 'auto-after-validation' : 'human';
32
+ switch (mod.kind) {
33
+ case 'env':
34
+ case 'tool':
35
+ case 'middleware':
36
+ return 'auto-after-validation';
37
+ case 'scaffold':
38
+ case 'config':
39
+ return 'human';
40
+ }
19
41
  }
20
42
  export class PendingQueue {
21
43
  path;
@@ -1 +1 @@
1
- {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/self-harness/pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAM/B;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC;AAChE,CAAC;AAmBD,MAAM,OAAO,YAAY;IAGM;IAFrB,KAAK,GAAsB,EAAE,CAAC;IAEtC,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QACvC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,OAAO;QACb,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,CAAiF;QACvF,MAAM,IAAI,GAAoB,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACtB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CACrD,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAkC;QACrC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAA+B;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAuE,EAAE;QAC7E,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;QACpD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC;YAC7F,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,GAAG,UAAU,CAAC;YACjE,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/self-harness/pending.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * and one-command revertible (design §4, §10).
13
13
  */
14
14
  import type { UapComponent } from '../benchmarks/paired/types.js';
15
- import { KnownKnob, EnvMod } from './mods.js';
15
+ import { KnownKnob, KnownToolKnob, EnvMod } from './mods.js';
16
16
  export interface HarnessProfile {
17
17
  /** Allow-listed env knob values currently in effect (string form). */
18
18
  env: Partial<Record<KnownKnob, string>>;
@@ -20,6 +20,14 @@ export interface HarnessProfile {
20
20
  scaffold: Partial<Record<UapComponent, string>>;
21
21
  /** Accepted middleware configs (id -> params). */
22
22
  middleware: Record<string, Record<string, string | number | boolean>>;
23
+ /**
24
+ * Accepted TOOL knob values (harness plan B1). A separate field from `env`
25
+ * because the two are disjoint key sets read by different processes: `env` is
26
+ * the inference server's launch environment, `tool` is the delivery
27
+ * executor's. Folding tool knobs into `env` made the declared type a lie and
28
+ * broke round-tripping, since `profileFromEnvFile` filters on `isKnownKnob`.
29
+ */
30
+ tool?: Partial<Record<KnownToolKnob, string>>;
23
31
  }
24
32
  export declare function emptyProfile(): HarnessProfile;
25
33
  /** Parse a KEY=value env file into a flat map (ignores comments/blank lines). */
@@ -35,6 +43,14 @@ export declare function profileFromEnvFile(path: string): HarnessProfile;
35
43
  export declare function applyEnvModToFile(path: string, mod: EnvMod): {
36
44
  priorValue: string | null;
37
45
  };
46
+ /**
47
+ * Set KEY=value in a KEY=value file, replacing an existing entry or appending.
48
+ * Extracted from `applyEnvModToFile` so runtime (tool/middleware) knobs persist
49
+ * through exactly the same writer as env knobs.
50
+ */
51
+ export declare function upsertEnvValue(path: string, key: string, value: string): {
52
+ priorValue: string | null;
53
+ };
38
54
  /** Apply an accepted Mod's effect to the in-memory profile (after acceptance). */
39
55
  export declare function recordModInProfile(profile: HarnessProfile, mod: EnvMod): HarnessProfile;
40
56
  /** Default values for allow-listed knobs (used to seed a profile if a knob is unset). */
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/self-harness/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACvE;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWjE;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAkB1F;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAEvF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAMzD;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOxE;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAG7E"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/self-harness/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAkB,SAAS,EAAE,aAAa,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACtE;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/C;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWjE;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAiBtG;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAEvF;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAMzD;AAMD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOxE;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAG7E"}
@@ -15,7 +15,7 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
15
15
  import { dirname } from 'path';
16
16
  import { KNOB_ALLOWLIST, isKnownKnob } from './mods.js';
17
17
  export function emptyProfile() {
18
- return { env: {}, scaffold: {}, middleware: {} };
18
+ return { env: {}, scaffold: {}, middleware: {}, tool: {} };
19
19
  }
20
20
  /** Parse a KEY=value env file into a flat map (ignores comments/blank lines). */
21
21
  export function parseEnvFile(path) {
@@ -50,23 +50,30 @@ export function profileFromEnvFile(path) {
50
50
  * file's current value when present (guards against a stale proposal).
51
51
  */
52
52
  export function applyEnvModToFile(path, mod) {
53
+ return upsertEnvValue(path, mod.key, mod.to);
54
+ }
55
+ /**
56
+ * Set KEY=value in a KEY=value file, replacing an existing entry or appending.
57
+ * Extracted from `applyEnvModToFile` so runtime (tool/middleware) knobs persist
58
+ * through exactly the same writer as env knobs.
59
+ */
60
+ export function upsertEnvValue(path, key, value) {
53
61
  const lines = existsSync(path) ? readFileSync(path, 'utf-8').split('\n') : [];
54
62
  let prior = null;
55
63
  let replaced = false;
56
- const key = mod.key;
57
64
  for (let i = 0; i < lines.length; i++) {
58
65
  const t = lines[i].trim();
59
66
  if (t.startsWith('#') || !t.includes('='))
60
67
  continue;
61
68
  if (t.slice(0, t.indexOf('=')).trim() === key) {
62
69
  prior = t.slice(t.indexOf('=') + 1).trim();
63
- lines[i] = `${key}=${mod.to}`;
70
+ lines[i] = `${key}=${value}`;
64
71
  replaced = true;
65
72
  break;
66
73
  }
67
74
  }
68
75
  if (!replaced)
69
- lines.push(`${key}=${mod.to}`);
76
+ lines.push(`${key}=${value}`);
70
77
  writeFileSync(path, lines.join('\n'), 'utf-8');
71
78
  return { priorValue: prior };
72
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/self-harness/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/self-harness/profile.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,21 @@ import { HarnessProfile, type ProfileSnapshot } from './profile.js';
21
21
  import type { Proposer } from './propose.js';
22
22
  import type { DecisionOptions } from './decide.js';
23
23
  import type { TransferStore } from './transfer.js';
24
+ import type { ManifestStore, ManifestPolicyOptions } from './manifest.js';
24
25
  export interface RunLoopDeps {
25
26
  model: string;
27
+ /**
28
+ * KEY=value file for executor/proxy runtime knobs (tool + middleware Mods).
29
+ * Without it those Mods are reported as NOT committed rather than silently
30
+ * dropped while being announced as applied.
31
+ */
32
+ runtimeEnvPath?: string;
33
+ /** Change-manifest store (harness plan C). Omit to disable the mechanism. */
34
+ manifests?: ManifestStore;
35
+ /** Records the PREVIOUS iteration saw, for manifest attribution. */
36
+ priorRecords?: RunRecord[];
37
+ /** Policy turning an attribution into keep/revert. */
38
+ manifestPolicy?: ManifestPolicyOptions;
26
39
  /** Baseline records to mine for weaknesses (e.g. a prior paired bench). */
27
40
  records: RunRecord[];
28
41
  /** Current in-effect harness profile (from the env file or a prior snapshot). */
@@ -56,6 +69,12 @@ export interface RunLoopResult {
56
69
  iteration: IterationResult;
57
70
  /** Accepted Mods that were physically committed (empty on a dry-run). */
58
71
  committed: Mod[];
72
+ /**
73
+ * Accepted Mods that were NOT applied to the running system — human-gated
74
+ * kinds, or runtime knobs with nowhere to persist. Reported so the CLI cannot
75
+ * tell an operator the harness changed when it did not.
76
+ */
77
+ unapplied: Mod[];
59
78
  /** True iff a snapshot/history was written (apply + at least one acceptance). */
60
79
  persisted: boolean;
61
80
  snapshot: ProfileSnapshot | null;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/self-harness/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAe,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,cAAc,EAId,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,cAAc,CAAC;IACxB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,eAAe,CAAC;IAC3B,yEAAyE;IACzE,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA+DlF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/self-harness/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAe,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EACL,cAAc,EAId,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG1E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,sDAAsD;IACtD,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,2EAA2E;IAC3E,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,cAAc,CAAC;IACxB,mEAAmE;IACnE,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,eAAe,CAAC;IAC3B,yEAAyE;IACzE,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB;;;;OAIG;IACH,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAoGlF"}