ruvnet-brain 3.9.132-dev β†’ 3.9.134-dev

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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # 🧠 RuvNet Brain
6
6
 
7
- ### 🧠 RuvNet Brain β€” [![RuvNet Brain version 3.9.132-dev β€” updated 2026-07-24 16:09 EDT](https://img.shields.io/badge/version_3.9.132--dev-updated_2026--07--24_16:09_EDT-1E90FF?style=for-the-badge&labelColor=0757BA)](https://github.com/stuinfla/ruvnet-brain/blob/main/plugin/.claude-plugin/plugin.json)
7
+ ### 🧠 RuvNet Brain β€” [![RuvNet Brain version 3.9.134-dev β€” updated 2026-07-24 16:09 EDT](https://img.shields.io/badge/version_3.9.134--dev-updated_2026--07--24_16:09_EDT-1E90FF?style=for-the-badge&labelColor=0757BA)](https://github.com/stuinfla/ruvnet-brain/blob/main/plugin/.claude-plugin/plugin.json)
8
8
 
9
9
  **A portable, source-grounded brain over Reuven Cohen's (rUv's) RuvNet stack β€” delivered as a Claude Code plugin that makes Claude _use_ the stack instead of fighting it.**
10
10
 
@@ -522,7 +522,7 @@ node forge-ask-all.mjs --dir . --q "How does RuVector implement HNSW vector sear
522
522
 
523
523
  This project versions in the open (see the live badge up top for the exact plugin version; the downloadable knowledge bundle is a separate track) β€” we don't claim β€œdone,” β€œcomplete,” or β€œzero hallucinations.” Where it stands:
524
524
 
525
- - βœ… **The grounding brain is real and proven** β€” 62 public stores Β· 150,163 public source chunks (69 built stores incl. private), dual embeddings, cross-encoder rerank, plugin (MCP tool + enforcement hook + skill), all re-runnable.
525
+ - βœ… **The grounding brain is real and proven** β€” 62 public stores Β· 151,033 public source chunks (69 built stores incl. private), dual embeddings, cross-encoder rerank, plugin (MCP tool + enforcement hook + skill), all re-runnable.
526
526
  - βœ… **Code-level depth** β€” the code-rich repos are indexed to full function bodies; β€œhow is it implemented?” returns the implementation. Verified in the shipped bundle (clean-room 3/3).
527
527
  - βœ… **Routing holds** β€” named 47/48, described 26/28, scenario 7/8; behavioral L1–L3 all pass (**L4 downgraded β€” it measures that the brain spoke, not that anything listened**); private stores fenced out of the public bundle (zero-leak verified).
528
528
  - ⚠️ **Two routing residuals** (above) β€” surfaced, not hidden.
package/bin/install.mjs CHANGED
@@ -687,7 +687,7 @@ function wirePlugin() {
687
687
  // THAT absolute server path is registered. Registering the npx dir would rot when the temp dir vanished.
688
688
  const CODEX_BLOCK_START = '# --- ruvnet-brain (managed block, installer-rewritten) ---';
689
689
  const CODEX_BLOCK_END = '# --- end ruvnet-brain ---';
690
- const codexHomeDir = () => path.join(os.homedir(), '.codex');
690
+ const codexHomeDir = () => process.env.CODEX_HOME || path.join(os.homedir(), '.codex');
691
691
  const codexConfigPath = () => path.join(codexHomeDir(), 'config.toml');
692
692
  const codexServerDir = () => path.join(os.homedir(), '.claude', 'ruvnet-brain', 'mcp');
693
693
  const codexHookWrapperPath = (codexDir = codexHomeDir()) =>
@@ -734,8 +734,9 @@ export function codexStatus({ configPath = codexConfigPath(), codexDir = codexHo
734
734
  if (!host) return { host: false, wired: false, serverPath: null, serverExists: false };
735
735
  let text = '';
736
736
  try { text = fs.readFileSync(configPath, 'utf8'); } catch { /* no config yet */ }
737
- const m = /^[ \t]*\[mcp_servers\.(?:ruvnet-brain|"ruvnet-brain"|'ruvnet-brain')\][^[]*?args\s*=\s*\[\s*"([^"]+)"/m.exec(text);
738
- const serverPath = m ? m[1] : null;
737
+ const m = /^[ \t]*\[mcp_servers\.(?:ruvnet-brain|"ruvnet-brain"|'ruvnet-brain')\][^[]*?args\s*=\s*\[\s*("(?:\\.|[^"\\])*")/m.exec(text);
738
+ let serverPath = null;
739
+ try { serverPath = m ? JSON.parse(m[1]) : null; } catch { /* malformed entry β€” treat as absent */ }
739
740
  let serverExists = false;
740
741
  try { serverExists = serverPath ? fs.existsSync(serverPath) : false; } catch { /* unreadable */ }
741
742
  return { host: true, wired: Boolean(serverPath) && serverExists, serverPath, serverExists };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ruvnet-brain",
3
- "version": "3.9.132-dev",
3
+ "version": "3.9.134-dev",
4
4
  "description": "One-command installer for RuvNet Brain β€” a portable, source-grounded brain over rUv's RuvNet building blocks, delivered as a Claude Code plugin so Claude uses the stack instead of fighting it.",
5
5
  "type": "module",
6
6
  "bin": {