@pleri/olam-cli 0.1.134 → 0.1.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0hBrD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsjBrD"}
@@ -8,7 +8,7 @@ import { existsSync } from 'node:fs';
8
8
  import { dirname, resolve } from 'node:path';
9
9
  import ora from 'ora';
10
10
  import pc from 'picocolors';
11
- import { AuthPreflightError } from '@olam/core/src/world/manager.js';
11
+ import { AuthPreflightError, TaskDispatchError } from '@olam/core/src/world/manager.js';
12
12
  import { getDevboxFreshness, formatFreshnessWarning, } from '@olam/core/src/world/devbox-freshness.js';
13
13
  import { inferRepos, PICKER_CONFIDENCE_THRESHOLD, } from '@olam/core/src/world/infer-repos.js';
14
14
  import { decideWorkspaceMatch, } from '@olam/core/src/world/match-workspace.js';
@@ -504,6 +504,28 @@ export function registerCreate(program) {
504
504
  }
505
505
  }
506
506
  catch (err) {
507
+ // TaskDispatchError fires AFTER the world is fully created
508
+ // but BEFORE we return from createWorld. The world exists,
509
+ // is running, and is usable — only the auto-dispatch failed.
510
+ // Surface a remedy the operator can paste verbatim so they
511
+ // recover in one command instead of re-creating the world.
512
+ // Closes friction #18 (silent --task no-op).
513
+ if (err instanceof TaskDispatchError) {
514
+ spinner.fail('Auto-dispatch failed (world exists but task was not sent)');
515
+ printError(`Task auto-dispatch failed (${err.kind}): ${err.message}`);
516
+ // World ID is on err's enclosing scope (resolvedName) but
517
+ // not on TaskDispatchError itself (the throw point doesn't
518
+ // know it). Surface the name-derived remedy with the
519
+ // operator-friendly note that they can also use the world
520
+ // ID once `olam list` shows it.
521
+ console.log(` ${pc.yellow('Remedy:')} ${pc.cyan(`olam dispatch ${resolvedName} '<your task>'`)}`);
522
+ console.log(` ${pc.dim(`(or use 'olam list' to find the world ID if the name is ambiguous)`)}`);
523
+ if (err.detail) {
524
+ console.log(` ${pc.dim(`detail: ${err.detail}`)}`);
525
+ }
526
+ process.exitCode = 1;
527
+ return;
528
+ }
507
529
  spinner.fail('Failed to create world');
508
530
  if (err instanceof AuthPreflightError) {
509
531
  printError(err.message);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,56 @@
1
1
  /**
2
- * olam kg build — pristine workspace KG build via scratch-dir pattern.
2
+ * `olam kg build` — pristine workspace KG build via kg-service `/build`.
3
3
  *
4
- * Phase A4 of olam-kg-service (plan ~/.claude/plans/olam-kg-service.md).
4
+ * kg-service-container-v2 Phase F (2026-05-14) migrates this command
5
+ * from the legacy host-side scratch-copy + docker-run-graphify pattern
6
+ * to a single HTTP POST to the always-running `olam-kg-service`
7
+ * container. The scratch-copy now happens INSIDE the container as root
8
+ * (no host UID permission issues), so multi-submodule workspaces with
9
+ * non-operator-owned `.git/objects/pack/*` files and broken symlinks
10
+ * build cleanly — closes Samuel's atlas-core failure from 2026-05-13.
5
11
  *
6
- * Why scratch-dir: graphify 0.7.13's `update` subcommand writes
7
- * `graphify-out/` INSIDE the scanned path with no redirection flag
8
- * (empirically confirmed via A3 hard-gate sub-check 1 / OQ4). The CLI
9
- * cannot run graphify directly against the operator's workspace clone
10
- * without polluting it; the resolution per Decision 13 is:
12
+ * Flow:
13
+ * 1. Resolve workspace name + source path (cwd by default).
14
+ * 2. Translate cwd to container-side path under `/host-home/…`
15
+ * (kg-service container mounts $HOME read-only at /host-home).
16
+ * 3. POST {workspace, repo_path} to localhost:9997/build.
17
+ * 4. Server-side: cp source → /tmp/scratch (root-perms), graphify
18
+ * update, move output to /kg-data/<workspace>/graphify-out/, clean.
19
+ * 5. Write host-side freshness.json mirroring the server's response.
11
20
  *
12
- * 1. Copy workspace ~/.olam/kg/<workspace>/scratch/
13
- * 2. cd scratch/ && graphify update .
14
- * 3. mv graphify-out/~/.olam/kg/<workspace>/graphify-out/
15
- * 4. Clean scratch (try/finally; always)
16
- * 5. Write freshness.json
21
+ * Failure modes surfaced with remedies:
22
+ * - kg-service not reachable "run `olam services up`".
23
+ * - cwd not under $HOME operator hint (mount path is $HOME:/host-home).
24
+ * - graphify timeout / failure / scratch_copy_failed → pass-through error.
17
25
  *
18
- * graphify itself lives in the devbox image at /opt/graphify-venv/
19
- * (Phase A1 bake) — NOT on the operator's host. The CLI shells into a
20
- * one-shot `docker run` against `olam-devbox:latest`, mounting the
21
- * scratch directory as the container's CWD. Streams stdout/stderr so
22
- * the operator sees graphify's progress live.
23
- *
24
- * Risk T7 mitigation: every subprocess uses argv arrays (no shell
25
- * interpolation); workspace names regex-validated via @olam/core's
26
- * `validateWorkspaceName` (shipped A2); all resolved paths asserted to
27
- * live under ~/.olam/ before any FS mutation.
26
+ * Out of scope (v1 behaviour retained):
27
+ * - Workspace-catalog lookup (deferred follow-on); cwd-as-source.
28
+ * - Watching / progress streaming — `/build` is synchronous, blocking.
28
29
  */
29
30
  import type { Command } from 'commander';
30
31
  interface KgBuildOptions {
31
- readonly image?: string;
32
32
  readonly json?: boolean;
33
33
  }
34
34
  interface FreshnessRecord {
35
35
  readonly built_at: string;
36
36
  readonly duration_ms: number;
37
37
  readonly node_count: number | null;
38
- readonly graphify_version: string;
38
+ readonly edge_count: number | null;
39
39
  readonly workspace: string;
40
- readonly scratch_strategy: 'cp-r' | 'cp-c-r-reflink';
40
+ readonly graphify_path: 'container';
41
41
  }
42
- interface KgBuildResult {
42
+ export interface KgBuildResult {
43
43
  readonly exitCode: number;
44
44
  readonly freshness?: FreshnessRecord;
45
45
  readonly outputDir?: string;
46
46
  }
47
47
  /**
48
- * Programmatic entry point. Separated from the Commander wiring so the
49
- * smoke test can drive it without spawning a sub-process.
48
+ * Programmatic entry point exported so tests can drive without spawning
49
+ * a sub-process.
50
50
  */
51
51
  export declare function runKgBuild(workspaceArg: string | undefined, options?: KgBuildOptions): Promise<KgBuildResult>;
52
52
  /**
53
- * `olam kg <subcommand>` group — register the kg subcommand tree.
54
- * v1 ships only `build`; `status` (C1) and `watch` (C2) layer in
55
- * Phase C without restructuring the group.
53
+ * `olam kg <subcommand>` group — registers the kg subcommand tree.
56
54
  */
57
55
  export declare function registerKg(program: Command): void;
58
56
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"kg-build.d.ts","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,UAAU,cAAc;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACtD;AAkGD,UAAU,aAAa;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA+GxB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwBjD"}
1
+ {"version":3,"file":"kg-build.d.ts","sourceRoot":"","sources":["../../src/commands/kg-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;CACrC;AAOD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqCD;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAiFxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBjD"}
@@ -1,36 +1,38 @@
1
1
  /**
2
- * olam kg build — pristine workspace KG build via scratch-dir pattern.
2
+ * `olam kg build` — pristine workspace KG build via kg-service `/build`.
3
3
  *
4
- * Phase A4 of olam-kg-service (plan ~/.claude/plans/olam-kg-service.md).
4
+ * kg-service-container-v2 Phase F (2026-05-14) migrates this command
5
+ * from the legacy host-side scratch-copy + docker-run-graphify pattern
6
+ * to a single HTTP POST to the always-running `olam-kg-service`
7
+ * container. The scratch-copy now happens INSIDE the container as root
8
+ * (no host UID permission issues), so multi-submodule workspaces with
9
+ * non-operator-owned `.git/objects/pack/*` files and broken symlinks
10
+ * build cleanly — closes Samuel's atlas-core failure from 2026-05-13.
5
11
  *
6
- * Why scratch-dir: graphify 0.7.13's `update` subcommand writes
7
- * `graphify-out/` INSIDE the scanned path with no redirection flag
8
- * (empirically confirmed via A3 hard-gate sub-check 1 / OQ4). The CLI
9
- * cannot run graphify directly against the operator's workspace clone
10
- * without polluting it; the resolution per Decision 13 is:
12
+ * Flow:
13
+ * 1. Resolve workspace name + source path (cwd by default).
14
+ * 2. Translate cwd to container-side path under `/host-home/…`
15
+ * (kg-service container mounts $HOME read-only at /host-home).
16
+ * 3. POST {workspace, repo_path} to localhost:9997/build.
17
+ * 4. Server-side: cp source → /tmp/scratch (root-perms), graphify
18
+ * update, move output to /kg-data/<workspace>/graphify-out/, clean.
19
+ * 5. Write host-side freshness.json mirroring the server's response.
11
20
  *
12
- * 1. Copy workspace ~/.olam/kg/<workspace>/scratch/
13
- * 2. cd scratch/ && graphify update .
14
- * 3. mv graphify-out/~/.olam/kg/<workspace>/graphify-out/
15
- * 4. Clean scratch (try/finally; always)
16
- * 5. Write freshness.json
21
+ * Failure modes surfaced with remedies:
22
+ * - kg-service not reachable "run `olam services up`".
23
+ * - cwd not under $HOME operator hint (mount path is $HOME:/host-home).
24
+ * - graphify timeout / failure / scratch_copy_failed → pass-through error.
17
25
  *
18
- * graphify itself lives in the devbox image at /opt/graphify-venv/
19
- * (Phase A1 bake) — NOT on the operator's host. The CLI shells into a
20
- * one-shot `docker run` against `olam-devbox:latest`, mounting the
21
- * scratch directory as the container's CWD. Streams stdout/stderr so
22
- * the operator sees graphify's progress live.
23
- *
24
- * Risk T7 mitigation: every subprocess uses argv arrays (no shell
25
- * interpolation); workspace names regex-validated via @olam/core's
26
- * `validateWorkspaceName` (shipped A2); all resolved paths asserted to
27
- * live under ~/.olam/ before any FS mutation.
26
+ * Out of scope (v1 behaviour retained):
27
+ * - Workspace-catalog lookup (deferred follow-on); cwd-as-source.
28
+ * - Watching / progress streaming — `/build` is synchronous, blocking.
28
29
  */
29
- import { spawnSync } from 'node:child_process';
30
- import fs from 'node:fs';
31
- import path from 'node:path';
30
+ import * as fs from 'node:fs';
31
+ import * as os from 'node:os';
32
+ import * as path from 'node:path';
32
33
  import { kgPristinePath } from '@olam/core/src/kg/storage-paths.js';
33
34
  import { validateWorkspaceName } from '@olam/core/src/world/workspace-name.js';
35
+ import { build as kgServiceBuild, KgServiceUnreachableError, } from '@olam/core/src/kg/kg-service-client.js';
34
36
  import { printError, printInfo, printSuccess } from '../output.js';
35
37
  import { registerKgStatusCommand } from './kg-status.js';
36
38
  import { registerKgWatchCommand } from './kg-watch.js';
@@ -38,21 +40,10 @@ import { registerKgClassifyCommand } from './kg-classify.js';
38
40
  import { registerKgDoctorCommand } from './kg-doctor.js';
39
41
  import { registerKgInstallHookCommand } from './kg-install-hook.js';
40
42
  import { registerKgUninstallHookCommand } from './kg-uninstall-hook.js';
41
- const DEFAULT_DEVBOX_IMAGE = 'olam-devbox:latest';
42
43
  /**
43
- * Resolve workspace name + source path. When `name` is omitted, defaults
44
- * to the basename of the operator's current working directory the
45
- * common case for "build KG of the repo I'm sitting in."
46
- *
47
- * Workspace-name validation routes through `@olam/core`'s shipped
48
- * `validateWorkspaceName` (A2); regex is NOT duplicated here. Risk T7
49
- * mitigation is therefore the same single source of truth used by every
50
- * other olam component that touches workspace names.
51
- *
52
- * Returns { name, sourcePath } where sourcePath is the directory we'll
53
- * copy into the scratch. The future `~/.olam/workspaces/<name>.yaml`
54
- * lookup (workspace catalog) is deferred to a follow-on PR; v1 uses
55
- * the CWD-as-source convention.
44
+ * Resolve workspace name + source path. `name` defaults to the basename
45
+ * of the operator's cwd the "build KG for the repo I'm in" common case.
46
+ * Validates the workspace name regex via @olam/core's single source of truth.
56
47
  */
57
48
  function resolveWorkspace(arg) {
58
49
  const cwd = process.cwd();
@@ -61,77 +52,30 @@ function resolveWorkspace(arg) {
61
52
  return { name, sourcePath: cwd };
62
53
  }
63
54
  /**
64
- * Detect whether `cp -c -r` (APFS clonefile) is likely to succeed on
65
- * this filesystem. macOS-only optimisation; quick filesystem-type check
66
- * via `df -T` would be ideal but introduces an extra subprocess —
67
- * cheaper to attempt `cp -c -r` and fall back on failure.
68
- */
69
- function copyWorkspaceToScratch(source, scratch) {
70
- if (process.platform === 'darwin') {
71
- const r = spawnSync('cp', ['-c', '-r', source + '/.', scratch], {
72
- stdio: ['ignore', 'ignore', 'pipe'],
73
- encoding: 'utf-8',
74
- });
75
- if (r.status === 0)
76
- return 'cp-c-r-reflink';
77
- // Falls through to plain copy if clonefile rejected (non-APFS volume,
78
- // cross-device, etc.). Note the source `/.` to copy contents, not the
79
- // dir itself, into scratch.
80
- }
81
- // Linux + macOS-non-APFS fallback. POSIX-portable.
82
- const r = spawnSync('cp', ['-r', source + '/.', scratch], {
83
- stdio: ['ignore', 'ignore', 'pipe'],
84
- encoding: 'utf-8',
85
- });
86
- if (r.status !== 0) {
87
- throw new Error(`cp -r failed: ${(r.stderr ?? '').trim() || r.error?.message}`);
88
- }
89
- return 'cp-r';
90
- }
91
- /**
92
- * Count nodes from graphify-out/. graph.json IS the source-of-truth
93
- * artefact — we count `nodes` directly. GRAPH_REPORT.md is human-prose
94
- * and could change wording across graphify versions; relying on its
95
- * format is brittle. Falls back to null (not an error) if graph.json
96
- * is missing or malformed — freshness.json carries the null and the
97
- * build still succeeds.
55
+ * Translate a host-side absolute path to the container's view of the same
56
+ * file, given that kg-service mounts `$HOME:/host-home:ro`.
57
+ *
58
+ * /Users/ernie/Projects/atlas-core → /host-home/Projects/atlas-core
59
+ *
60
+ * Throws when the source path doesn't live under $HOME (kg-service can't
61
+ * see it). Operator hint surfaces the mount layout in the error message.
98
62
  */
99
- function parseNodeCount(graphifyOutDir) {
100
- const graphPath = path.join(graphifyOutDir, 'graph.json');
101
- if (!fs.existsSync(graphPath))
102
- return null;
103
- try {
104
- const content = fs.readFileSync(graphPath, 'utf-8');
105
- const data = JSON.parse(content);
106
- return Array.isArray(data.nodes) ? data.nodes.length : null;
107
- }
108
- catch {
109
- return null;
63
+ function toContainerPath(hostPath) {
64
+ const home = os.homedir();
65
+ const resolved = path.resolve(hostPath);
66
+ if (!resolved.startsWith(home + path.sep) && resolved !== home) {
67
+ throw new Error(`source path "${resolved}" is not under $HOME (${home}). kg-service can only build ` +
68
+ `repos that live under your home dir (it bind-mounts $HOME:/host-home:ro at start). ` +
69
+ `Move the repo or set OLAM_HOME if you need a different root.`);
110
70
  }
111
- }
112
- function readGraphifyVersion(image) {
113
- // pip show graphifyy | grep Version inside the devbox image — A1's
114
- // canonical version probe (graphify CLI has no --version flag in
115
- // 0.7.13). Failure here is non-fatal; freshness.json records 'unknown'.
116
- const r = spawnSync('docker', [
117
- 'run',
118
- '--rm',
119
- '--entrypoint=/opt/graphify-venv/bin/pip',
120
- image,
121
- 'show',
122
- 'graphifyy',
123
- ], { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'] });
124
- if (r.status !== 0)
125
- return 'unknown';
126
- const m = (r.stdout ?? '').match(/^Version:\s*(\S+)/m);
127
- return m?.[1] ?? 'unknown';
71
+ const rel = path.relative(home, resolved);
72
+ return rel === '' ? '/host-home' : path.posix.join('/host-home', rel.split(path.sep).join('/'));
128
73
  }
129
74
  /**
130
- * Programmatic entry point. Separated from the Commander wiring so the
131
- * smoke test can drive it without spawning a sub-process.
75
+ * Programmatic entry point exported so tests can drive without spawning
76
+ * a sub-process.
132
77
  */
133
78
  export async function runKgBuild(workspaceArg, options = {}) {
134
- const image = options.image ?? DEFAULT_DEVBOX_IMAGE;
135
79
  let workspace;
136
80
  try {
137
81
  workspace = resolveWorkspace(workspaceArg);
@@ -140,109 +84,77 @@ export async function runKgBuild(workspaceArg, options = {}) {
140
84
  printError(err instanceof Error ? err.message : String(err));
141
85
  return { exitCode: 2 };
142
86
  }
143
- // kgPristinePath validates the workspace name (T7 — single regex source
144
- // of truth in @olam/core) AND asserts the resolved path lives under
145
- // OLAM_HOME/kg/. The defence-in-depth is identical to A2's contract.
87
+ let containerRepoPath;
88
+ try {
89
+ containerRepoPath = toContainerPath(workspace.sourcePath);
90
+ }
91
+ catch (err) {
92
+ printError(err instanceof Error ? err.message : String(err));
93
+ return { exitCode: 2 };
94
+ }
95
+ // Resolve / pre-create the host-side output directory. kg-service writes
96
+ // graphify-out/ into /kg-data/<workspace>/, which is bind-mounted at
97
+ // start time to the OLAM_HOME-aware kgRoot(). We mirror that here so
98
+ // host-side `olam kg status` can read freshness.json without reaching
99
+ // into the container.
146
100
  const outDir = kgPristinePath(workspace.name);
147
- const scratchDir = path.join(outDir, 'scratch');
148
- // Idempotent prep — leave any previous graphify-out/ in place until
149
- // the new build succeeds, then atomically replace. If a prior scratch
150
- // exists (interrupted build), clean it first.
151
101
  fs.mkdirSync(outDir, { recursive: true });
152
- if (fs.existsSync(scratchDir))
153
- fs.rmSync(scratchDir, { recursive: true, force: true });
154
- fs.mkdirSync(scratchDir);
155
102
  const human = !options.json;
156
103
  if (human) {
157
104
  printInfo('kg build', `workspace=${workspace.name} source=${workspace.sourcePath}`);
158
- printInfo('kg build', `scratch=${scratchDir} → out=${outDir}/graphify-out/`);
105
+ printInfo('kg build', `→ kg-service /build (container path ${containerRepoPath})${outDir}/graphify-out/`);
159
106
  }
160
- const started = Date.now();
161
- let scratchStrategy;
107
+ let resp;
162
108
  try {
163
- // Phase: copy workspace into scratch
164
- scratchStrategy = copyWorkspaceToScratch(workspace.sourcePath, scratchDir);
165
- if (human)
166
- printInfo('kg build', `copied via ${scratchStrategy}`);
167
- // Phase: run graphify update inside the devbox container against scratch.
168
- // No `--user 0:0` — let the image's USER (olam) own the writes so the
169
- // scratch tree stays operator-cleanable in `finally` on Linux. On macOS
170
- // colima/Docker-Desktop osxfs handles UID remapping; the container
171
- // still writes through.
172
- //
173
- // stdio routing: --json mode suppresses container chatter via /dev/null
174
- // so consumers piping `olam kg build --json | jq` get clean JSON. Human
175
- // mode inherits stdio so the operator sees graphify's live progress.
176
- const dockerArgs = [
177
- 'run',
178
- '--rm',
179
- '-v',
180
- `${scratchDir}:/work`,
181
- '-w',
182
- '/work',
183
- '--entrypoint=graphify',
184
- image,
185
- 'update',
186
- '.',
187
- ];
188
- const r = human
189
- ? spawnSync('docker', dockerArgs, { stdio: 'inherit' })
190
- : spawnSync('docker', dockerArgs, { stdio: ['ignore', 'ignore', 'pipe'] });
191
- if (r.status !== 0) {
192
- printError(`graphify update failed (exit ${r.status})`);
193
- return { exitCode: r.status ?? 1 };
194
- }
195
- // Phase: extract — move scratch/graphify-out/ → outDir/graphify-out/
196
- const scratchOut = path.join(scratchDir, 'graphify-out');
197
- const finalOut = path.join(outDir, 'graphify-out');
198
- if (!fs.existsSync(scratchOut)) {
199
- printError(`graphify produced no graphify-out/ in scratch (${scratchOut})`);
200
- return { exitCode: 1 };
201
- }
202
- if (fs.existsSync(finalOut))
203
- fs.rmSync(finalOut, { recursive: true, force: true });
204
- fs.renameSync(scratchOut, finalOut);
205
- // Phase: freshness — write freshness.json
206
- const durationMs = Date.now() - started;
207
- const nodeCount = parseNodeCount(finalOut);
208
- const version = readGraphifyVersion(image);
209
- const freshness = {
210
- built_at: new Date().toISOString(),
211
- duration_ms: durationMs,
212
- node_count: nodeCount,
213
- graphify_version: version,
109
+ resp = await kgServiceBuild({
214
110
  workspace: workspace.name,
215
- scratch_strategy: scratchStrategy,
216
- };
217
- fs.writeFileSync(path.join(outDir, 'freshness.json'), JSON.stringify(freshness, null, 2) + '\n', 'utf-8');
218
- if (options.json) {
219
- // JSON-only output to stdout; nothing else has touched stdout above.
220
- process.stdout.write(JSON.stringify(freshness) + '\n');
221
- }
222
- else {
223
- printSuccess(`kg build ${workspace.name} — ${nodeCount ?? '?'} nodes in ${(durationMs / 1000).toFixed(1)}s (graphify ${version})`);
224
- printInfo('output', `${finalOut}/graph.json`);
225
- }
226
- return { exitCode: 0, freshness, outputDir: finalOut };
111
+ repo_path: containerRepoPath,
112
+ });
227
113
  }
228
- finally {
229
- // Cleanup (always): scratch dir removed on success OR error.
230
- if (fs.existsSync(scratchDir)) {
231
- fs.rmSync(scratchDir, { recursive: true, force: true });
114
+ catch (err) {
115
+ if (err instanceof KgServiceUnreachableError) {
116
+ printError(err.message);
117
+ printInfo('remedy', 'run `olam services up` to start kg-service, then re-run `olam kg build`.');
118
+ return { exitCode: 3 };
232
119
  }
120
+ printError(`kg-service /build failed: ${err instanceof Error ? err.message : String(err)}`);
121
+ return { exitCode: 1 };
122
+ }
123
+ if (!resp.ok) {
124
+ printError(`kg-service /build returned error: ${resp.error ?? 'unknown'}`);
125
+ return { exitCode: 1 };
126
+ }
127
+ // Mirror the server-authoritative freshness onto the host. The server
128
+ // already wrote /kg-data/<ws>/freshness.json, but writing again here
129
+ // keeps the host-side freshness contract identical to v1's shape for
130
+ // downstream consumers (kg-status, kg-watch) that haven't migrated.
131
+ const freshness = {
132
+ built_at: resp.built_at ?? new Date().toISOString(),
133
+ duration_ms: resp.duration_ms ?? 0,
134
+ node_count: resp.nodes ?? null,
135
+ edge_count: resp.edges ?? null,
136
+ workspace: workspace.name,
137
+ graphify_path: 'container',
138
+ };
139
+ fs.writeFileSync(path.join(outDir, 'freshness.json'), JSON.stringify(freshness, null, 2) + '\n', 'utf-8');
140
+ const finalOut = path.join(outDir, 'graphify-out');
141
+ if (options.json) {
142
+ process.stdout.write(JSON.stringify(freshness) + '\n');
143
+ }
144
+ else {
145
+ printSuccess(`kg build ${workspace.name} — ${resp.nodes ?? '?'} nodes / ${resp.edges ?? '?'} edges in ${((resp.duration_ms ?? 0) / 1000).toFixed(1)}s (via kg-service container)`);
146
+ printInfo('output', `${finalOut}/graph.json`);
233
147
  }
148
+ return { exitCode: 0, freshness, outputDir: finalOut };
234
149
  }
235
150
  /**
236
- * `olam kg <subcommand>` group — register the kg subcommand tree.
237
- * v1 ships only `build`; `status` (C1) and `watch` (C2) layer in
238
- * Phase C without restructuring the group.
151
+ * `olam kg <subcommand>` group — registers the kg subcommand tree.
239
152
  */
240
153
  export function registerKg(program) {
241
- const kg = program.command('kg').description('Knowledge-graph operations (graphify-backed)');
154
+ const kg = program.command('kg').description('Knowledge-graph operations (kg-service container)');
242
155
  kg.command('build')
243
- .description('Build pristine KG for a workspace (default: current dir). Scratch-dir pattern; ~/.olam/kg/<ws>/graphify-out/')
156
+ .description('Build pristine KG for a workspace (default: current dir). Routes through olam-kg-service /build endpoint.')
244
157
  .argument('[workspace]', 'workspace name (lowercase alphanumeric + hyphens/underscores)')
245
- .option('--image <ref>', `devbox image to invoke (default: ${DEFAULT_DEVBOX_IMAGE})`)
246
158
  .option('--json', 'emit freshness record as JSON instead of human-readable status')
247
159
  .action(async (workspaceArg, opts) => {
248
160
  const r = await runKgBuild(workspaceArg, opts);