token-harness 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/token-harness.mjs CHANGED
@@ -5051,7 +5051,7 @@ function updateState(row2) {
5051
5051
  }
5052
5052
  }
5053
5053
  function healthState(input) {
5054
- if (input.detection.state === "broken" || input.detection.versionVerdict === "unknown-newer" || input.verification === "degraded" || input.quality.state === "regressed" || input.conflicts.length > 0 || input.detection.warnings.some((warning2) => warning2.severity === "error")) {
5054
+ if (input.detection.state === "broken" || input.verification === "degraded" || input.quality.state === "regressed" || input.conflicts.length > 0 || input.detection.warnings.some((warning2) => warning2.severity === "error")) {
5055
5055
  return "attention";
5056
5056
  }
5057
5057
  if (input.detection.state === "configured" && input.verification === "verified")
@@ -9387,7 +9387,7 @@ var TOOL_VERSION;
9387
9387
  var init_version2 = __esm({
9388
9388
  "apps/cli/dist/src/version.js"() {
9389
9389
  "use strict";
9390
- TOOL_VERSION = "0.1.15";
9390
+ TOOL_VERSION = "0.1.16";
9391
9391
  }
9392
9392
  });
9393
9393
 
@@ -16088,6 +16088,25 @@ function parseHarnessCapabilities(value3) {
16088
16088
  narrowing: flags
16089
16089
  };
16090
16090
  }
16091
+ function parseCapabilityDigests(value3) {
16092
+ if (value3 === void 0)
16093
+ return {};
16094
+ if (typeof value3 !== "object" || value3 === null || Array.isArray(value3))
16095
+ return null;
16096
+ const result6 = {};
16097
+ for (const [harness, raw] of Object.entries(value3)) {
16098
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw))
16099
+ return null;
16100
+ const entries = {};
16101
+ for (const [path, digest] of Object.entries(raw)) {
16102
+ if (typeof digest !== "string" || !/^[a-f0-9]{64}$/i.test(digest))
16103
+ return null;
16104
+ entries[path.replaceAll("\\", "/")] = `sha256:${digest.toLowerCase()}`;
16105
+ }
16106
+ result6[harness] = entries;
16107
+ }
16108
+ return result6;
16109
+ }
16091
16110
  function parseCapabilities(stdout) {
16092
16111
  let parsed;
16093
16112
  try {
@@ -16100,7 +16119,8 @@ function parseCapabilities(stdout) {
16100
16119
  const record5 = parsed;
16101
16120
  const version3 = record5["version"];
16102
16121
  const harnesses = record5["harnesses"];
16103
- if (typeof version3 !== "string" || typeof harnesses !== "object" || harnesses === null) {
16122
+ const digests = parseCapabilityDigests(record5["digests"]);
16123
+ if (typeof version3 !== "string" || typeof harnesses !== "object" || harnesses === null || digests === null) {
16104
16124
  return null;
16105
16125
  }
16106
16126
  const entries = {};
@@ -16110,7 +16130,7 @@ function parseCapabilities(stdout) {
16110
16130
  return null;
16111
16131
  entries[harness] = entry;
16112
16132
  }
16113
- return { version: version3, harnesses: entries };
16133
+ return { version: version3, harnesses: entries, digests };
16114
16134
  }
16115
16135
  async function probeCapabilities(context) {
16116
16136
  const outcome2 = await context.runner.run({
@@ -16185,13 +16205,27 @@ function driftWarning(message, remediation) {
16185
16205
  function formatSurface(surface) {
16186
16206
  return `${surface.toolFamily}/${surface.interceptionPoint}`;
16187
16207
  }
16208
+ function requiresRuntimeSkillDigests(capabilities) {
16209
+ const observed = parseSemanticVersion(capabilities.version);
16210
+ const minimum = parseSemanticVersion(RUNTIME_SKILL_DIGESTS_MINIMUM);
16211
+ if (observed === null || minimum === null)
16212
+ return true;
16213
+ return compareVersions(observed, minimum) >= 0;
16214
+ }
16215
+ function publishedSkillArtifactDigests(capabilities, harness) {
16216
+ const install = SKILLS_INSTALL[harness];
16217
+ if (install === void 0)
16218
+ return [];
16219
+ const prefix = `${install.directory}/skills/`;
16220
+ return Object.entries(capabilities.digests?.[harness] ?? {}).filter(([path]) => path.startsWith(prefix));
16221
+ }
16188
16222
  function assignableOn(capabilities) {
16189
16223
  if (capabilities === null)
16190
16224
  return [];
16191
16225
  const reviews = MANIFEST6.delegatedInstallReviews ?? {};
16192
16226
  return Object.keys(reviews).filter((harness) => {
16193
16227
  const observed = capabilities.harnesses[harness];
16194
- return observed !== void 0 && observed.narrowing.length > 0 && writeSetStillReviewed(capabilities, harnessId(harness));
16228
+ return observed !== void 0 && observed.narrowing.length > 0 && writeSetStillReviewed(capabilities, harnessId(harness)) && (!requiresRuntimeSkillDigests(capabilities) || publishedSkillArtifactDigests(capabilities, harness).length > 0);
16195
16229
  }).map((harness) => harnessId(harness));
16196
16230
  }
16197
16231
  function writeSetStillReviewed(capabilities, harness) {
@@ -16239,6 +16273,15 @@ function compareCapabilities(manifest, capabilities) {
16239
16273
  warnings.push(driftWarning(`\`harnesstrim capabilities\` (${capabilities.version}) declares ${entry} for ${harness}, which sits outside the containment boundary recorded at ${review.upstreamVersion} (${boundary.join(", ")})`, "Re-review the write set: rollback restores the boundary, and a path it does not cover would survive a rollback"));
16240
16274
  }
16241
16275
  }
16276
+ if (requiresRuntimeSkillDigests(capabilities)) {
16277
+ for (const harness of Object.keys(manifest.delegatedInstallReviews ?? {})) {
16278
+ if (capabilities.harnesses[harness] === void 0)
16279
+ continue;
16280
+ if (publishedSkillArtifactDigests(capabilities, harness).length > 0)
16281
+ continue;
16282
+ warnings.push(driftWarning(`HarnessTrim ${capabilities.version} does not publish the ${harness} skill artifact digests required by the managed install contract`, `Use a HarnessTrim build that publishes per-harness artifact digests, or update Token Harness if the upstream capability contract changed`));
16283
+ }
16284
+ }
16242
16285
  return warnings;
16243
16286
  }
16244
16287
  function harnessesWiredToHarnessTrim(configs) {
@@ -16332,7 +16375,7 @@ function metricsLocations(context) {
16332
16375
  async function detect6(context) {
16333
16376
  const probe = await probeExecutable(context);
16334
16377
  const observed = probe.installed ? await probeCapabilities(context) : null;
16335
- const configured = harnessesWiredToHarnessTrim(context.harnessConfigs);
16378
+ const configured = await configuredHarnessesForHarnessTrim(context, observed?.capabilities ?? null);
16336
16379
  const warnings = [];
16337
16380
  const evidenceItems = [...probe.evidence, ...observed?.evidence ?? []];
16338
16381
  if (observed !== null && observed.capabilities !== null) {
@@ -16496,11 +16539,12 @@ async function verify6(context) {
16496
16539
  evidence: probe.evidence,
16497
16540
  remediation: probe.installed ? null : "Install HarnessTrim, or add it to PATH"
16498
16541
  });
16499
- const configured = harnessesWiredToHarnessTrim(context.harnessConfigs);
16542
+ const currentCapabilities = probe.installed ? await probeCapabilities(context) : null;
16543
+ const configured = await configuredHarnessesForHarnessTrim(context, currentCapabilities?.capabilities ?? null);
16500
16544
  checks.push({
16501
- id: "hook-registered",
16545
+ id: "integration-configured",
16502
16546
  status: configured.length > 0 ? "pass" : "not-exercised",
16503
- summary: configured.length > 0 ? `wired to ${configured.join(", ")}` : "no harness configuration names harnesstrim",
16547
+ summary: configured.length > 0 ? `configured for ${configured.join(", ")}` : "no HarnessTrim hook, plugin, or matching skills-only installation was found",
16504
16548
  achievedTier: configured.length > 0 ? "config-only" : null,
16505
16549
  evidence: [],
16506
16550
  remediation: null
@@ -16716,16 +16760,46 @@ async function collectMetrics(context, store) {
16716
16760
  diagnostics
16717
16761
  };
16718
16762
  }
16719
- function skillArtifacts(context, harness) {
16763
+ function skillArtifacts(context, harness, capabilities = null) {
16720
16764
  const install = SKILLS_INSTALL[harness];
16721
16765
  if (install === void 0)
16722
16766
  return [];
16767
+ const dynamic = capabilities === null ? [] : publishedSkillArtifactDigests(capabilities, harness).map(([path, digest]) => ({
16768
+ path: context.fs.join(context.projectRoot, ...path.split("/")),
16769
+ digest
16770
+ }));
16771
+ if (dynamic.length > 0)
16772
+ return dynamic;
16773
+ if (capabilities !== null && requiresRuntimeSkillDigests(capabilities))
16774
+ return [];
16723
16775
  const skills = context.fs.join(context.projectRoot, install.directory, "skills");
16724
16776
  return Object.entries(SKILL_ARTIFACT_DIGESTS).map(([path, digest]) => ({
16725
16777
  path: context.fs.join(skills, ...path.split("/")),
16726
16778
  digest
16727
16779
  }));
16728
16780
  }
16781
+ async function harnessTrimSkillsConfigured(context, harness, capabilities) {
16782
+ const artifacts = skillArtifacts(context, harness, capabilities);
16783
+ if (artifacts.length === 0)
16784
+ return false;
16785
+ for (const artifact of artifacts) {
16786
+ const stat3 = await context.fs.stat(artifact.path);
16787
+ if (stat3 === null || stat3.kind !== "file")
16788
+ return false;
16789
+ const actual = digestText(new TextDecoder().decode(await context.fs.readFile(artifact.path)));
16790
+ if (actual !== artifact.digest)
16791
+ return false;
16792
+ }
16793
+ return true;
16794
+ }
16795
+ async function configuredHarnessesForHarnessTrim(context, capabilities) {
16796
+ const configured = new Set(harnessesWiredToHarnessTrim(context.harnessConfigs));
16797
+ for (const harness of [CLAUDE2, CODEX2]) {
16798
+ if (await harnessTrimSkillsConfigured(context, harness, capabilities))
16799
+ configured.add(harness);
16800
+ }
16801
+ return [...configured];
16802
+ }
16729
16803
  async function plan(context, request) {
16730
16804
  const reviews = MANIFEST6.delegatedInstallReviews ?? {};
16731
16805
  const targets = request.harnesses.map((harness) => harness.id).filter((harness) => reviews[harness] !== void 0 && SKILLS_INSTALL[harness] !== void 0);
@@ -16737,8 +16811,11 @@ async function plan(context, request) {
16737
16811
  targetHarnesses: []
16738
16812
  };
16739
16813
  }
16814
+ const installed2 = await probeExecutable(context);
16815
+ const observed = installed2.installed ? await probeCapabilities(context) : null;
16816
+ const currentCapabilities = observed?.capabilities ?? null;
16740
16817
  if (request.desiredState === "absent") {
16741
- const actions2 = targets.flatMap((harness) => skillArtifacts(context, harness).map((artifact) => ({
16818
+ const actions2 = targets.flatMap((harness) => skillArtifacts(context, harness, currentCapabilities).map((artifact) => ({
16742
16819
  kind: "remove-owned-change",
16743
16820
  id: `harnesstrim-${harness}-skill-remove-${digestText(artifact.path).slice(7, 15)}`,
16744
16821
  riskClass: "reversible",
@@ -16747,7 +16824,7 @@ async function plan(context, request) {
16747
16824
  affectedPaths: [artifact.path],
16748
16825
  affectedProcesses: [],
16749
16826
  preconditions: [
16750
- `the HarnessTrim skill still matches the reviewed ${SKILLS_UPSTREAM} artifact`
16827
+ `the HarnessTrim skill still matches the installed HarnessTrim artifact contract`
16751
16828
  ],
16752
16829
  postconditions: ["the owned HarnessTrim skill is absent"],
16753
16830
  rollbackData: "file-snapshot",
@@ -16768,7 +16845,6 @@ async function plan(context, request) {
16768
16845
  targetHarnesses: actions2.length === 0 ? [] : targets.map((harness) => harnessId(harness))
16769
16846
  };
16770
16847
  }
16771
- const installed2 = await probeExecutable(context);
16772
16848
  if (!installed2.installed) {
16773
16849
  return {
16774
16850
  providerId: HARNESSTRIM2,
@@ -16777,7 +16853,6 @@ async function plan(context, request) {
16777
16853
  targetHarnesses: []
16778
16854
  };
16779
16855
  }
16780
- const observed = await probeCapabilities(context);
16781
16856
  const actions = [];
16782
16857
  const plannedHarnesses = [];
16783
16858
  for (const harness of targets) {
@@ -16785,10 +16860,12 @@ async function plan(context, request) {
16785
16860
  const install = SKILLS_INSTALL[harness];
16786
16861
  if (review === void 0 || install === void 0)
16787
16862
  continue;
16788
- const reviewed = observed.capabilities === null ? installed2.version === review.upstreamVersion : writeSetStillReviewed(observed.capabilities, harnessId(harness));
16863
+ const reviewed = currentCapabilities === null ? installed2.version === review.upstreamVersion : writeSetStillReviewed(currentCapabilities, harnessId(harness));
16789
16864
  if (!reviewed)
16790
16865
  continue;
16791
- const expectedArtifacts = skillArtifacts(context, harness);
16866
+ const expectedArtifacts = skillArtifacts(context, harness, currentCapabilities);
16867
+ if (expectedArtifacts.length === 0)
16868
+ continue;
16792
16869
  actions.push({
16793
16870
  kind: "delegated-provider-install",
16794
16871
  id: `harnesstrim-${harness}-skills-${digestText(context.projectRoot).slice(7, 15)}`,
@@ -16798,11 +16875,11 @@ async function plan(context, request) {
16798
16875
  affectedPaths: expectedArtifacts.map((artifact) => artifact.path),
16799
16876
  affectedProcesses: ["harnesstrim"],
16800
16877
  preconditions: [
16801
- "harnesstrim is installed, on PATH, and declares the reviewed write set",
16802
- `the reviewed installer writes only the declared ${harness} skill artifacts`
16878
+ "harnesstrim is installed, on PATH, and declares a compatible write set",
16879
+ `the installed HarnessTrim build publishes the exact ${harness} skill artifact contract`
16803
16880
  ],
16804
16881
  postconditions: [
16805
- `HarnessTrim ${harness} skills match the reviewed ${review.upstreamVersion} artifacts`,
16882
+ `HarnessTrim ${harness} skills match the installed ${installed2.version ?? review.upstreamVersion} artifact contract`,
16806
16883
  "no HarnessTrim hook or reduce-pipe instruction was added"
16807
16884
  ],
16808
16885
  rollbackData: "directory-snapshot",
@@ -16829,7 +16906,7 @@ async function plan(context, request) {
16829
16906
  targetHarnesses: plannedHarnesses
16830
16907
  };
16831
16908
  }
16832
- var HARNESSTRIM2, CLAUDE2, HERMES2, CODEX2, PI2, SKILLS_UPSTREAM, SKILL_ARTIFACT_DIGESTS, SKILL_ARTIFACTS, OPENCODE2, MODE_CARRYING_HARNESSES, HOOK_COMMAND_PATTERN, PLUGIN_MODULE_PATTERN2, PI_EXTENSION_PATTERN, MANIFEST6, SKILLS_INSTALL, TESTED_UPSTREAM, TESTED_VERSIONS, SURFACE_ANCHORS, VERSION_PATTERN6, harnesstrimAdapter;
16909
+ var HARNESSTRIM2, CLAUDE2, HERMES2, CODEX2, PI2, SKILLS_UPSTREAM, RUNTIME_SKILL_DIGESTS_MINIMUM, SKILL_ARTIFACT_DIGESTS, SKILL_ARTIFACTS, OPENCODE2, MODE_CARRYING_HARNESSES, HOOK_COMMAND_PATTERN, PLUGIN_MODULE_PATTERN2, PI_EXTENSION_PATTERN, MANIFEST6, SKILLS_INSTALL, TESTED_UPSTREAM, TESTED_VERSIONS, SURFACE_ANCHORS, VERSION_PATTERN6, harnesstrimAdapter;
16833
16910
  var init_harnesstrim = __esm({
16834
16911
  "packages/adapters/dist/src/providers/harnesstrim.js"() {
16835
16912
  "use strict";
@@ -16840,6 +16917,7 @@ var init_harnesstrim = __esm({
16840
16917
  CODEX2 = harnessId("codex");
16841
16918
  PI2 = harnessId("pi");
16842
16919
  SKILLS_UPSTREAM = "0.0.7";
16920
+ RUNTIME_SKILL_DIGESTS_MINIMUM = "0.3.0";
16843
16921
  SKILL_ARTIFACT_DIGESTS = {
16844
16922
  "compact-handoff/SKILL.md": "sha256:0efbf35581c559359e755b204778b64a289dab4d20dadc1cba3d5b5c995b5f01",
16845
16923
  "debug-log-slim/SKILL.md": "sha256:17f5ccc34d29d7aba083444e0e4d87fd3d49916ebcb4e6544caf8c89f13f0045",
@@ -18088,13 +18166,62 @@ var init_gitnexus_candidate = __esm({
18088
18166
  function claudeTarget(context) {
18089
18167
  return context.fs.join(context.paths.home, ".claude.json");
18090
18168
  }
18091
- function prerequisiteDiagnostic(harness, version3, supportsMcp) {
18169
+ async function observeGitNexusManagedRuntime(context) {
18170
+ const versionOutcome = await context.runner.run({
18171
+ executable: "gitnexus",
18172
+ args: ["--version"],
18173
+ cwd: context.projectRoot,
18174
+ timeoutMs: 2e4
18175
+ });
18176
+ if (versionOutcome.failure !== null) {
18177
+ return {
18178
+ ready: false,
18179
+ absent: versionOutcome.failure.reason === "executable-not-found",
18180
+ version: null,
18181
+ executable: versionOutcome.executablePath,
18182
+ supportsMcp: false,
18183
+ detail: `gitnexus --version failed: ${versionOutcome.failure.reason}`
18184
+ };
18185
+ }
18186
+ const version3 = parseGitNexusVersion(`${versionOutcome.stdout}
18187
+ ${versionOutcome.stderr}`);
18188
+ const actual = version3 === null ? null : parseSemanticVersion(version3);
18189
+ const floor = parseSemanticVersion(GITNEXUS_REVIEWED_MCP_VERSION);
18190
+ const newEnough = actual !== null && floor !== null && compareVersions(actual, floor) >= 0;
18191
+ if (versionOutcome.exitCode !== 0 || !newEnough) {
18192
+ return {
18193
+ ready: false,
18194
+ absent: false,
18195
+ version: version3,
18196
+ executable: versionOutcome.executablePath,
18197
+ supportsMcp: false,
18198
+ detail: version3 === null ? "GitNexus did not report a semantic version" : `GitNexus ${version3} predates the managed MCP floor ${GITNEXUS_REVIEWED_MCP_VERSION}`
18199
+ };
18200
+ }
18201
+ const help = await context.runner.run({
18202
+ executable: "gitnexus",
18203
+ args: ["--help"],
18204
+ cwd: context.projectRoot,
18205
+ timeoutMs: 2e4
18206
+ });
18207
+ const capabilities = help.failure === null && help.exitCode === 0 ? parseGitNexusCliCapabilities(`${help.stdout}
18208
+ ${help.stderr}`, "") : { query: false, context: false, statusJson: false, mcp: false };
18209
+ return {
18210
+ ready: capabilities.mcp,
18211
+ absent: false,
18212
+ version: version3,
18213
+ executable: versionOutcome.executablePath,
18214
+ supportsMcp: capabilities.mcp,
18215
+ detail: capabilities.mcp ? `GitNexus ${version3} exposes the MCP command required by the managed Claude integration` : `GitNexus ${version3} does not advertise the MCP command required by the managed Claude integration`
18216
+ };
18217
+ }
18218
+ function prerequisiteDiagnostic(harness, detail2) {
18092
18219
  return diagnostic({
18093
18220
  severity: "warning",
18094
18221
  code: "gitnexus-managed-mcp-prerequisite",
18095
18222
  subject: harness,
18096
- message: version3 === null ? "GitNexus is not available on the reviewed managed MCP surface" : supportsMcp ? `GitNexus ${version3} is not the reviewed managed MCP version ${GITNEXUS_REVIEWED_MCP_VERSION}` : `GitNexus ${version3} does not advertise the reviewed MCP command`,
18097
- remediation: `Keep the current installation user-owned; this build manages MCP registration only for GitNexus ${GITNEXUS_REVIEWED_MCP_VERSION}`
18223
+ message: detail2,
18224
+ remediation: `Install or update GitNexus to ${GITNEXUS_REVIEWED_MCP_VERSION} or newer with the MCP command, then refresh Token Harness`
18098
18225
  });
18099
18226
  }
18100
18227
  async function planGitNexusManagedMcpActivation(context, harness) {
@@ -18114,13 +18241,13 @@ async function planGitNexusManagedMcpActivation(context, harness) {
18114
18241
  ]
18115
18242
  };
18116
18243
  }
18117
- const observation = await observeGitNexusCandidate(context);
18118
- if (observation.state !== "benchmark-ready" || observation.version !== GITNEXUS_REVIEWED_MCP_VERSION || !observation.supportsMcp) {
18244
+ const observation = await observeGitNexusManagedRuntime(context);
18245
+ if (!observation.ready) {
18119
18246
  return {
18120
18247
  harness,
18121
18248
  target: null,
18122
18249
  actions: [],
18123
- diagnostics: [prerequisiteDiagnostic(harness, observation.version, observation.supportsMcp)]
18250
+ diagnostics: [prerequisiteDiagnostic(harness, observation.detail)]
18124
18251
  };
18125
18252
  }
18126
18253
  const target = claudeTarget(context);
@@ -18287,12 +18414,12 @@ async function verifyGitNexusManagedMcpActivation(context, harness) {
18287
18414
  detail: "Managed GitNexus MCP verification is currently reviewed only for Claude Code"
18288
18415
  };
18289
18416
  }
18290
- const observation = await observeGitNexusCandidate(context);
18291
- if (observation.state !== "benchmark-ready" || observation.version !== GITNEXUS_REVIEWED_MCP_VERSION || !observation.supportsMcp) {
18417
+ const observation = await observeGitNexusManagedRuntime(context);
18418
+ if (!observation.ready) {
18292
18419
  return {
18293
18420
  state: "candidate-unavailable",
18294
18421
  target: null,
18295
- detail: observation.reasons.join("; ")
18422
+ detail: observation.detail
18296
18423
  };
18297
18424
  }
18298
18425
  const target = claudeTarget(context);
@@ -18327,7 +18454,7 @@ async function verifyGitNexusManagedMcpActivation(context, harness) {
18327
18454
  return {
18328
18455
  state: "verified",
18329
18456
  target,
18330
- detail: `GitNexus ${GITNEXUS_REVIEWED_MCP_VERSION} is registered through the reviewed Claude MCP entry; verification did not start the MCP server`
18457
+ detail: `GitNexus ${observation.version ?? ""} is registered through the Token Harness-owned Claude MCP entry; verification did not start the MCP server`
18331
18458
  };
18332
18459
  }
18333
18460
  var GITNEXUS_REVIEWED_MCP_VERSION, GITNEXUS_CLAUDE_MCP_POINTER, GITNEXUS_MCP_SERVER, DECODER;
@@ -18479,6 +18606,28 @@ var init_headroom_candidate = __esm({
18479
18606
  function parseMcptoonVersion(text3) {
18480
18607
  return VERSION_PATTERN10.exec(text3)?.[1] ?? null;
18481
18608
  }
18609
+ function numericCore2(version3) {
18610
+ const core = version3.split(/[-+]/, 1)[0];
18611
+ if (core === void 0)
18612
+ return null;
18613
+ const parts = core.split(".").map((part) => Number.parseInt(part, 10));
18614
+ if (parts.length !== 3 || parts.some((part) => !Number.isInteger(part) || part < 0))
18615
+ return null;
18616
+ return [parts[0] ?? 0, parts[1] ?? 0, parts[2] ?? 0];
18617
+ }
18618
+ function mcptoonVersionAtLeast(version3, minimum) {
18619
+ const actual = numericCore2(version3);
18620
+ const floor = numericCore2(minimum);
18621
+ if (actual === null || floor === null)
18622
+ return false;
18623
+ for (let index = 0; index < 3; index += 1) {
18624
+ const left = actual[index] ?? 0;
18625
+ const right = floor[index] ?? 0;
18626
+ if (left !== right)
18627
+ return left > right;
18628
+ }
18629
+ return !(version3.includes("-") && !minimum.includes("-"));
18630
+ }
18482
18631
  function parseMcptoonManifestCapabilities(text3) {
18483
18632
  const lower = text3.toLowerCase();
18484
18633
  return {
@@ -18586,6 +18735,50 @@ var init_mcptoon_candidate = __esm({
18586
18735
  });
18587
18736
 
18588
18737
  // packages/adapters/dist/src/providers/mcptoon-managed.js
18738
+ async function observeMcptoonManagedRuntime(context) {
18739
+ const versionOutcome = await context.runner.run({
18740
+ executable: "mcptoon",
18741
+ args: ["--version"],
18742
+ cwd: context.projectRoot,
18743
+ timeoutMs: 2e4
18744
+ });
18745
+ if (versionOutcome.failure !== null) {
18746
+ return {
18747
+ ready: false,
18748
+ absent: versionOutcome.failure.reason === "executable-not-found",
18749
+ version: null,
18750
+ executable: versionOutcome.executablePath,
18751
+ detail: `mcptoon --version failed: ${versionOutcome.failure.reason}`
18752
+ };
18753
+ }
18754
+ const version3 = parseMcptoonVersion(`${versionOutcome.stdout}
18755
+ ${versionOutcome.stderr}`);
18756
+ if (versionOutcome.exitCode !== 0 || version3 === null || !mcptoonVersionAtLeast(version3, MCPTOON_MANAGED_MINIMUM_VERSION)) {
18757
+ return {
18758
+ ready: false,
18759
+ absent: false,
18760
+ version: version3,
18761
+ executable: versionOutcome.executablePath,
18762
+ detail: version3 === null ? "mcptoon did not report a semantic version" : `mcptoon ${version3} predates the managed runtime floor ${MCPTOON_MANAGED_MINIMUM_VERSION}`
18763
+ };
18764
+ }
18765
+ const help = await context.runner.run({
18766
+ executable: "mcptoon",
18767
+ args: ["--help"],
18768
+ cwd: context.projectRoot,
18769
+ timeoutMs: 2e4
18770
+ });
18771
+ const capabilities = help.failure === null && help.exitCode === 0 ? parseMcptoonManifestCapabilities(`${help.stdout}
18772
+ ${help.stderr}`) : { compact: false, json: false };
18773
+ const ready = capabilities.compact && capabilities.json;
18774
+ return {
18775
+ ready,
18776
+ absent: false,
18777
+ version: version3,
18778
+ executable: versionOutcome.executablePath,
18779
+ detail: ready ? `mcptoon ${version3} exposes the compact/JSON CLI surfaces used by the managed integration` : `mcptoon ${version3} no longer advertises the compact/JSON CLI surfaces required by the managed integration`
18780
+ };
18781
+ }
18589
18782
  function mcptoonInstallAction() {
18590
18783
  return {
18591
18784
  kind: "package-manager-install",
@@ -18811,11 +19004,11 @@ async function planMcptoonManagedActivation(context, harness) {
18811
19004
  ]
18812
19005
  };
18813
19006
  }
18814
- const observation = await observeMcptoonCandidate(context);
19007
+ const observation = await observeMcptoonManagedRuntime(context);
18815
19008
  const activation = harness === "claude" ? await planClaudeActivation(context, harness) : await planCodexActivation(context, harness);
18816
- if (observation.state === "benchmark-ready")
19009
+ if (observation.ready)
18817
19010
  return activation;
18818
- if (observation.state === "absent") {
19011
+ if (observation.absent) {
18819
19012
  const activationSatisfied = activation.diagnostics.some((entry) => entry.code === "mcptoon-guidance-already-present");
18820
19013
  if (activation.actions.length === 0 && !activationSatisfied) {
18821
19014
  return activation;
@@ -18867,19 +19060,19 @@ async function planMcptoonManagedActivation(context, harness) {
18867
19060
  severity: "warning",
18868
19061
  code: "mcptoon-managed-prerequisite",
18869
19062
  subject: harness,
18870
- message: `mcptoon ${observation.version ?? ""} is runnable but not on the reviewed managed-activation surface`.trim(),
18871
- remediation: `Keep the existing installation user-owned, or move to the exact reviewed mcptoon ${MCPTOON_REVIEWED_INSTALL_VERSION} build`
19063
+ message: observation.detail,
19064
+ remediation: `Update mcptoon to ${MCPTOON_MANAGED_MINIMUM_VERSION} or newer with the required compact/JSON CLI surfaces, then refresh Token Harness`
18872
19065
  })
18873
19066
  ]
18874
19067
  };
18875
19068
  }
18876
19069
  async function verifyMcptoonManagedActivation(context, harness) {
18877
- const observation = await observeMcptoonCandidate(context);
18878
- if (observation.state !== "benchmark-ready") {
19070
+ const observation = await observeMcptoonManagedRuntime(context);
19071
+ if (!observation.ready) {
18879
19072
  return {
18880
19073
  state: "candidate-unavailable",
18881
19074
  target: null,
18882
- detail: observation.reasons.join("; ")
19075
+ detail: observation.detail
18883
19076
  };
18884
19077
  }
18885
19078
  let target;
@@ -18906,22 +19099,23 @@ async function verifyMcptoonManagedActivation(context, harness) {
18906
19099
  return {
18907
19100
  state: "not-configured",
18908
19101
  target,
18909
- detail: "The reviewed mcptoon agent instructions are not present"
19102
+ detail: "The Token Harness mcptoon agent instructions are not present"
18910
19103
  };
18911
19104
  }
18912
19105
  return {
18913
19106
  state: "verified",
18914
19107
  target,
18915
- detail: "Reviewed agent instructions are present and mcptoon exposes the reviewed passive CLI capabilities"
19108
+ detail: `Agent instructions are present and mcptoon ${observation.version ?? ""} exposes the required passive CLI capabilities`
18916
19109
  };
18917
19110
  }
18918
- var MCPTOON_REVIEWED_INSTALL_VERSION, MCPTOON_MARKER_BEGIN, MCPTOON_MARKER_END, MCPTOON_AGENT_INSTRUCTIONS, MCPTOON_CLAUDE_SKILL, DECODER2;
19111
+ var MCPTOON_REVIEWED_INSTALL_VERSION, MCPTOON_MANAGED_MINIMUM_VERSION, MCPTOON_MARKER_BEGIN, MCPTOON_MARKER_END, MCPTOON_AGENT_INSTRUCTIONS, MCPTOON_CLAUDE_SKILL, DECODER2;
18919
19112
  var init_mcptoon_managed = __esm({
18920
19113
  "packages/adapters/dist/src/providers/mcptoon-managed.js"() {
18921
19114
  "use strict";
18922
19115
  init_src();
18923
19116
  init_mcptoon_candidate();
18924
19117
  MCPTOON_REVIEWED_INSTALL_VERSION = "0.7.10";
19118
+ MCPTOON_MANAGED_MINIMUM_VERSION = MCPTOON_REVIEWED_INSTALL_VERSION;
18925
19119
  MCPTOON_MARKER_BEGIN = "TOKEN-HARNESS:MCPTOON:BEGIN";
18926
19120
  MCPTOON_MARKER_END = "TOKEN-HARNESS:MCPTOON:END";
18927
19121
  MCPTOON_AGENT_INSTRUCTIONS = `Use mcptoon as the CLI gateway for MCP tools when a task needs one.
@@ -18961,7 +19155,7 @@ function warning(code, subject, message) {
18961
19155
  code,
18962
19156
  subject,
18963
19157
  message,
18964
- remediation: "Use the exact reviewed version before asking Token Harness to change this tool."
19158
+ remediation: "Update the provider or restore the CLI capability this managed integration requires, then refresh Token Harness."
18965
19159
  });
18966
19160
  }
18967
19161
  function unavailableMetrics(provider) {
@@ -18976,53 +19170,49 @@ function unavailableMetrics(provider) {
18976
19170
  };
18977
19171
  }
18978
19172
  async function mcptoonDetection(context) {
18979
- const observation = await observeMcptoonCandidate(context);
19173
+ const observation = await observeMcptoonManagedRuntime(context);
18980
19174
  const configuredHarnesses = [];
18981
- if (observation.version === MCPTOON_REVIEWED_BENCHMARK_VERSION) {
19175
+ if (observation.ready) {
18982
19176
  for (const harness of [CLAUDE5, CODEX3]) {
18983
19177
  const verification = await verifyMcptoonManagedActivation(context, harness);
18984
19178
  if (verification.state === "verified")
18985
19179
  configuredHarnesses.push(harness);
18986
19180
  }
18987
19181
  }
18988
- const warnings = observation.state === "unsupported-version" ? [
18989
- warning("mcptoon-provider-version-unreviewed", "mcptoon", observation.reasons[0] ?? "The installed mcptoon version is outside the reviewed row.")
18990
- ] : [];
19182
+ const warnings = !observation.absent && !observation.ready ? [warning("mcptoon-provider-capability-unavailable", "mcptoon", observation.detail)] : [];
18991
19183
  return {
18992
19184
  providerId: MCPTOON,
18993
- state: observation.state === "absent" ? "absent" : configuredHarnesses.length > 0 ? "configured" : "installed",
19185
+ state: observation.absent ? "absent" : configuredHarnesses.length > 0 ? "configured" : "installed",
18994
19186
  version: observation.version,
18995
19187
  executable: observation.executable,
18996
- installationChannel: observation.state === "absent" ? "pipx" : null,
19188
+ installationChannel: observation.absent ? "pipx" : null,
18997
19189
  versionVerdict: versionVerdict(observation.version, MCPTOON_REVIEWED_BENCHMARK_VERSION),
18998
19190
  configuredHarnesses,
18999
19191
  unmanagedHarnessesConfigured: [],
19000
19192
  supportsUnmanagedHarnesses: false,
19001
19193
  managedByTokenHarness: false,
19002
- assignableHarnesses: observation.version === MCPTOON_REVIEWED_BENCHMARK_VERSION ? [CLAUDE5, CODEX3] : [],
19194
+ assignableHarnesses: observation.ready ? [CLAUDE5, CODEX3] : [],
19003
19195
  evidence: [],
19004
19196
  warnings
19005
19197
  };
19006
19198
  }
19007
19199
  async function gitnexusDetection(context) {
19008
- const observation = await observeGitNexusCandidate(context);
19009
- const verification = observation.version === GITNEXUS_REVIEWED_BENCHMARK_VERSION ? await verifyGitNexusManagedMcpActivation(context, CLAUDE5) : null;
19200
+ const observation = await observeGitNexusManagedRuntime(context);
19201
+ const verification = observation.ready ? await verifyGitNexusManagedMcpActivation(context, CLAUDE5) : null;
19010
19202
  const configuredHarnesses = verification?.state === "verified" ? [CLAUDE5] : [];
19011
- const warnings = observation.state === "unsupported-version" ? [
19012
- warning("gitnexus-provider-version-unreviewed", "gitnexus", observation.reasons[0] ?? "The installed GitNexus version is outside the reviewed row.")
19013
- ] : [];
19203
+ const warnings = !observation.absent && !observation.ready ? [warning("gitnexus-provider-capability-unavailable", "gitnexus", observation.detail)] : [];
19014
19204
  return {
19015
19205
  providerId: GITNEXUS,
19016
- state: observation.state === "absent" ? "absent" : configuredHarnesses.length > 0 ? "configured" : "installed",
19206
+ state: observation.absent ? "absent" : configuredHarnesses.length > 0 ? "configured" : "installed",
19017
19207
  version: observation.version,
19018
19208
  executable: observation.executable,
19019
- installationChannel: observation.state === "absent" ? "npm" : null,
19209
+ installationChannel: observation.absent ? "npm" : null,
19020
19210
  versionVerdict: versionVerdict(observation.version, GITNEXUS_REVIEWED_BENCHMARK_VERSION),
19021
19211
  configuredHarnesses,
19022
19212
  unmanagedHarnessesConfigured: [],
19023
19213
  supportsUnmanagedHarnesses: false,
19024
19214
  managedByTokenHarness: false,
19025
- assignableHarnesses: observation.version === GITNEXUS_REVIEWED_BENCHMARK_VERSION && observation.supportsMcp ? [CLAUDE5] : [],
19215
+ assignableHarnesses: observation.ready ? [CLAUDE5] : [],
19026
19216
  evidence: [],
19027
19217
  warnings
19028
19218
  };
@@ -19322,12 +19512,15 @@ function directoryAction2(harness, path) {
19322
19512
  path
19323
19513
  };
19324
19514
  }
19325
- async function reviewedMcpCliAvailable(context) {
19515
+ async function headroomManagedMcpRuntime(context) {
19326
19516
  const observation = await observeHeadroomCandidate(context);
19327
- if (observation.version !== HEADROOM_REVIEWED_MCP_VERSION) {
19517
+ const compatible = observation.version !== null && headroomVersionAtLeast(observation.version, HEADROOM_REVIEWED_MCP_VERSION);
19518
+ if (!compatible) {
19328
19519
  return {
19329
19520
  ok: false,
19330
- detail: observation.version === null ? `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} is not installed` : `Headroom ${observation.version} is installed; managed MCP activation is reviewed only for ${HEADROOM_REVIEWED_MCP_VERSION}`
19521
+ version: observation.version,
19522
+ executable: observation.executable,
19523
+ detail: observation.version === null ? `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} or newer is not installed` : `Headroom ${observation.version} predates the managed MCP floor ${HEADROOM_REVIEWED_MCP_VERSION}`
19331
19524
  };
19332
19525
  }
19333
19526
  const help = await context.runner.run({
@@ -19339,12 +19532,16 @@ async function reviewedMcpCliAvailable(context) {
19339
19532
  if (help.failure !== null || help.exitCode !== 0) {
19340
19533
  return {
19341
19534
  ok: false,
19342
- detail: `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} is installed but its reviewed MCP server command is unavailable`
19535
+ version: observation.version,
19536
+ executable: observation.executable,
19537
+ detail: `Headroom ${observation.version} is installed but its MCP server command is unavailable`
19343
19538
  };
19344
19539
  }
19345
19540
  return {
19346
19541
  ok: true,
19347
- detail: `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} exposes the reviewed local MCP server`
19542
+ version: observation.version,
19543
+ executable: observation.executable,
19544
+ detail: `Headroom ${observation.version} exposes the local MCP server required by the managed integration`
19348
19545
  };
19349
19546
  }
19350
19547
  function prerequisite(harness, detail2) {
@@ -19358,7 +19555,7 @@ function prerequisite(harness, detail2) {
19358
19555
  code: "headroom-managed-mcp-prerequisite",
19359
19556
  subject: harness,
19360
19557
  message: detail2,
19361
- remediation: `Install the exact reviewed Headroom ${HEADROOM_REVIEWED_MCP_VERSION} MCP package with your existing Python/uv tooling, then refresh Token Harness. Token Harness will not install Python, uv, or system prerequisites implicitly.`
19558
+ remediation: `Install Headroom ${HEADROOM_REVIEWED_MCP_VERSION} or newer with its MCP extra using your existing Python/uv tooling, then refresh Token Harness. Token Harness will not install Python, uv, or system prerequisites implicitly.`
19362
19559
  })
19363
19560
  ]
19364
19561
  };
@@ -19612,9 +19809,9 @@ async function planCodex(context, harness) {
19612
19809
  affectedPaths: [target],
19613
19810
  affectedProcesses: [],
19614
19811
  preconditions: ["No Headroom MCP table or Token Harness Headroom marker block exists"],
19615
- postconditions: ["Codex config contains exactly one reviewed Headroom MCP server block"],
19812
+ postconditions: ["Codex config contains exactly one Token Harness Headroom MCP server block"],
19616
19813
  rollbackData: "file-snapshot",
19617
- explanation: "Register the installed reviewed Headroom CLI as a Codex MCP server",
19814
+ explanation: "Register the installed Headroom CLI as a Codex MCP server",
19618
19815
  path: target,
19619
19816
  markerBegin: HEADROOM_CODEX_MARKER_BEGIN,
19620
19817
  markerEnd: HEADROOM_CODEX_MARKER_END,
@@ -19643,7 +19840,7 @@ async function planHeadroomManagedMcpActivation(context, harness) {
19643
19840
  ]
19644
19841
  };
19645
19842
  }
19646
- const cli = await reviewedMcpCliAvailable(context);
19843
+ const cli = await headroomManagedMcpRuntime(context);
19647
19844
  if (!cli.ok)
19648
19845
  return prerequisite(harness, cli.detail);
19649
19846
  return harness === "claude" ? planClaude(context, harness) : planCodex(context, harness);
@@ -19670,7 +19867,7 @@ function headroomOwnedArtifact(context, harness) {
19670
19867
  return null;
19671
19868
  }
19672
19869
  async function verifyHeadroomManagedMcpActivation(context, harness) {
19673
- const cli = await reviewedMcpCliAvailable(context);
19870
+ const cli = await headroomManagedMcpRuntime(context);
19674
19871
  if (!cli.ok)
19675
19872
  return { state: "candidate-unavailable", target: null, detail: cli.detail };
19676
19873
  if (harness === "claude") {
@@ -19693,13 +19890,13 @@ async function verifyHeadroomManagedMcpActivation(context, harness) {
19693
19890
  return {
19694
19891
  state: "degraded",
19695
19892
  target,
19696
- detail: "Headroom MCP entry differs from the reviewed command"
19893
+ detail: "Headroom MCP entry differs from the Token Harness managed command"
19697
19894
  };
19698
19895
  }
19699
19896
  return {
19700
19897
  state: "verified",
19701
19898
  target,
19702
- detail: `${cli.detail}; Claude registration matches the reviewed entry`
19899
+ detail: `${cli.detail}; Claude registration matches the managed entry`
19703
19900
  };
19704
19901
  }
19705
19902
  if (harness === "codex") {
@@ -19719,12 +19916,12 @@ async function verifyHeadroomManagedMcpActivation(context, harness) {
19719
19916
  return {
19720
19917
  state: "not-configured",
19721
19918
  target,
19722
- detail: "Reviewed Headroom Codex MCP block is absent"
19919
+ detail: "Token Harness Headroom Codex MCP block is absent"
19723
19920
  };
19724
19921
  return {
19725
19922
  state: "verified",
19726
19923
  target,
19727
- detail: `${cli.detail}; Codex registration matches the reviewed owned block`
19924
+ detail: `${cli.detail}; Codex registration matches the managed owned block`
19728
19925
  };
19729
19926
  }
19730
19927
  return {
@@ -19760,14 +19957,15 @@ function manualInstallWarning() {
19760
19957
  severity: "warning",
19761
19958
  code: "headroom-uv-install-prerequisite",
19762
19959
  subject: "headroom",
19763
- message: `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} is not installed. Token Harness can manage its MCP configuration after the reviewed CLI is present.`,
19764
- remediation: `With your existing uv and a compatible system Python >=3.10, run: uv tool install --no-managed-python --no-python-downloads "headroom-ai[mcp]==${HEADROOM_REVIEWED_MCP_VERSION}". Token Harness does not install uv, Python, or admin prerequisites.`
19960
+ message: `Headroom ${HEADROOM_REVIEWED_MCP_VERSION} or newer is not installed. Token Harness can manage its MCP configuration after a compatible CLI is present.`,
19961
+ remediation: `With your existing uv and a compatible system Python >=3.10, install headroom-ai[mcp] ${HEADROOM_REVIEWED_MCP_VERSION} or newer. Token Harness does not install uv, Python, or admin prerequisites.`
19765
19962
  });
19766
19963
  }
19767
19964
  async function detect8(context) {
19768
19965
  const observation = await observeHeadroomCandidate(context);
19966
+ const runtime = await headroomManagedMcpRuntime(context);
19769
19967
  const configuredHarnesses = [];
19770
- if (observation.version === HEADROOM_REVIEWED_MCP_VERSION) {
19968
+ if (runtime.ok) {
19771
19969
  for (const harness of [CLAUDE7, CODEX4]) {
19772
19970
  const verification = await verifyHeadroomManagedMcpActivation(context, harness);
19773
19971
  if (verification.state === "verified")
@@ -19777,13 +19975,13 @@ async function detect8(context) {
19777
19975
  const warnings = [];
19778
19976
  if (observation.state === "absent")
19779
19977
  warnings.push(manualInstallWarning());
19780
- if (observation.state === "unsupported-version") {
19978
+ else if (!runtime.ok) {
19781
19979
  warnings.push(diagnostic({
19782
19980
  severity: "warning",
19783
- code: "headroom-provider-version-unreviewed",
19981
+ code: "headroom-provider-capability-unavailable",
19784
19982
  subject: "headroom",
19785
- message: observation.reasons[0] ?? `The installed Headroom version is outside the reviewed ${HEADROOM_REVIEWED_MCP_VERSION} row.`,
19786
- remediation: `Keep that installation user-owned or use the exact reviewed ${HEADROOM_REVIEWED_MCP_VERSION} build.`
19983
+ message: runtime.detail,
19984
+ remediation: `Update Headroom to ${HEADROOM_REVIEWED_MCP_VERSION} or newer with the MCP extra, then refresh Token Harness.`
19787
19985
  }));
19788
19986
  }
19789
19987
  return {
@@ -19800,7 +19998,7 @@ async function detect8(context) {
19800
19998
  unmanagedHarnessesConfigured: [],
19801
19999
  supportsUnmanagedHarnesses: false,
19802
20000
  managedByTokenHarness: false,
19803
- assignableHarnesses: observation.version === HEADROOM_REVIEWED_MCP_VERSION ? [CLAUDE7, CODEX4] : [],
20001
+ assignableHarnesses: runtime.ok ? [CLAUDE7, CODEX4] : [],
19804
20002
  evidence: [],
19805
20003
  warnings
19806
20004
  };
@@ -19873,7 +20071,7 @@ async function verify8(context) {
19873
20071
  summary: result6.detail,
19874
20072
  achievedTier: result6.state === "verified" ? "config-only" : result6.state === "candidate-unavailable" ? null : "presence",
19875
20073
  evidence: [],
19876
- remediation: result6.state === "candidate-unavailable" ? `Install reviewed Headroom ${HEADROOM_REVIEWED_MCP_VERSION} with its MCP extra first.` : null
20074
+ remediation: result6.state === "candidate-unavailable" ? `Install Headroom ${HEADROOM_REVIEWED_MCP_VERSION} or newer with its MCP extra first.` : null
19877
20075
  });
19878
20076
  }
19879
20077
  return {
@@ -20046,26 +20244,25 @@ var init_mcptoon_provider = __esm({
20046
20244
 
20047
20245
  // packages/adapters/dist/src/providers/version-compatibility.js
20048
20246
  function reviewedProviderPackageMaximum(provider) {
20049
- return REVIEWED_PACKAGE_UPDATE_RANGES.get(provider)?.maximum ?? null;
20247
+ return PACKAGE_UPDATE_BASELINES.get(provider)?.maximum ?? null;
20050
20248
  }
20051
20249
  function admitProviderPackageUpdate(provider, targetVersion) {
20052
- const range = REVIEWED_PACKAGE_UPDATE_RANGES.get(provider);
20250
+ const range = PACKAGE_UPDATE_BASELINES.get(provider);
20053
20251
  if (range === void 0) {
20054
20252
  return { state: "blocked", reason: `no package-update policy exists for ${provider}` };
20055
20253
  }
20056
20254
  const target = parseSemanticVersion(targetVersion);
20057
20255
  const minimum = parseSemanticVersion(range.minimum);
20058
- const maximum = parseSemanticVersion(range.maximum);
20059
- if (target === null || minimum === null || maximum === null) {
20256
+ if (target === null || minimum === null) {
20060
20257
  return {
20061
20258
  state: "blocked",
20062
- reason: `${targetVersion} is not a parseable reviewed provider release`
20259
+ reason: `${targetVersion} is not a parseable provider release`
20063
20260
  };
20064
20261
  }
20065
- if (compareVersions(target, minimum) < 0 || compareVersions(target, maximum) > 0) {
20262
+ if (compareVersions(target, minimum) < 0) {
20066
20263
  return {
20067
20264
  state: "blocked",
20068
- reason: `${targetVersion} is outside the reviewed package-update range ${range.minimum}..${range.maximum}`
20265
+ reason: `${targetVersion} predates the supported provider update floor ${range.minimum}`
20069
20266
  };
20070
20267
  }
20071
20268
  return { state: "admitted" };
@@ -20078,10 +20275,15 @@ function harnessTrimContractMatchesInstalledVersion(detection) {
20078
20275
  const capabilityDrift = detection.warnings.some((warning2) => warning2.code === "provider-capabilities-drift");
20079
20276
  return declaredByInstalledBuild && !capabilityDrift;
20080
20277
  }
20278
+ function runtimeManagedSurfaceStillAvailable(detection) {
20279
+ if (detection.state === "broken" || detection.assignableHarnesses.length === 0)
20280
+ return false;
20281
+ return !detection.warnings.some((warning2) => /capabilit/i.test(warning2.code) && /(unavailable|drift|mismatch|unsupported)/i.test(warning2.code));
20282
+ }
20081
20283
  function applyProviderVersionCompatibility(detection) {
20082
20284
  if (detection.versionVerdict !== "unknown-newer" || detection.version === null)
20083
20285
  return detection;
20084
- const compatible = detection.providerId === RTK3 && SOURCE_REVIEWED_RTK_RELEASES.has(detection.version) || detection.providerId === HARNESSTRIM3 && harnessTrimContractMatchesInstalledVersion(detection);
20286
+ const compatible = detection.providerId === HARNESSTRIM3 ? harnessTrimContractMatchesInstalledVersion(detection) : [RTK3, MCPTOON2, GITNEXUS2, HEADROOM3].includes(detection.providerId) && runtimeManagedSurfaceStillAvailable(detection);
20085
20287
  if (!compatible)
20086
20288
  return detection;
20087
20289
  return {
@@ -20096,17 +20298,40 @@ function withProviderVersionCompatibility(adapter) {
20096
20298
  detect: async (context) => applyProviderVersionCompatibility(await adapter.detect(context))
20097
20299
  };
20098
20300
  }
20099
- var RTK3, HARNESSTRIM3, SOURCE_REVIEWED_RTK_RELEASES, REVIEWED_PACKAGE_UPDATE_RANGES;
20301
+ var RTK3, HARNESSTRIM3, MCPTOON2, GITNEXUS2, HEADROOM3, PACKAGE_UPDATE_BASELINES;
20100
20302
  var init_version_compatibility = __esm({
20101
20303
  "packages/adapters/dist/src/providers/version-compatibility.js"() {
20102
20304
  "use strict";
20103
20305
  init_src();
20306
+ init_gitnexus_candidate();
20307
+ init_headroom_candidate();
20308
+ init_mcptoon_candidate();
20104
20309
  RTK3 = providerId("rtk");
20105
20310
  HARNESSTRIM3 = providerId("harnesstrim");
20106
- SOURCE_REVIEWED_RTK_RELEASES = /* @__PURE__ */ new Set(["0.49.0"]);
20107
- REVIEWED_PACKAGE_UPDATE_RANGES = /* @__PURE__ */ new Map([
20311
+ MCPTOON2 = providerId("mcptoon");
20312
+ GITNEXUS2 = providerId("gitnexus");
20313
+ HEADROOM3 = providerId("headroom");
20314
+ PACKAGE_UPDATE_BASELINES = /* @__PURE__ */ new Map([
20108
20315
  [RTK3, { minimum: "0.44.0", maximum: "0.49.0" }],
20109
- [HARNESSTRIM3, { minimum: "0.0.5", maximum: "0.3.0" }]
20316
+ [HARNESSTRIM3, { minimum: "0.0.5", maximum: "0.3.0" }],
20317
+ [
20318
+ MCPTOON2,
20319
+ { minimum: MCPTOON_REVIEWED_BENCHMARK_VERSION, maximum: MCPTOON_REVIEWED_BENCHMARK_VERSION }
20320
+ ],
20321
+ [
20322
+ GITNEXUS2,
20323
+ {
20324
+ minimum: GITNEXUS_REVIEWED_BENCHMARK_VERSION,
20325
+ maximum: GITNEXUS_REVIEWED_BENCHMARK_VERSION
20326
+ }
20327
+ ],
20328
+ [
20329
+ HEADROOM3,
20330
+ {
20331
+ minimum: HEADROOM_REVIEWED_BENCHMARK_VERSION,
20332
+ maximum: HEADROOM_REVIEWED_BENCHMARK_VERSION
20333
+ }
20334
+ ]
20110
20335
  ]);
20111
20336
  }
20112
20337
  });
@@ -20303,9 +20528,9 @@ var init_providers = __esm({
20303
20528
  PROVIDER_ADAPTERS = [
20304
20529
  rtkAdapter2,
20305
20530
  cliHarnessTrimAdapter,
20306
- mcptoonManagedProviderAdapter,
20307
- gitnexusManagedProviderAdapter,
20308
- headroomManagedProviderAdapter
20531
+ withProviderVersionCompatibility(mcptoonManagedProviderAdapter),
20532
+ withProviderVersionCompatibility(gitnexusManagedProviderAdapter),
20533
+ withProviderVersionCompatibility(headroomManagedProviderAdapter)
20309
20534
  ];
20310
20535
  }
20311
20536
  });
@@ -24056,6 +24281,17 @@ async function computePlan(context) {
24056
24281
  wsl: context.platform.isWsl
24057
24282
  });
24058
24283
  if (admission.state !== "admitted") {
24284
+ const dynamicallyAssignable = assignable.get(adapter.manifest.id)?.has(harness) === true;
24285
+ if (dynamicallyAssignable) {
24286
+ diagnostics.push(diagnostic({
24287
+ severity: "info",
24288
+ code: "managed-mutation-forward-compatible",
24289
+ subject: adapter.manifest.id,
24290
+ message: `${adapter.manifest.displayName} declares that it can configure ${harness} on the installed build. Token Harness will use the normal transactional apply path and verify the resulting state even though this exact version tuple is newer than the recorded compatibility evidence.`,
24291
+ remediation: null
24292
+ }));
24293
+ continue;
24294
+ }
24059
24295
  admitted = false;
24060
24296
  blocked.push({
24061
24297
  provider: adapter.manifest.id,
@@ -24224,7 +24460,7 @@ async function computePlan(context) {
24224
24460
  severity: refusalIsTheOutcome ? "error" : "warning",
24225
24461
  code: "managed-mutation-blocked",
24226
24462
  message: `plan refuses managed mutation of ${entry.harness} by ${entry.provider}${entry.providerVersion !== null ? ` at ${entry.providerVersion}` : ""}: ${entry.missing}`,
24227
- remediation: "Add a compatibility row whose fixture proves this combination, or configure this integration by hand"
24463
+ remediation: "Restore the provider runtime capability required for this managed integration, or configure it by hand"
24228
24464
  }));
24229
24465
  }
24230
24466
  for (const conflict of conflicts) {
@@ -26864,7 +27100,7 @@ async function runDoctor(context) {
26864
27100
  ]
26865
27101
  };
26866
27102
  });
26867
- const problemCount = harnesses.filter(isBroken).length + providers.filter(isBroken).length + [...harnesses, ...providers].filter((detection) => detection.versionVerdict === "unknown-newer").length;
27103
+ const problemCount = harnesses.filter(isBroken).length + providers.filter(isBroken).length;
26868
27104
  const rows = context.compatibilityRows ?? COMPATIBILITY_ROWS;
26869
27105
  const providersWithCoverage = providersWithPathDiagnostics.map((detection) => {
26870
27106
  if (detection.state !== "configured" || detection.configuredHarnesses.length === 0) {
@@ -26880,14 +27116,14 @@ async function runDoctor(context) {
26880
27116
  os: context.platform.os,
26881
27117
  wsl: context.platform.isWsl
26882
27118
  });
26883
- if (admission.state === "admitted")
27119
+ if (admission.state === "admitted" || detection.assignableHarnesses.includes(harness))
26884
27120
  return [];
26885
27121
  return [
26886
27122
  diagnostic({
26887
27123
  severity: "warning",
26888
- code: "no-compatibility-row",
26889
- message: `no compatibility row covers ${detection.providerId} on ${harness}${detection.version !== null ? ` at ${detection.version}` : ""} \u2014 ${admission.missing}`,
26890
- remediation: "Add a compatibility row whose fixture proves this combination, or configure this integration by hand"
27124
+ code: "provider-surface-not-assignable",
27125
+ message: `${detection.providerId} is configured on ${harness}, but the currently installed provider build does not advertise that harness as an automatic setup target`,
27126
+ remediation: "Run the provider verification checks; keep the existing configuration if it is healthy, or update the provider if its automatic setup contract has changed"
26891
27127
  })
26892
27128
  ];
26893
27129
  });
@@ -28104,6 +28340,7 @@ async function runPackageChannelUpdate(context, options = {}) {
28104
28340
  projectIdFor: adapters.projectIdFor
28105
28341
  };
28106
28342
  const actions = [];
28343
+ const updateTargets = /* @__PURE__ */ new Map();
28107
28344
  const blockedUpdates = [];
28108
28345
  const destinations = /* @__PURE__ */ new Set();
28109
28346
  for (const adapter of providerAdapters) {
@@ -28180,7 +28417,7 @@ async function runPackageChannelUpdate(context, options = {}) {
28180
28417
  }
28181
28418
  row2.verdict = "upgradable";
28182
28419
  report.providers.push(row2);
28183
- actions.push(upgradeAction({
28420
+ const action = upgradeAction({
28184
28421
  providerId: adapter.manifest.id,
28185
28422
  channel: channel.id,
28186
28423
  packageName,
@@ -28188,15 +28425,21 @@ async function runPackageChannelUpdate(context, options = {}) {
28188
28425
  requiresNetwork: channel.requiresNetwork,
28189
28426
  requiresElevation: channel.requiresElevation,
28190
28427
  installed: detection.version ?? "an unknown version"
28191
- }));
28428
+ });
28429
+ actions.push(action);
28430
+ updateTargets.set(action.id, {
28431
+ providerId: adapter.manifest.id,
28432
+ target: query.version,
28433
+ adapter
28434
+ });
28192
28435
  }
28193
28436
  report.network = [...destinations].sort();
28194
28437
  for (const blocked of blockedUpdates) {
28195
28438
  diagnostics.push(diagnostic({
28196
28439
  severity: "info",
28197
28440
  code: "provider-update-target-unreviewed",
28198
- message: `${blocked.providerId} ${blocked.target} is available but is outside the reviewed provider package-update policy; keeping ${blocked.installed ?? "the installed version"}`,
28199
- remediation: "Review the provider package contract before enabling unattended update to this release"
28441
+ message: `${blocked.providerId} ${blocked.target} is available but does not meet the provider update prerequisites; keeping ${blocked.installed ?? "the installed version"}`,
28442
+ remediation: "Check the provider update floor or version format, then retry the update"
28200
28443
  }));
28201
28444
  diagnostics.push(diagnostic({
28202
28445
  severity: "info",
@@ -28269,7 +28512,64 @@ async function runPackageChannelUpdate(context, options = {}) {
28269
28512
  backupRoot: fs.join(context.stateRoot, "backups")
28270
28513
  }),
28271
28514
  runner: adapters.runner,
28272
- now: context.now
28515
+ now: context.now,
28516
+ verifyPostconditions: async (applied) => {
28517
+ const postconditions = [];
28518
+ for (const outcome2 of applied) {
28519
+ if (outcome2.status !== "applied" && outcome2.status !== "already-satisfied")
28520
+ continue;
28521
+ const target = updateTargets.get(outcome2.actionId);
28522
+ if (target === void 0)
28523
+ continue;
28524
+ const detection = await target.adapter.detect(providerContext4);
28525
+ const observed = detection.version === null ? null : parseSemanticVersion(detection.version);
28526
+ const expected = parseSemanticVersion(target.target);
28527
+ const exactTarget = observed !== null && expected !== null && compareVersions(observed, expected) === 0;
28528
+ if (!exactTarget) {
28529
+ postconditions.push(diagnostic({
28530
+ severity: "error",
28531
+ code: "provider-update-version-not-observed",
28532
+ subject: target.adapter.manifest.id,
28533
+ message: `${target.providerId} update did not become active: requested ${target.target}, but the executable currently resolved on PATH reports ${detection.version ?? "no readable version"}`,
28534
+ path: detection.executable,
28535
+ remediation: "Review duplicate PATH installations. Token Harness will not report this update as successful while the old executable is still the one being resolved."
28536
+ }));
28537
+ continue;
28538
+ }
28539
+ const capabilityProblem = detection.warnings.find((warning2) => /capabilit/i.test(warning2.code) && /(unavailable|drift|mismatch|unsupported)/i.test(warning2.code));
28540
+ if (target.adapter.manifest.id === "harnesstrim" && (detection.versionVerdict !== "in-range" || capabilityProblem !== void 0)) {
28541
+ postconditions.push(diagnostic({
28542
+ severity: "error",
28543
+ code: "harnesstrim-update-contract-mismatch",
28544
+ subject: target.adapter.manifest.id,
28545
+ message: `HarnessTrim ${target.target} was installed, but its machine-readable capability/artifact contract did not pass Token Harness validation` + (capabilityProblem === void 0 ? "" : `: ${capabilityProblem.message}`),
28546
+ path: detection.executable,
28547
+ remediation: "Keep the previous working HarnessTrim release until the changed contract is understood."
28548
+ }));
28549
+ continue;
28550
+ }
28551
+ if (["mcptoon", "gitnexus", "headroom"].includes(target.adapter.manifest.id) && (detection.assignableHarnesses.length === 0 || capabilityProblem !== void 0)) {
28552
+ postconditions.push(diagnostic({
28553
+ severity: "error",
28554
+ code: "provider-update-capability-unavailable",
28555
+ subject: target.adapter.manifest.id,
28556
+ message: `${target.providerId} ${target.target} became active on PATH, but the installed build no longer exposes the runtime capability surface required by Token Harness` + (capabilityProblem === void 0 ? "" : `: ${capabilityProblem.message}`),
28557
+ path: detection.executable,
28558
+ remediation: "Keep the previous working provider release until the changed CLI capability surface is understood."
28559
+ }));
28560
+ continue;
28561
+ }
28562
+ postconditions.push(diagnostic({
28563
+ severity: "info",
28564
+ code: "provider-update-version-verified",
28565
+ subject: target.adapter.manifest.id,
28566
+ message: `${target.providerId} ${target.target} is now the executable resolved on PATH and passed post-update detection`,
28567
+ path: detection.executable,
28568
+ remediation: null
28569
+ }));
28570
+ }
28571
+ return postconditions;
28572
+ }
28273
28573
  });
28274
28574
  diagnostics.push(...transaction.diagnostics);
28275
28575
  report.execution = {
@@ -31998,15 +32298,6 @@ function guideSetupTarget(report, harness, provider) {
31998
32298
  reason: `${label} is configured for ${name(harness)}.`
31999
32299
  };
32000
32300
  }
32001
- const hasReviewedHarnessSurface = COMPATIBILITY_ROWS.some((row2) => row2.provider === provider && row2.harness === harnessDetection.harnessId);
32002
- if (!hasReviewedHarnessSurface) {
32003
- return {
32004
- providerId: provider,
32005
- provider: label,
32006
- state: "not-applicable",
32007
- reason: `Token Harness does not manage a reviewed ${label} connection for ${name(harness)}.`
32008
- };
32009
- }
32010
32301
  if (detection.state === "absent" || detection.state === "available") {
32011
32302
  return {
32012
32303
  providerId: provider,
@@ -32027,31 +32318,15 @@ function guideSetupTarget(report, harness, provider) {
32027
32318
  return {
32028
32319
  providerId: provider,
32029
32320
  provider: label,
32030
- state: "unavailable",
32031
- reason: `The installed ${label} build does not expose a reviewed automatic setup for ${name(harness)}.`
32032
- };
32033
- }
32034
- const admission = admitManagedMutation(COMPATIBILITY_ROWS, {
32035
- provider: detection.providerId,
32036
- providerVersion: detection.version,
32037
- harness: harnessDetection.harnessId,
32038
- harnessVersion: harnessDetection.version,
32039
- os: report.platform.os,
32040
- wsl: report.platform.isWsl
32041
- });
32042
- if (admission.state !== "admitted") {
32043
- return {
32044
- providerId: provider,
32045
- provider: label,
32046
- state: "unavailable",
32047
- reason: `Automatic ${label} setup is not reviewed for the installed ${name(harness)} / ${label} version combination on ${report.platform.os}.`
32321
+ state: "not-applicable",
32322
+ reason: `The installed ${label} build does not expose an automatic ${name(harness)} setup surface.`
32048
32323
  };
32049
32324
  }
32050
32325
  return {
32051
32326
  providerId: provider,
32052
32327
  provider: label,
32053
32328
  state: "actionable",
32054
- reason: `${label} can be configured automatically for ${name(harness)} with the reviewed transaction path.`
32329
+ reason: `${label} can be configured automatically for ${name(harness)}. Token Harness will apply it transactionally and re-check the resulting state.`
32055
32330
  };
32056
32331
  }
32057
32332
  function guideSetupTargets(report, harness) {
@@ -32063,7 +32338,7 @@ function explainGuideIssue(diagnostics, fallback) {
32063
32338
  return ISSUE_COPY[known.code];
32064
32339
  const blocked = diagnostics.find((entry) => /compatibility|unsupported|unreviewed|no-row/.test(entry.code));
32065
32340
  if (blocked !== void 0)
32066
- return "Automatic changes are not verified for this version combination. Your current settings are preserved.";
32341
+ return "The required automatic capability or safety precondition is not available in the current runtime. Your current settings are preserved.";
32067
32342
  if (diagnostics.some((entry) => /drift|mismatch|precondition|conflict/.test(entry.code)))
32068
32343
  return "Something changed since the preview. No unsafe change was made. Review the current setup again.";
32069
32344
  return fallback;
@@ -32373,13 +32648,13 @@ var init_guided = __esm({
32373
32648
  "cclimits-claude-token-expired": "The Claude login has expired. Sign in again in Claude, then refresh.",
32374
32649
  "cclimits-claude-cache-stale": "Only old Claude allowance data was found. It is not presented as current allowance.",
32375
32650
  "cclimits-claude-source-unsupported": "This cclimits response lacks supported Claude discovery information. Check its installed version.",
32376
- "claude-native-policy-blocked": "Claude settings could not be changed safely. A project override, environment setting or unreviewed version may be in effect. Your settings were kept.",
32377
- "native-policy-harness-unsupported": "This agent does not expose a reviewed setting for this action.",
32651
+ "claude-native-policy-blocked": "Claude settings could not be changed safely. A project override, environment setting or changed writable surface may be in effect. Your settings were kept.",
32652
+ "native-policy-harness-unsupported": "This agent does not expose a writable setting surface for this action.",
32378
32653
  "codex-native-policy-unavailable": "Codex did not expose a writable, versioned user setting. No change is proposed.",
32379
32654
  "codex-native-policy-shadowed": "A project or profile overrides this Codex setting. That setting belongs to you and will not be replaced.",
32380
32655
  "no-providers-registered": "No optimization provider was selected for this operation.",
32381
32656
  "already-in-desired-state": "The supported integration is already configured. Nothing needs to be changed.",
32382
- "managed-mutation-unsupported": "Automatic setup is not yet verified for this installed version combination. Existing integrations are left untouched.",
32657
+ "managed-mutation-unsupported": "Automatic setup is unavailable because the installed provider does not expose the required managed surface. Existing integrations are left untouched.",
32383
32658
  "plan-ownership-drift": "The integration changed after the preview. Review a fresh plan; nothing was forced.",
32384
32659
  "plan-version-drift": "An installed version changed after the preview. Review a fresh plan.",
32385
32660
  "plan-project-mismatch": "This preview belongs to a different project. Open a new preview here.",
@@ -32515,7 +32790,7 @@ var init_guided = __esm({
32515
32790
  if (this.busy && this.cached !== null)
32516
32791
  return this.cached.value;
32517
32792
  if (this.busy)
32518
- throw new GuideError(409, "A reviewed change is in progress.");
32793
+ throw new GuideError(409, "Another managed change is in progress.");
32519
32794
  if (this.cached?.period === period && this.now() - this.cached.at < 15e3)
32520
32795
  return this.cached.value;
32521
32796
  if (this.reading !== null) {
@@ -32649,7 +32924,7 @@ var init_guided = __esm({
32649
32924
  name: name(agent.harnessId),
32650
32925
  version: agent.version,
32651
32926
  configured: providers.length > 0,
32652
- state: agent.state === "broken" ? "Needs attention" : providers.length > 0 ? "Integration configured" : hasActionableSetup ? "Ready to set up" : "No reviewed automatic setup available",
32927
+ state: agent.state === "broken" ? "Needs attention" : providers.length > 0 ? "Integration configured" : hasActionableSetup ? "Ready to set up" : "No automatic setup surface available",
32653
32928
  providers: providers.map(name),
32654
32929
  setup,
32655
32930
  effort: observed?.nativeEffort?.current ?? observed?.reasoningEffort ?? null,
@@ -32925,17 +33200,17 @@ var init_guided = __esm({
32925
33200
  }
32926
33201
  async apply(input) {
32927
33202
  if (input === null || typeof input !== "object" || Array.isArray(input))
32928
- throw new GuideError(400, "A reviewed preview is required.");
33203
+ throw new GuideError(400, "A current preview is required.");
32929
33204
  const data = input;
32930
33205
  if (Object.keys(data).length !== 1 || typeof data["ticket"] !== "string")
32931
- throw new GuideError(400, "A reviewed preview is required.");
33206
+ throw new GuideError(400, "A current preview is required.");
32932
33207
  return this.exclusive(async () => {
32933
33208
  const approval = this.approval;
32934
33209
  if (approval === null || approval.id !== data["ticket"] || this.now() >= approval.expires)
32935
33210
  throw new GuideError(409, "This preview expired or was already used. Review a fresh preview.");
32936
33211
  this.approval = null;
32937
33212
  if (approval.operation === "update") {
32938
- this.record("Installing only the reviewed provider updates you approved.", "working");
33213
+ this.record("Installing only the provider updates you approved.", "working");
32939
33214
  let result6;
32940
33215
  try {
32941
33216
  result6 = await this.call(["update", "--yes"]);
@@ -32951,7 +33226,7 @@ var init_guided = __esm({
32951
33226
  };
32952
33227
  }
32953
33228
  if (result6.exitCode !== 0 || result6.data === null) {
32954
- const message = explainGuideIssue(result6.diagnostics, "The reviewed optimizer update was not applied. The installed version, update channel or compatibility evidence changed after the preview, so nothing was forced.");
33229
+ const message = explainGuideIssue(result6.diagnostics, "The optimizer update was not applied. The installed version, update channel or runtime capability state changed after the preview, so nothing was forced.");
32955
33230
  this.invalidateObservedState();
32956
33231
  this.record(message, "attention");
32957
33232
  return {
@@ -32965,14 +33240,14 @@ var init_guided = __esm({
32965
33240
  this.lastApplied = null;
32966
33241
  this.invalidateObservedState();
32967
33242
  const messages2 = applied.length > 0 ? [
32968
- "The reviewed optimizer update completed successfully.",
33243
+ "The optimizer update completed successfully and the active runtime was verified.",
32969
33244
  "Token Harness re-ran the update transaction safety checks before changing software.",
32970
33245
  "Choose Refresh to read the installed versions again. Reopen a coding agent if the updated optimizer requires it."
32971
33246
  ] : [
32972
33247
  "No optimizer needed an update by the time the approved action ran.",
32973
33248
  "Nothing was forced. Choose Refresh to read the current versions."
32974
33249
  ];
32975
- this.record(applied.length > 0 ? "Reviewed optimizer update installed." : "Optimizer update no longer needed.", "success");
33250
+ this.record(applied.length > 0 ? "Optimizer update installed and verified." : "Optimizer update no longer needed.", "success");
32976
33251
  return {
32977
33252
  ok: true,
32978
33253
  title: applied.length > 0 ? "Optimizer updated" : "Already up to date",
@@ -33078,7 +33353,7 @@ var init_guided = __esm({
33078
33353
  this.record(`${name(provider)} managed integration removed.`, "success");
33079
33354
  return { ok: true, title: "Integration removed", messages: messages2, appliedPlans: 1 };
33080
33355
  }
33081
- this.record(approval.operation === "rollback" ? "Restoring the reviewed configuration backup." : "Backing up and applying exactly the changes you approved.", "working");
33356
+ this.record(approval.operation === "rollback" ? "Restoring the approved configuration backup." : "Backing up and applying exactly the changes you approved.", "working");
33082
33357
  const messages = [];
33083
33358
  let appliedPlans = 0;
33084
33359
  const steps = approval.operation === "rollback" && approval.transactionId !== null ? [
@@ -33122,7 +33397,7 @@ var init_guided = __esm({
33122
33397
  this.lastApplied = approval.operation === "rollback" ? null : step.plan === null ? null : { kind: "plan", plan: step.plan, network: approval.network };
33123
33398
  }
33124
33399
  this.invalidateObservedState();
33125
- messages.push(approval.operation === "rollback" ? "The reviewed backup was restored. Reopen the affected coding agent." : "The approved configuration was saved and checked. Reopen the affected coding agent to load it.");
33400
+ messages.push(approval.operation === "rollback" ? "The approved backup was restored. Reopen the affected coding agent." : "The approved configuration was saved and checked. Reopen the affected coding agent to load it.");
33126
33401
  messages.push("Keep using the agent normally. The dashboard reads available measurements automatically; it does not need to stay open for the configured integration to operate.");
33127
33402
  this.record(`${approval.description} applied and verified against its configuration checks.`, "success");
33128
33403
  return {
@@ -33179,13 +33454,13 @@ var init_guided = __esm({
33179
33454
  const blocked = updateResult.data.providers.filter((row2) => row2.verdict === "blocked-unreviewed");
33180
33455
  const messages = [];
33181
33456
  if (available.length > 0) {
33182
- messages.push(...available.map((row2) => `${name(row2.providerId)}: ${row2.installed ?? "installed version"} \u2192 ${row2.available ?? "new version"} is reviewed and ready to install.`));
33457
+ messages.push(...available.map((row2) => `${name(row2.providerId)}: ${row2.installed ?? "installed version"} \u2192 ${row2.available ?? "new version"} is available and ready to install; Token Harness will verify the active runtime after installation.`));
33183
33458
  }
33184
33459
  if (blocked.length > 0) {
33185
- messages.push(...blocked.map((row2) => `${name(row2.providerId)}: ${row2.available ?? "a newer version"} exists, but Token Harness is keeping ${row2.installed ?? "the installed version"} because that newer combination is not reviewed yet.`));
33460
+ messages.push(...blocked.map((row2) => `${name(row2.providerId)}: ${row2.available ?? "a newer version"} exists, but Token Harness is keeping ${row2.installed ?? "the installed version"} because the target does not meet the provider update prerequisites.`));
33186
33461
  }
33187
33462
  if (available.length === 0 && blocked.length === 0)
33188
- messages.push("Your managed optimizers are up to date on their reviewed channels.");
33463
+ messages.push("Your managed optimizers are up to date on their configured channels.");
33189
33464
  let ticket = null;
33190
33465
  if (available.length > 0) {
33191
33466
  ticket = this.random();
@@ -33207,7 +33482,7 @@ var init_guided = __esm({
33207
33482
  const stack = this.stackSnapshot();
33208
33483
  if (this.cached !== null)
33209
33484
  this.cached.value = { ...this.cached.value, stack };
33210
- this.record(available.length > 0 ? "Reviewed optimizer update available. Waiting for your approval." : "Provider update check completed. No reviewed update is pending.", "success");
33485
+ this.record(available.length > 0 ? "Optimizer update available. Waiting for your approval." : "Provider update check completed. No update is pending.", "success");
33211
33486
  return {
33212
33487
  ok: true,
33213
33488
  title: available.length > 0 ? "Updates available" : "Optimizers up to date",
@@ -34979,7 +35254,7 @@ var init_guided_capabilities_client = __esm({
34979
35254
  const activeRun = runId;
34980
35255
  working = true;
34981
35256
  $('modal-actions').replaceChildren(closeButton('Applying…', true));
34982
- $('modal-content').append(progress('Applying the reviewed change', 'Only the approved transaction is being applied. Keep this window open until it finishes.'));
35257
+ $('modal-content').append(progress('Applying the approved change', 'Only the approved transaction is being applied. Keep this window open until it finishes.'));
34983
35258
  try {
34984
35259
  const result = await request('/api/apply', { ticket });
34985
35260
  if (activeRun !== runId) return;
@@ -35077,7 +35352,7 @@ var init_guided_capabilities_client = __esm({
35077
35352
  return preview(
35078
35353
  { action: 'skill', harness: action.harness },
35079
35354
  'Review in-session guidance for ' + (action.harness === 'claude' ? 'Claude Code' : 'Codex'),
35080
- 'Enable reviewed guidance',
35355
+ 'Enable managed guidance',
35081
35356
  'Guidance enabled',
35082
35357
  );
35083
35358
  if (action.kind === 'refresh') return $('refresh')?.click();
@@ -35166,7 +35441,7 @@ var init_guided_capabilities_client = __esm({
35166
35441
  actionButton('Review removal', () => preview(
35167
35442
  { action: 'remove', provider: component.providerId },
35168
35443
  'Review removal for ' + name,
35169
- 'Remove reviewed integration',
35444
+ 'Remove managed integration',
35170
35445
  'Integration removed',
35171
35446
  ), 'secondary'),
35172
35447
  );
@@ -35267,24 +35542,24 @@ var init_guided_product_client = __esm({
35267
35542
  },
35268
35543
  harnesstrim: {
35269
35544
  name: 'HarnessTrim',
35270
- role: 'Adds reviewed instructions that help coding agents keep tool output and context lean.',
35545
+ role: 'Adds version-aware instructions that help coding agents keep tool output and context lean.',
35271
35546
  managed: true,
35272
35547
  },
35273
35548
  mcptoon: {
35274
35549
  name: 'mcptoon',
35275
- role: 'Provides the reviewed compact MCP discovery integration on exact admitted versions.',
35550
+ role: 'Provides compact MCP discovery integration and verifies the resulting setup.',
35276
35551
  managed: true,
35277
35552
  optional: true,
35278
35553
  },
35279
35554
  gitnexus: {
35280
35555
  name: 'GitNexus',
35281
- role: 'Registers an already-installed reviewed GitNexus CLI as a narrow Claude MCP integration.',
35556
+ role: 'Registers an already-installed GitNexus CLI as a narrow Claude MCP integration and verifies the result.',
35282
35557
  managed: true,
35283
35558
  optional: true,
35284
35559
  },
35285
35560
  headroom: {
35286
35561
  name: 'Headroom',
35287
- role: 'Provides local MCP compression and retrieval through the reviewed Headroom server.',
35562
+ role: 'Provides local MCP compression and retrieval through the installed Headroom server.',
35288
35563
  managed: true,
35289
35564
  optional: true,
35290
35565
  },
@@ -35342,7 +35617,7 @@ var init_guided_product_client = __esm({
35342
35617
  element.disabled = value;
35343
35618
  });
35344
35619
  $('live-status').textContent = value
35345
- ? (applying ? 'Applying only the reviewed change…' : 'Reading current state…')
35620
+ ? (applying ? 'Applying only the approved change…' : 'Reading current state…')
35346
35621
  : 'Nothing changes without your approval';
35347
35622
  }
35348
35623
 
@@ -35496,7 +35771,7 @@ var init_guided_product_client = __esm({
35496
35771
  if (unavailable.length)
35497
35772
  return {
35498
35773
  state: 'limited',
35499
- label: 'Reviewed setup complete',
35774
+ label: 'Setup complete',
35500
35775
  cls: 'good',
35501
35776
  actionable,
35502
35777
  unavailable,
@@ -35589,7 +35864,7 @@ var init_guided_product_client = __esm({
35589
35864
  label: 'Needs attention',
35590
35865
  cls: 'warn',
35591
35866
  title: 'One configured optimizer needs attention',
35592
- detail: 'Use Re-check health below to see whether the configured integration still matches its reviewed state.',
35867
+ detail: 'Use Re-check health below to see whether the configured integration still matches the provider and agent state currently installed.',
35593
35868
  action: 'verify',
35594
35869
  };
35595
35870
  if (incomplete.length)
@@ -35599,7 +35874,7 @@ var init_guided_product_client = __esm({
35599
35874
  title: incomplete.length === 1
35600
35875
  ? 'Finish setup for ' + incomplete[0].name
35601
35876
  : 'Finish the available recommended setup for your coding agents',
35602
- detail: 'Every Finish setup action below has at least one reviewed provider change available for that exact agent, version and platform.',
35877
+ detail: 'Every Finish setup action below has a concrete change available from the installed provider. Newer version combinations are attempted transactionally and checked again after apply.',
35603
35878
  action: 'configure',
35604
35879
  };
35605
35880
  const unavailable = baselineUnavailableAgents();
@@ -35607,8 +35882,8 @@ var init_guided_product_client = __esm({
35607
35882
  return {
35608
35883
  label: 'No automatic setup',
35609
35884
  cls: '',
35610
- title: 'No reviewed automatic setup is currently available',
35611
- detail: 'Token Harness will not show a setup button that cannot complete. The agent cards below explain which provider/version combination is not currently managed.',
35885
+ title: 'No automatic setup surface is currently exposed',
35886
+ detail: 'The installed provider does not currently expose the setup surface Token Harness needs. This is a capability limitation, not a missing review row.',
35612
35887
  action: 'none',
35613
35888
  };
35614
35889
  if (!(current?.savings?.rows || []).length)
@@ -35709,7 +35984,7 @@ var init_guided_product_client = __esm({
35709
35984
  : actionableFor.length
35710
35985
  ? 'Setup available for ' + actionableFor.join(', ')
35711
35986
  : unavailableFor.length
35712
- ? 'No reviewed automatic connection is available'
35987
+ ? 'No compatible automatic setup surface detected'
35713
35988
  : 'Not applicable to the detected coding agents';
35714
35989
  facts.append(node('span', 'Connection'), node('strong', configuredFor));
35715
35990
  if (component?.update === 'available')
@@ -35718,7 +35993,7 @@ var init_guided_product_client = __esm({
35718
35993
  node('strong', 'v' + (component.updateAvailableVersion || 'new version') + ' available'),
35719
35994
  );
35720
35995
  else if (component?.update === 'blocked')
35721
- facts.append(node('span', 'Update'), node('strong', 'Newer version not reviewed yet'));
35996
+ facts.append(node('span', 'Update'), node('strong', 'Newer package requires a provider-specific update path'));
35722
35997
  card.append(facts);
35723
35998
 
35724
35999
  if (
@@ -35795,14 +36070,14 @@ var init_guided_product_client = __esm({
35795
36070
  head.append(title, pill(baseline.label, baseline.cls));
35796
36071
  const detail =
35797
36072
  baseline.state === 'incomplete'
35798
- ? 'A reviewed automatic setup is available for ' +
36073
+ ? 'An automatic setup is available for ' +
35799
36074
  baseline.actionable.map(target => target.provider).join(' + ') +
35800
36075
  '. Finish setup to review and apply it.'
35801
36076
  : baseline.state === 'unavailable'
35802
- ? 'No reviewed automatic baseline change is available for this exact agent, provider versions and platform. Token Harness will not offer a no-op setup button.'
36077
+ ? 'The installed baseline providers do not currently expose an automatic setup surface for this agent. Token Harness will not offer a no-op button.'
35803
36078
  : baseline.state === 'limited'
35804
- ? 'All currently reviewed automatic baseline actions are complete. Other baseline combinations are not automatically changed on this version/platform.'
35805
- : 'All reviewed automatic baseline connections available for this coding agent are configured.';
36079
+ ? 'All automatic baseline actions exposed by the installed providers are complete.'
36080
+ : 'All automatic baseline connections exposed for this coding agent are configured.';
35806
36081
  card.append(head, node('p', detail));
35807
36082
  if (agent.providers?.length)
35808
36083
  card.append(
@@ -35843,7 +36118,7 @@ var init_guided_product_client = __esm({
35843
36118
  'Safe preview first',
35844
36119
  provider
35845
36120
  ? 'Token Harness will inspect only ' + provider.name + ' for ' + agent.name + '. If setup is supported, the exact change appears before you confirm it.'
35846
- : 'Token Harness will prepare only the reviewed RTK/HarnessTrim changes that are actually available for ' + agent.name + ' on this version and platform. The exact files and changes appear before you confirm them.',
36121
+ : 'Token Harness will prepare the RTK/HarnessTrim changes exposed by the installed providers for ' + agent.name + '. Newer combinations use the same transactional path and are checked again after apply. The exact files and changes appear before you confirm them.',
35847
36122
  ),
35848
36123
  messageBox('Nothing changes yet', 'This first step only prepares the safe plan. You decide whether to apply it after seeing the concrete changes.'),
35849
36124
  progress('Checking ' + agent.name, 'Reading installed optimizer versions and current integration state.'),
@@ -35880,7 +36155,7 @@ var init_guided_product_client = __esm({
35880
36155
  provider ? 'This optimizer only' : 'Recommended setup',
35881
36156
  provider
35882
36157
  ? 'This approval changes only ' + provider.name + ' for ' + agent.name + '. Other optimizers are left unchanged.'
35883
- : 'This review includes only the currently actionable RTK/HarnessTrim changes for ' + agent.name + '. Unsupported or already-complete baseline providers are left out. Optional optimizers stay separate.',
36158
+ : 'This review includes only the currently actionable RTK/HarnessTrim changes for ' + agent.name + '. Providers that do not expose the required setup surface, and already-complete providers, are left out. Optional optimizers stay separate.',
35884
36159
  ),
35885
36160
  );
35886
36161
  if (!data.changes.length) {
@@ -35888,7 +36163,7 @@ var init_guided_product_client = __esm({
35888
36163
  messageBox(
35889
36164
  'No setup change available',
35890
36165
  (data.notices || []).join(' ') ||
35891
- 'No reviewed automatic change is available now. The dashboard is refreshing so an obsolete setup action is not left visible.',
36166
+ 'No automatic change is available from the provider’s current capability surface. The dashboard is refreshing so an obsolete setup action is not left visible.',
35892
36167
  ),
35893
36168
  );
35894
36169
  } else {
@@ -35899,7 +36174,7 @@ var init_guided_product_client = __esm({
35899
36174
  }
35900
36175
  for (const notice of data.notices || []) $('modal-content').append(node('p', notice, 'notice-row'));
35901
36176
  }
35902
- $('modal-content').append(messageBox('Safety', 'Apply uses the existing transactional engine with backups, compatibility checks, ownership checks and rollback. Unsupported versions are not forced.', 'safe'));
36177
+ $('modal-content').append(messageBox('Safety', 'Apply uses the transactional engine with backups, ownership checks and rollback. A newer version tuple is allowed when the installed provider exposes the required capability, then the resulting state is checked again after apply.', 'safe'));
35903
36178
  $('modal-actions').replaceChildren(modalClose(data.ticket ? 'Cancel' : 'Done'));
35904
36179
  if (data.ticket)
35905
36180
  $('modal-actions').append(
@@ -35933,7 +36208,7 @@ var init_guided_product_client = __esm({
35933
36208
  const run = modalRun;
35934
36209
  setBusy(true, true);
35935
36210
  $('modal-actions').replaceChildren(modalClose('Applying…', true));
35936
- $('modal-content').append(progress('Applying the reviewed change', 'Keep this window open until the transaction finishes.'));
36211
+ $('modal-content').append(progress('Applying the approved change', 'Keep this window open until the transaction finishes.'));
35937
36212
  try {
35938
36213
  await ensureSession();
35939
36214
  const result = await request('/api/apply', { ticket });
@@ -36246,7 +36521,7 @@ var init_guided_product_client = __esm({
36246
36521
  isVerify ? 'Troubleshooting check' : 'Update preview',
36247
36522
  isVerify
36248
36523
  ? 'Re-checks the configured optimizer integrations without repairing or changing them. Normal setup already performs its own safety checks.'
36249
- : 'Checks reviewed update channels first. If an installable update exists, you can approve it from this window.',
36524
+ : 'Checks provider update channels first. If an installable update exists, you can approve it from this window; the active executable is re-checked after installation before success is reported.',
36250
36525
  ),
36251
36526
  progress(
36252
36527
  isVerify ? 'Checking configured optimizers' : 'Checking update channels',
@@ -36357,7 +36632,7 @@ var init_guided_product_client = __esm({
36357
36632
  'p',
36358
36633
  available.length
36359
36634
  ? available.map(component => (TOOL_INFO[component.providerId]?.name || component.providerId) + ' has an update ready.').join(' ')
36360
- : 'Check installed optimizer versions. If a reviewed update is available, you can install it from the same dialog.',
36635
+ : 'Check installed optimizer versions. If an update is available, you can install it from the same dialog; Token Harness verifies the active runtime after installation.',
36361
36636
  'caption',
36362
36637
  ),
36363
36638
  );