@uluops/setup 0.12.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,65 @@ All notable changes to `@uluops/setup` will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.13.1] - 2026-09-17
8
+
9
+ ### Changed
10
+
11
+ - Bundle `@uluops/agent-metrics` 0.11.0 (previously 0.8.0) for metrics hook
12
+ installs and refreshes, including the Codex extraction and discovery fixes.
13
+ - Pin tracker MCP to 0.20.1, which uses ops-sdk 6.5.2 and preserves harness,
14
+ token components and raw model identity across the metrics transport path.
15
+ - Pin registry MCP to 0.8.0 (previously 0.3.7), verified against the published
16
+ package's tool registry and all four harness config writers. Its read-tool
17
+ approval list remains compatible.
18
+ - Seed the tracker read tools `get_org_audit_feed`, `get_project_log` and
19
+ `get_log_stat` in fresh Codex configs. Existing custom tool approvals remain
20
+ untouched.
21
+
22
+ - **`@uluops/ops-mcp` pin 0.17.2 → 0.20.0** (`OPS_MCP_VERSION`). Stale since ops-mcp 0.18.0
23
+ (org routing, 2026-09-14): fresh installs were stamping a server with no `org` argument on
24
+ any tool and none of the `get_project_log` / `get_log_stat` reads that 0.20.0 added
25
+ (ulu log Phase 5). Nothing checks this pin against npm; it was found by the ulu log
26
+ Phase 7 residue list, not by a test.
27
+ - **Setup banner tagline** `operating intelligence as infrastructure` → `the operations layer
28
+ for agentic work` (messaging foundation 0.5.3 §4.1/§4.10 — the banner is an agent-read
29
+ surface, and the category string is the same on every surface by decision D6). uluops.ai's
30
+ install walkthrough mirrors this line and was changed in the same day's commit, so the
31
+ site shows the banner of this release, not of 0.13.0, until this ships.
32
+
33
+ ## [0.13.0] - 2026-09-11
34
+
35
+ ### Changed
36
+
37
+ - **`@uluops/ops-mcp` pin 0.13.0 → 0.17.2** (`OPS_MCP_VERSION`). Every harness
38
+ writer stamps this into the MCP config, so this is the release that moves
39
+ first-launch users off a server that **silently stripped `cluster_key`** from
40
+ every recommendation on `save_run` / `update_run` / `validate_run` — the
41
+ schema was a plain `z.object()` and never declared the field, so within-run
42
+ convergence was recorded as NULL and read by the tracker as a collapsing
43
+ pipeline (ops-mcp 0.17.2 changelog; tracker issue `105c478f`). The jump also
44
+ crosses ops-mcp's 0.17.0 breaking train (strict ops-sdk 6.0.0; `list_agents`
45
+ and the list/query tools now return the `{data, total}` envelope; `get_run`
46
+ is a 14-key read projection). Setup itself calls none of these tools, but an
47
+ MCP client written against the 0.13.0 shapes will see the difference on
48
+ first launch after reattestation. Harness configs already on disk keep
49
+ resolving 0.13.0 until `npx @uluops/setup` runs again.
50
+ - **Codex read-tool seed gains `preview_update_run`** (`src/harnesses/codex.ts`).
51
+ A read tool since ops-mcp 0.14 (2026-08-21) that the hand-maintained
52
+ `TRACKER_READ_TOOLS` list never picked up — three setup releases seeded a
53
+ Codex config that prompted on first use of it. Nothing checks this list
54
+ against the pinned package; the comment now says so, and deriving it is
55
+ tracked separately. Seeded only on fresh Codex configs, as before.
56
+
57
+ ### Not changed — deliberately
58
+
59
+ - **`@uluops/registry-mcp` stays pinned at 0.3.7** while npm `latest` is
60
+ 0.8.0. Two trees publish under that name — `packages/-uluops-registry-mcp`
61
+ (0.3.7) and `uluops-registry-mcp` (0.8.0), the latter being the live
62
+ registry registration's copy — and the 0.3.7 → 0.8.0 span has not been
63
+ validated against setup's Codex read-tool seed or the harness writers. That
64
+ is its own bump with its own changelog entry, not a rider on this one.
65
+
7
66
  ## [0.12.0] - 2026-08-21
8
67
 
9
68
  ### Added
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- **[UluOps](https://uluops.ai)** · Operating Intelligence as Infrastructure
1
+ **[UluOps](https://uluops.ai)** · The operations layer for agentic work
2
2
 
3
3
  ---
4
4
 
@@ -18,6 +18,15 @@ npx @uluops/setup
18
18
 
19
19
  ## Supported harnesses
20
20
 
21
+ Setup 0.13.1 bundles agent-metrics **0.11.0** for hook installation and pins
22
+ tracker MCP **0.20.1** and registry MCP **0.8.0** in generated configs. Tracker
23
+ MCP uses ops-sdk **6.5.2**. Re-run setup to refresh existing configs and hook
24
+ files, then restart the affected MCP connections in your harness.
25
+
26
+ Optional global CLI installs resolve npm's current release when the CLI is
27
+ absent. Setup preserves an existing global CLI rather than upgrading it;
28
+ update existing `@uluops/cli` or `@uluops/agent-metrics` global installs with npm.
29
+
21
30
  | Harness | Status | Alias | Config |
22
31
  |---------|--------|-------|--------|
23
32
  | Claude Code | Fully supported (default) | `claude` | `~/.claude.json` |
@@ -25,10 +25,19 @@ const RAW_TOML = "__rawToml";
25
25
  * Only read-side tools are seeded. Writes still prompt — the user retains a
26
26
  * choice point on every state-changing operation. Lists mirror the
27
27
  * `sideEffects: 'read'` declarations in the respective server's tool-registry
28
- * (sources of truth: ops-uluops-mcp/src/config/tool-registry.ts and
29
- * uluops-registry-mcp/src/config/tool-registry.ts). If a new read tool ships
30
- * there, add it here in the same PR — Codex users will silently get a prompt
31
- * on first use otherwise.
28
+ * (sources of truth: the tool-registry.ts of whichever copy OPS_MCP_SPEC /
29
+ * REGISTRY_MCP_SPEC actually pin — `@uluops/ops-mcp` is published from
30
+ * packages/-uluops-ops-mcp, NOT from ops-uluops-mcp, which is the live
31
+ * tracker registration's copy; the two are twins but not the same tree).
32
+ * If a new read tool ships there, add it here in the same PR — Codex users
33
+ * will silently get a prompt on first use otherwise.
34
+ *
35
+ * This list is hand-maintained and nothing checks it against the pinned
36
+ * package: `preview_update_run` (a read tool since ops-mcp 0.14, 2026-08-21)
37
+ * was absent here until the 0.17.2 pin bump on 2026-09-11 — three setup
38
+ * releases stamped a seed missing one read tool. The package's exports map
39
+ * exposes only its server entry, so a derived test needs ops-mcp to export
40
+ * its registry first; tracked separately.
32
41
  */
33
42
  const TRACKER_READ_TOOLS = [
34
43
  "diff_runs",
@@ -44,8 +53,11 @@ const TRACKER_READ_TOOLS = [
44
53
  "get_issue_details",
45
54
  "get_issue_history",
46
55
  "get_latest_run",
56
+ "get_log_stat",
57
+ "get_org_audit_feed",
47
58
  "get_project",
48
59
  "get_project_analysis",
60
+ "get_project_log",
49
61
  "get_project_summary",
50
62
  "get_project_trends",
51
63
  "get_run",
@@ -56,6 +68,7 @@ const TRACKER_READ_TOOLS = [
56
68
  "list_agents",
57
69
  "list_projects",
58
70
  "list_runs",
71
+ "preview_update_run",
59
72
  "query_analysis_records",
60
73
  "query_issues",
61
74
  "search_issues",
@@ -17,7 +17,7 @@ export function printHarnessHeader(displayName) {
17
17
  export function printSetupBanner(version, targetSummary) {
18
18
  console.log();
19
19
  console.log(` ${chalk.dim("⟨u⟩")} ${chalk.cyan.bold("ulu")}${chalk.bold("·ops")}`);
20
- console.log(` ${chalk.dim("operating intelligence as infrastructure")}`);
20
+ console.log(` ${chalk.dim("the operations layer for agentic work")}`);
21
21
  console.log();
22
22
  console.log(` Setup v${version} — ${chalk.bold(targetSummary)}`);
23
23
  console.log();
@@ -22,11 +22,11 @@
22
22
  * MCP launch. A pin is not a publish; the probe is what enforces that here.
23
23
  */
24
24
  export declare const OPS_MCP_PACKAGE = "@uluops/ops-mcp";
25
- export declare const OPS_MCP_VERSION = "0.13.0";
26
- export declare const OPS_MCP_SPEC: "@uluops/ops-mcp@0.13.0";
25
+ export declare const OPS_MCP_VERSION = "0.20.1";
26
+ export declare const OPS_MCP_SPEC: "@uluops/ops-mcp@0.20.1";
27
27
  export declare const REGISTRY_MCP_PACKAGE = "@uluops/registry-mcp";
28
- export declare const REGISTRY_MCP_VERSION = "0.3.7";
29
- export declare const REGISTRY_MCP_SPEC: "@uluops/registry-mcp@0.3.7";
28
+ export declare const REGISTRY_MCP_VERSION = "0.8.0";
29
+ export declare const REGISTRY_MCP_SPEC: "@uluops/registry-mcp@0.8.0";
30
30
  /** Probe targets: the pinned versions the harness will actually resolve. */
31
31
  export declare const MCP_PROBE_TARGETS: readonly {
32
32
  pkg: string;
@@ -22,10 +22,10 @@
22
22
  * MCP launch. A pin is not a publish; the probe is what enforces that here.
23
23
  */
24
24
  export const OPS_MCP_PACKAGE = "@uluops/ops-mcp";
25
- export const OPS_MCP_VERSION = "0.13.0";
25
+ export const OPS_MCP_VERSION = "0.20.1";
26
26
  export const OPS_MCP_SPEC = `${OPS_MCP_PACKAGE}@${OPS_MCP_VERSION}`;
27
27
  export const REGISTRY_MCP_PACKAGE = "@uluops/registry-mcp";
28
- export const REGISTRY_MCP_VERSION = "0.3.7";
28
+ export const REGISTRY_MCP_VERSION = "0.8.0";
29
29
  export const REGISTRY_MCP_SPEC = `${REGISTRY_MCP_PACKAGE}@${REGISTRY_MCP_VERSION}`;
30
30
  /** Probe targets: the pinned versions the harness will actually resolve. */
31
31
  export const MCP_PROBE_TARGETS = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uluops/setup",
3
- "version": "0.12.0",
3
+ "version": "0.13.1",
4
4
  "description": "Zero-friction installer for UluOps agentic harnesses",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@inquirer/prompts": "8.6.0",
52
- "@uluops/agent-metrics": "0.8.0",
52
+ "@uluops/agent-metrics": "0.11.0",
53
53
  "chalk": "5.6.2",
54
54
  "commander": "15.0.0",
55
55
  "jsonc-parser": "3.3.1"