@kontextmind/kxm 0.7.94 → 0.7.95

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.
@@ -11,7 +11,7 @@
11
11
  "name": "kxm",
12
12
  "source": "./plugins/kxm",
13
13
  "description": "Durable workflows, peer agents, and kxm tui",
14
- "version": "0.7.94",
14
+ "version": "0.7.95",
15
15
  "category": "development",
16
16
  "tags": ["kxm", "multi-agent", "workflows", "mcp"]
17
17
  }
@@ -36,7 +36,36 @@ The hub does not poll GitHub. Run `kxm gate github watch` with the same `runId`,
36
36
 
37
37
  ### CI jobs stay queued and never start
38
38
 
39
- Every CI job in `.github/workflows/ci.yml` runs on the `kontextmind-doks` label. If all jobs sit in `queued` with an online, idle runner, the runner lost that custom label (for example after re-registration — the default labels are only `self-hosted`, `Linux`/`Windows`, `X64`). Confirm with `gh api repos/kontextmind/kxm/actions/runners --jq '.runners[] | {name, labels: [.labels[].name]}'`; jobs cannot match on the default `doks` label alone. Re-add the label with `gh api repos/kontextmind/kxm/actions/runners/<id>/labels -X POST --input - <<< '{"labels":["kontextmind-doks"]}'` and jobs are picked up on the next evaluation; if not, push an empty commit to retrigger the run. The Windows runner (`kxm-win-local`) is paused by policy and must not be re-labeled to satisfy Linux jobs.
39
+ Every Linux workflow targets the ARC runner scale-set name `kontextmind-doks`.
40
+ That name is not a custom label for repository runners. The scale set belongs to
41
+ the selected-repository GitHub runner group `KontextMind DOKS ARC`, which must
42
+ allow this public repository. The legacy `km-gh-rn01` runner must not carry the
43
+ `kontextmind-doks` label; adding it bypasses ARC and serializes the build queue.
44
+
45
+ Check GitHub routing first:
46
+
47
+ ```bash
48
+ gh api repos/kontextmind/kxm/actions/runners \
49
+ --jq '.runners[] | {name, status, busy, labels: [.labels[].name]}'
50
+ gh api orgs/kontextmind/actions/runner-groups \
51
+ --jq '.runner_groups[] | select(.name == "KontextMind DOKS ARC") |
52
+ {name, visibility, allows_public_repositories}'
53
+ ```
54
+
55
+ Then check ARC in DOKS:
56
+
57
+ ```bash
58
+ kubectl -n arc-runners get autoscalingrunnerset kontextmind-doks
59
+ kubectl -n arc-runners get ephemeralrunners,pods
60
+ ```
61
+
62
+ The normal capacity policy keeps one warm runner, bursts to four, and requests
63
+ three CPUs per runner so the DOKS node-pool autoscaler can add capacity instead of
64
+ packing CPU-bound jobs onto already busy nodes. If repository jobs remain queued
65
+ while the listener is assigned zero jobs, verify the runner group's selected
66
+ repository and public-repository access. If ARC has pending pods, inspect node
67
+ capacity and the cluster autoscaler. Do not relabel `km-gh-rn01` or push an
68
+ empty commit as a routing workaround.
40
69
 
41
70
  ### The hub refuses to start
42
71
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontextmind/kxm",
3
- "version": "0.7.94",
3
+ "version": "0.7.95",
4
4
  "description": "KXM local-first multi-agent orchestration and operator dashboard",
5
5
  "type": "module",
6
6
  "author": "KontextMind",
@@ -48,7 +48,7 @@
48
48
  "verify": "npm test && npm run check && npm run check:generated",
49
49
  "validate:claude": "claude plugin validate . --strict && claude plugin validate plugins/kxm --strict",
50
50
  "validate:ci": "npm run test:coverage && npm run check && npm pack --dry-run",
51
- "validate:pr": "npm run test:core && npm run check && npm run check:generated",
51
+ "validate:pr": "npm run build && npm run typecheck && node --disable-warning=ExperimentalWarning --experimental-strip-types --test --test-concurrency=4 test/core/artifacts-exist.test.ts test/core/ci-contract.test.ts test/core/envelope.test.ts test/core/envelope-contract.test.ts test/core/protocol.test.ts test/core/repo-root.test.ts test/core/routes-count.test.ts test/core/smoke.test.ts test/core/version-surfaces.test.ts && npm run check:versions && node scripts/check-generated.mjs",
52
52
  "validate": "npm run validate:ci && npm run validate:claude",
53
53
  "test:packages": "npx nx run-many -t test --output-style=static",
54
54
  "check:packages": "npx nx run-many -t build,test:coverage,typecheck --output-style=static",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "kxm",
4
4
  "displayName": "KXM",
5
- "version": "0.7.94",
5
+ "version": "0.7.95",
6
6
  "description": "Headless multi-agent orchestration, durable workflows, and a live operator dashboard for Pi and Claude Code",
7
7
  "author": {
8
8
  "name": "KontextMind",
@@ -17285,7 +17285,7 @@ function sessionTokenFixHint(policy) {
17285
17285
  }
17286
17286
 
17287
17287
  // plugins/kxm/src/mcp-server.ts
17288
- var VERSION = "0.7.94";
17288
+ var VERSION = "0.7.95";
17289
17289
  var CONFIGURE_PLUGIN = "/plugin configure kxm@kxm";
17290
17290
  var inbox = /* @__PURE__ */ new Map();
17291
17291
  var notifiedInbox = /* @__PURE__ */ new Set();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-plugin",
3
- "version": "0.7.94",
3
+ "version": "0.7.95",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "engines": {
@@ -11,7 +11,7 @@ import { deliverInboxNotification } from "./inbox.ts";
11
11
  import type { HubEvent, MessageRecord } from "./protocol.ts";
12
12
  import { sessionTokenFixHint } from "./session-token-hint.ts";
13
13
 
14
- const VERSION = "0.7.94";
14
+ const VERSION = "0.7.95";
15
15
  const CONFIGURE_PLUGIN = "/plugin configure kxm@kxm";
16
16
  const inbox = new Map<string, MessageRecord>();
17
17
  const notifiedInbox = new Set<string>();