From ae945c1dc8fc22bbb4f119371547f859066b3d67 Mon Sep 17 00:00:00 2001 From: "Christian M. Todie" Date: Wed, 8 Jul 2026 23:39:27 -0400 Subject: [PATCH] bump(omp): pin @oh-my-pi/pi-coding-agent 16.3.11 -> 16.3.12 Patch release (2026-07-08), no breaking/schema changes: - Added: # PR/Issue autocomplete -> pr:// issue:// internal URLs - Changed: memoize non-message token totals (per-turn perf) - Fixed: JS-eval unawaited rejection crashes, advisor account-rotation hammering exhausted creds, .omp/RULES.md shadowed by user rules, bash internal-URL literal passthrough, nested agent:// resolution (spawn chains 2+ deep), bash timeout:0 now disables deadline, read/grep refusing selector-suffixed path names, Edge-only Windows browser launch BUILTIN_TOOL_NAMES byte-identical 16.3.11 vs 16.3.12 (verified against upstream builtin-names.ts); preset test tool list unchanged. Verified: bun test 12/12 pass, shellcheck clean, install.sh live -> omp/16.3.12, gateway headless round-trip ok. 7 files: install.sh pin, omp README x5, config.local.yml x2, models.yml, preset.test.ts, root README, .claude/CLAUDE.md. docs/eval/* left as historical record (dated evaluations tested 16.3.11). --- .claude/CLAUDE.md | 2 +- README.md | 2 +- packages/harness-omp/README.md | 10 +++++----- packages/harness-omp/config/config.local.yml | 4 ++-- packages/harness-omp/config/models.yml | 2 +- packages/harness-omp/install.sh | 2 +- packages/harness-omp/tests/preset.test.ts | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index df9e659..58ed74a 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -35,4 +35,4 @@ moon tag-node tasks; python: uv via tag-python. Shell: shellcheck (CI + lint). Harness pins are bumped deliberately (PR per bump, changelog reviewed) — this repo's value is *curated known-good*, not latest. Current: pi-coding-agent 0.80.3 · opencode-ai 1.17.13 · hermes-agent 0.18.0 · -@oh-my-pi/pi-coding-agent 16.3.11 (bun). +@oh-my-pi/pi-coding-agent 16.3.12 (bun). diff --git a/README.md b/README.md index b933d04..7472bf6 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Four harnesses, one skills standard, one endpoint pattern: | [`packages/harness-pi`](packages/harness-pi/) | [pi.dev](https://pi.dev) (`badlogic/pi-mono`) — config, `models.json` local-endpoint presets, TS extensions | `@earendil-works/pi-coding-agent` 0.80.3 | | [`packages/harness-opencode`](packages/harness-opencode/) | [opencode](https://opencode.ai) — `opencode.json` presets, plugins, agents | `opencode-ai` 1.17.13 | | [`packages/harness-hermes`](packages/harness-hermes/) | [hermes-agent](https://github.com/NousResearch/hermes-agent) (Nous Research) — `cli-config.yaml` presets, tools/MCP wiring | `hermes-agent` 0.18.0 | -| [`packages/harness-omp`](packages/harness-omp/) | [oh-my-pi](https://omp.sh) (`can1357/oh-my-pi`, hard fork of pi) — `models.yml` presets, headless RPC surface | `@oh-my-pi/pi-coding-agent` 16.3.11 | +| [`packages/harness-omp`](packages/harness-omp/) | [oh-my-pi](https://omp.sh) (`can1357/oh-my-pi`, hard fork of pi) — `models.yml` presets, headless RPC surface | `@oh-my-pi/pi-coding-agent` 16.3.12 | | [`packages/skills`](packages/skills/) | **Shared** [agentskills.io](https://agentskills.io) skills — written once, installed into all four harnesses (+ Claude Code) | — | | [`packages/shepherd`](packages/shepherd/) | [shepherd](https://github.com/shepherd-agents/shepherd) runtime substrate — reversible traces, retained-output review, syscall-jailed agent runs (claude executor) | `shepherd-ai` 0.2.1 | | [`packages/local-models`](packages/local-models/) | Hardware probe → tiered model matrix → serving configs (llama.cpp / vLLM / ollama, OpenAI-compatible) | see `MODELS.md` | diff --git a/packages/harness-omp/README.md b/packages/harness-omp/README.md index 52c8073..8545804 100644 --- a/packages/harness-omp/README.md +++ b/packages/harness-omp/README.md @@ -7,7 +7,7 @@ consumes: local-models/README.md (endpoint wiring), docs/eval/2026-07-06-shepher # harness-omp [oh-my-pi](https://github.com/can1357/oh-my-pi) ([omp.sh](https://omp.sh)) at -curated pin **`@oh-my-pi/pi-coding-agent` 16.3.11**, binary `omp` — a hard +curated pin **`@oh-my-pi/pi-coding-agent` 16.3.12**, binary `omp` — a hard fork of pi with an aggressively expanded tool harness: hash-anchored edits, LSP-wired writes, DAP debugging, first-class worktree-isolated subagents, persistent Python/Bun eval kernels, and headless RPC/ACP modes. @@ -19,7 +19,7 @@ omp # interactive TUI; `omp -p "..."` for one-shot headless **Install-path note:** upstream's documented install is a remote script piped to a shell. That is banned in this repo, so `install.sh` uses -`bun install -g @oh-my-pi/pi-coding-agent@16.3.11` — the same npm package the +`bun install -g @oh-my-pi/pi-coding-agent@16.3.12` — the same npm package the installer resolves to. omp is **Bun-native** (`engines.bun >= 1.3.14`); the repo's `.prototools` pins bun 1.3.14 and `scripts/bootstrap.sh` provisions it. @@ -44,7 +44,7 @@ are maintained separately. the deprecation window). `apiKey` values are env-var names (resolved env-first, then literal) — no secrets in the preset. **Schema caveat:** validated against the - `models-config-schema.ts` shipped in v16.3.11; upstream releases multiple + `models-config-schema.ts` shipped in v16.3.12; upstream releases multiple times a day, so re-check on bump. **Context caveat:** omp's default system prompt (32 tools + skills) measured ~39k tokens — it does not fit the 32k context the local presets serve. For local models either serve a larger @@ -62,7 +62,7 @@ are maintained separately. ## Local profile (context budget) omp's default request footprint measured **~39k tokens before the first user -word** (v16.3.11, machine with a populated Claude Code ecosystem): ~19k tool +word** (v16.3.12, machine with a populated Claude Code ecosystem): ~19k tool JSON schemas + ~15.8k auto-discovered skill descriptions (omp co-reads every `.claude`/`.agents`/plugin skills dir — 157 skills here) + ~2.5k CLAUDE.md ingestion + ~2k omp core prompt. That exceeds every 32k local model. @@ -100,7 +100,7 @@ expect the pin to trail latest by design. See the adoption eval in CI-gated: shellcheck on `install.sh`. Exercised live (2026-07-06, WSL2): - `proto install` provisions bun 1.3.14 from the `.prototools` pin. -- `install.sh` → global install at 16.3.11, `omp --version` reports the pin, +- `install.sh` → global install at 16.3.12, `omp --version` reports the pin, preset seeded to `~/.omp/agent/models.yml`. Bun blocked two dependency postinstalls (`onnxruntime-node`, `protobufjs`) under its default trust model — core CLI unaffected; `bun pm -g trust` them if omp's local-embedding diff --git a/packages/harness-omp/config/config.local.yml b/packages/harness-omp/config/config.local.yml index f9e7141..af78e58 100644 --- a/packages/harness-omp/config/config.local.yml +++ b/packages/harness-omp/config/config.local.yml @@ -1,5 +1,5 @@ # omp local-model profile — slims the default ~39k-token request footprint so -# locally served models fit. Measured on this preset (2026-07-07, v16.3.11): +# locally served models fit. Measured on this preset (2026-07-07, v16.3.12): # default config ~39k real tokens; this profile ~13k (breakdown in README). # Default decomposition: ~19k tool JSON schemas + ~15.8k auto-discovered skill # descriptions (157 skills across ~/.claude + ~/.agents + plugins) + ~2.5k @@ -11,7 +11,7 @@ # Escape hatch: pointing omp at gateway/frontier models (200k context)? Flip # tools.discoveryMode to auto and drop skills.includeSkills — or delete # ~/.omp/agent/config.yml and re-run install.sh for a fresh copy of this file. -# Keys verified against v16.3.11; re-check on pin bump (tools/measure-context.sh). +# Keys verified against v16.3.12; re-check on pin bump (tools/measure-context.sh). # --- tool schema payload (the ~19k lever) ---------------------------------- tools: diff --git a/packages/harness-omp/config/models.yml b/packages/harness-omp/config/models.yml index 420f68d..723151e 100644 --- a/packages/harness-omp/config/models.yml +++ b/packages/harness-omp/config/models.yml @@ -1,6 +1,6 @@ # omp custom providers — same endpoints as harness-pi's models.json, expressed # in omp's models.yml schema (packages/coding-agent/src/config/models-config-schema.ts -# @ v16.3.11). apiKey values are resolved env-var-name-first, then literal +# @ v16.3.12). apiKey values are resolved env-var-name-first, then literal # (resolve-config-value.ts) — no secrets live in this file. providers: llm: diff --git a/packages/harness-omp/install.sh b/packages/harness-omp/install.sh index 73828eb..fb9473f 100755 --- a/packages/harness-omp/install.sh +++ b/packages/harness-omp/install.sh @@ -4,7 +4,7 @@ # bun-native install from npm instead (same package the installer resolves to). set -euo pipefail -OMP_VERSION="16.3.11" +OMP_VERSION="16.3.12" PKG_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" command -v bun >/dev/null 2>&1 || { echo "bun not found — run scripts/bootstrap.sh first (proto provides bun)" >&2; exit 1; } diff --git a/packages/harness-omp/tests/preset.test.ts b/packages/harness-omp/tests/preset.test.ts index 6513e4b..212ae46 100644 --- a/packages/harness-omp/tests/preset.test.ts +++ b/packages/harness-omp/tests/preset.test.ts @@ -14,7 +14,7 @@ const README = readFileSync(join(PKG, "README.md"), "utf8"); const SECRETY = ["sk-", "Bearer", "ghp_", "AKIA"]; const ENDPOINT_ALLOWLIST = [/^http:\/\/localhost[:/]/, /^http:\/\/127\.0\.0\.1[:/]/, /^https:\/\/llm\.unsigned\.gg\//]; -// BUILTIN_TOOL_NAMES from oh-my-pi v16.3.11 +// BUILTIN_TOOL_NAMES from oh-my-pi v16.3.12 // packages/coding-agent/src/tools/builtin-names.ts — re-check on pin bump. const BUILTIN_TOOLS = [ "read", "bash", "edit", "ast_grep", "ast_edit", "ask", "debug", "eval",