URL: https://github.com/can1357/oh-my-pi/commit/e8d0a93d
Content-Type: text/markdown
Method: github-commit
Notes: Fetched via GitHub API

---

# chore: bump version to 16.3.15

**e8d0a93db61e** · authored by @can1357 · 2026-07-09T20:44:35Z
23 files changed · +66 −64
Parents: 46b8ee737f5f

---

## Files (23)

### Cargo.lock

modified · +5 −5

```diff
@@ -2881,7 +2881,7 @@ dependencies = [
 
 [[package]]
 name = "pi-ast"
-version = "16.3.14"
+version = "16.3.15"
 dependencies = [
  "anyhow",
  "ast-grep-core",
@@ -2950,7 +2950,7 @@ dependencies = [
 
 [[package]]
 name = "pi-iso"
-version = "16.3.14"
+version = "16.3.15"
 dependencies = [
  "async-trait",
  "libc",
@@ -2962,7 +2962,7 @@ dependencies = [
 
 [[package]]
 name = "pi-natives"
-version = "16.3.14"
+version = "16.3.15"
 dependencies = [
  "anyhow",
  "arboard",
@@ -3015,7 +3015,7 @@ dependencies = [
 
 [[package]]
 name = "pi-shell"
-version = "16.3.14"
+version = "16.3.15"
 dependencies = [
  "anyhow",
  "brush-builtins",
@@ -3064,7 +3064,7 @@ dependencies = [
 
 [[package]]
 name = "pi-walker"
-version = "16.3.14"
+version = "16.3.15"
 dependencies = [
  "dashmap",
  "globset",
```

### Cargo.toml

modified · +1 −1

```diff
@@ -4,7 +4,7 @@ exclude = ["crates/vendor/brush-core", "crates/vendor/brush-builtins"]
 resolver = "3"
 
 [workspace.package]
-version = "16.3.14"
+version = "16.3.15"
 edition = "2024"
 license = "MIT"
 authors = ["Can Boluk"]
```

### bun.lock

modified · +26 −26

```diff
@@ -21,7 +21,7 @@
     },
     "packages/agent": {
       "name": "@oh-my-pi/pi-agent-core",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@oh-my-pi/pi-ai": "catalog:",
         "@oh-my-pi/pi-catalog": "catalog:",
@@ -39,7 +39,7 @@
     },
     "packages/ai": {
       "name": "@oh-my-pi/pi-ai",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@bufbuild/protobuf": "catalog:",
         "@oh-my-pi/pi-catalog": "catalog:",
@@ -55,7 +55,7 @@
     },
     "packages/catalog": {
       "name": "@oh-my-pi/pi-catalog",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@bufbuild/protobuf": "catalog:",
         "@oh-my-pi/pi-utils": "catalog:",
@@ -69,7 +69,7 @@
     },
     "packages/coding-agent": {
       "name": "@oh-my-pi/pi-coding-agent",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "bin": {
         "omp": "src/cli.ts",
       },
@@ -137,7 +137,7 @@
     },
     "packages/hashline": {
       "name": "@oh-my-pi/hashline",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "diff": "catalog:",
         "lru-cache": "catalog:",
@@ -148,7 +148,7 @@
     },
     "packages/mnemopi": {
       "name": "@oh-my-pi/pi-mnemopi",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "bin": {
         "mnemopi": "src/cli.ts",
       },
@@ -174,15 +174,15 @@
     },
     "packages/natives": {
       "name": "@oh-my-pi/pi-natives",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "devDependencies": {
         "@napi-rs/cli": "catalog:",
         "@types/bun": "catalog:",
       },
     },
     "packages/snapcompact": {
       "name": "@oh-my-pi/snapcompact",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@oh-my-pi/pi-ai": "catalog:",
         "@oh-my-pi/pi-natives": "catalog:",
@@ -195,7 +195,7 @@
     },
     "packages/stats": {
       "name": "@oh-my-pi/omp-stats",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "bin": {
         "omp-stats": "./src/index.ts",
       },
@@ -221,7 +221,7 @@
     },
     "packages/swarm-extension": {
       "name": "@oh-my-pi/swarm-extension",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "bin": {
         "omp-swarm": "src/cli.ts",
       },
@@ -247,7 +247,7 @@
     },
     "packages/tui": {
       "name": "@oh-my-pi/pi-tui",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@oh-my-pi/pi-natives": "catalog:",
         "@oh-my-pi/pi-utils": "catalog:",
@@ -288,7 +288,7 @@
     },
     "packages/utils": {
       "name": "@oh-my-pi/pi-utils",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "dependencies": {
         "@oh-my-pi/pi-natives": "catalog:",
         "handlebars": "catalog:",
@@ -301,7 +301,7 @@
     },
     "packages/wire": {
       "name": "@oh-my-pi/pi-wire",
-      "version": "16.3.14",
+      "version": "16.3.15",
       "devDependencies": {
         "@types/bun": "catalog:",
       },
@@ -338,18 +338,18 @@
     "@huggingface/transformers": "^4.2.0",
     "@mozilla/readability": "^0.6.0",
     "@napi-rs/cli": "3.7.0",
-    "@oh-my-pi/hashline": "16.3.14",
-    "@oh-my-pi/omp-stats": "16.3.14",
-    "@oh-my-pi/pi-agent-core": "16.3.14",
-    "@oh-my-pi/pi-ai": "16.3.14",
-    "@oh-my-pi/pi-catalog": "16.3.14",
-    "@oh-my-pi/pi-coding-agent": "16.3.14",
-    "@oh-my-pi/pi-mnemopi": "16.3.14",
-    "@oh-my-pi/pi-natives": "16.3.14",
-    "@oh-my-pi/pi-tui": "16.3.14",
-    "@oh-my-pi/pi-utils": "16.3.14",
-    "@oh-my-pi/pi-wire": "16.3.14",
-    "@oh-my-pi/snapcompact": "16.3.14",
+    "@oh-my-pi/hashline": "16.3.15",
+    "@oh-my-pi/omp-stats": "16.3.15",
+    "@oh-my-pi/pi-agent-core": "16.3.15",
+    "@oh-my-pi/pi-ai": "16.3.15",
+    "@oh-my-pi/pi-catalog": "16.3.15",
+    "@oh-my-pi/pi-coding-agent": "16.3.15",
+    "@oh-my-pi/pi-mnemopi": "16.3.15",
+    "@oh-my-pi/pi-natives": "16.3.15",
+    "@oh-my-pi/pi-tui": "16.3.15",
+    "@oh-my-pi/pi-utils": "16.3.15",
+    "@oh-my-pi/pi-wire": "16.3.15",
+    "@oh-my-pi/snapcompact": "16.3.15",
     "@opentelemetry/api": "^1.9.1",
     "@opentelemetry/context-async-hooks": "^2.7.1",
     "@opentelemetry/exporter-trace-otlp-proto": "^0.218.0",
@@ -791,7 +791,7 @@
 
     "@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@2.9.0", "", { "dependencies": { "@opentelemetry/context-async-hooks": "2.9.0", "@opentelemetry/core": "2.9.0", "@opentelemetry/sdk-trace-base": "2.9.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-ec9a7ps37huy5itYk0MalaZdSLlM6AXWp/FhtEjgMpp5leEGojBDvAl/UWttQnkMZOvFHKzRESn8TD3yKTF5nQ=="],
 
-    "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.41.1", "", {}, "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA=="],
+    "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.42.0", "", {}, "sha512-icc5xCzndZfhuJMy5oqk5AvloWquR7jtae74qzpkKkhGp8BivK+oCcEXgGnjCdTfp8hA44l+w8gE8yYJbocJJw=="],
 
     "@oxc-project/types": ["@oxc-project/types@0.138.0", "", {}, "sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA=="],
 
```

### crates/pi-natives/src/lib.rs

modified · +1 −1

```diff
@@ -248,7 +248,7 @@ fn create_windows_napi_tokio_runtime() -> Option<tokio::runtime::Runtime> {
 /// MUST stay in sync with `VERSION_SENTINEL_EXPORT` in
 /// `packages/natives/native/index.js` (which derives the name from
 /// `package.json#version`).
-#[napi(js_name = "__piNativesV16_3_14")]
+#[napi(js_name = "__piNativesV16_3_15")]
 pub const fn pi_natives_version_sentinel() {}
 
 /// Native module entry point: install crash diagnostics before any tool can
```

### package.json

modified · +12 −12

```diff
@@ -25,18 +25,18 @@
       "@huggingface/transformers": "^4.2.0",
       "@mozilla/readability": "^0.6.0",
       "@napi-rs/cli": "3.7.0",
-      "@oh-my-pi/hashline": "16.3.14",
-      "@oh-my-pi/omp-stats": "16.3.14",
-      "@oh-my-pi/pi-agent-core": "16.3.14",
-      "@oh-my-pi/pi-ai": "16.3.14",
-      "@oh-my-pi/pi-catalog": "16.3.14",
-      "@oh-my-pi/pi-coding-agent": "16.3.14",
-      "@oh-my-pi/pi-mnemopi": "16.3.14",
-      "@oh-my-pi/pi-natives": "16.3.14",
-      "@oh-my-pi/pi-tui": "16.3.14",
-      "@oh-my-pi/pi-utils": "16.3.14",
-      "@oh-my-pi/pi-wire": "16.3.14",
-      "@oh-my-pi/snapcompact": "16.3.14",
+      "@oh-my-pi/hashline": "16.3.15",
+      "@oh-my-pi/omp-stats": "16.3.15",
+      "@oh-my-pi/pi-agent-core": "16.3.15",
+      "@oh-my-pi/pi-ai": "16.3.15",
+      "@oh-my-pi/pi-catalog": "16.3.15",
+      "@oh-my-pi/pi-coding-agent": "16.3.15",
+      "@oh-my-pi/pi-mnemopi": "16.3.15",
+      "@oh-my-pi/pi-natives": "16.3.15",
+      "@oh-my-pi/pi-tui": "16.3.15",
+      "@oh-my-pi/pi-utils": "16.3.15",
+      "@oh-my-pi/pi-wire": "16.3.15",
+      "@oh-my-pi/snapcompact": "16.3.15",
       "@opentelemetry/api": "^1.9.1",
       "@opentelemetry/context-async-hooks": "^2.7.1",
       "@opentelemetry/exporter-trace-otlp-proto": "^0.218.0",
```

### packages/agent/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-agent-core",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "General-purpose agent with transport abstraction, state management, and attachment support",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/ai/CHANGELOG.md

modified · +2 −1

```diff
@@ -2,6 +2,8 @@
 
 ## [Unreleased]
 
+## [16.3.15] - 2026-07-09
+
 ### Breaking Changes
 
 - Renamed `OpenAIResponsesCacheOptions`, `normalizeOpenAIResponsesPromptCacheKey`, and `getOpenAIResponsesPromptCacheKey` to the endpoint-neutral `OpenAICacheOptions`, `normalizeOpenAIPromptCacheKey`, and `getOpenAIPromptCacheKey`.
@@ -20,7 +22,6 @@
 
 - Improved account routing for GPT-5.6 models to better respect paid tier requirements
 - Refined account selection logic to correctly identify plan types from account metadata
-
 - Fixed OpenAI Codex multi-account routing for GPT-5.6: Sol and Luna requests now prefer Plus-or-higher accounts while Terra remains available to Free/Go accounts; local pro-mode aliases inherit their base model's Codex plan eligibility.
 - Fixed xAI Grok OAuth login to use xAI's device authorization flow: `/login` now opens the verification URL, displays the device code, and polls for approval instead of asking for a pasted redirect or linking to Hermes Agent documentation.
 
```

### packages/ai/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-ai",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Unified LLM API with automatic model discovery and provider configuration",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/catalog/CHANGELOG.md

modified · +2 −2

```diff
@@ -2,10 +2,11 @@
 
 ## [Unreleased]
 
+## [16.3.15] - 2026-07-09
+
 ### Added
 
 - Added support for Grok 4.5 model
-
 - Added `gpt-5.6` base models and `gpt-5.6-{luna,sol,terra}-pro` variants
 - Added `meta/muse-spark-1.1` model support
 - Added support for thinking modes on `poolside/laguna` models
@@ -15,7 +16,6 @@
 
 - Updated cache read costs for Grok models
 - Reduced max token limit for Grok 4.3 model
-
 - Enabled prompt cache affinity for Grok models via the x-grok-conv-id header in OpenAI compatible endpoints
 - Enabled prompt cache affinity for Grok models via the x-grok-conv-id header
 - Marked direct xAI Grok Chat Completions models for `x-grok-conv-id` prompt-cache affinity.
```

### packages/catalog/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-catalog",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/coding-agent/CHANGELOG.md

modified · +2 −1

```diff
@@ -2,10 +2,11 @@
 
 ## [Unreleased]
 
+## [16.3.15] - 2026-07-09
+
 ### Changed
 
 - Integrated testing guidance directly into the main system prompt for improved workflow cohesion
-
 - Moved testing guidance into the main system prompt and removed the bundled Tester subagent.
 
 ## [16.3.14] - 2026-07-09
```

### packages/coding-agent/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-coding-agent",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Coding agent CLI with read, bash, edit, write tools and session management",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/hashline/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/hashline",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Hashline: a compact, line-anchored patch language and applier. Pluggable FS/IO so it works over disk, in-memory, or any custom backend.",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/mnemopi/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-mnemopi",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Local SQLite memory engine for Oh My Pi agents",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/natives/native/index.d.ts

modified · +1 −1

```diff
@@ -170,7 +170,7 @@ export declare function __ompInstallTokioRuntime(): void
  * `packages/natives/native/index.js` (which derives the name from
  * `package.json#version`).
  */
-export declare function __piNativesV16_3_14(): void
+export declare function __piNativesV16_3_15(): void
 
 /**
  * Apply conservative pre-execution rewrites to a bash command.
```

### packages/natives/native/index.js

modified · +1 −1

```diff
@@ -24,7 +24,7 @@ export const Shell = nativeBindings.Shell;
 
 // functions
 export const __ompInstallTokioRuntime = nativeBindings.__ompInstallTokioRuntime;
-export const __piNativesV16_3_14 = nativeBindings.__piNativesV16_3_14;
+export const __piNativesV16_3_15 = nativeBindings.__piNativesV16_3_15;
 export const applyBashFixups = nativeBindings.applyBashFixups;
 export const astEdit = nativeBindings.astEdit;
 export const astGrep = nativeBindings.astGrep;
```

### packages/natives/package.json

modified · +1 −1

```diff
@@ -1,6 +1,6 @@
 {
   "name": "@oh-my-pi/pi-natives",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Native Rust bindings for grep, clipboard, image processing, syntax highlighting, PTY, and shell operations via N-API",
   "type": "module",
   "homepage": "https://omp.sh",
```

### packages/snapcompact/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/snapcompact",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Bitmap-frame context compression for vision-capable LLMs",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/stats/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/omp-stats",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Local observability dashboard for pi AI usage statistics",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/swarm-extension/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/swarm-extension",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Swarm orchestration extension for omp",
   "homepage": "https://omp.sh",
   "author": "Derek Rynd",
```

### packages/tui/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-tui",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Terminal User Interface library with differential rendering for efficient text-based applications",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/utils/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-utils",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Shared utilities for pi packages",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```

### packages/wire/package.json

modified · +1 −1

```diff
@@ -1,7 +1,7 @@
 {
   "type": "module",
   "name": "@oh-my-pi/pi-wire",
-  "version": "16.3.14",
+  "version": "16.3.15",
   "description": "Shared wire protocol types for Oh My Pi packages",
   "homepage": "https://omp.sh",
   "author": "Can Boluk",
```