ruvnet-brain 4.0.35 → 4.0.36
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 — [](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
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ruvnet-brain",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.36",
|
|
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": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ruvnet-brain",
|
|
3
3
|
"description": "RuvNet brain transplant for Claude Code — grounds every RuvNet decision in real source across 71 rUv repositories, prefers Ruflo / RuVector-RVF / AgentDB over training-prior defaults (pgvector, Pinecone, hand-rolled cosine), and can pull in any RuvNet repo on demand. Ships an enforced UserPromptSubmit retrieve-and-inject grounding hook that sharply reduces drift.",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.36",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Stuart Kerr"
|
|
7
7
|
},
|
|
@@ -70,6 +70,27 @@ export const VARIANTS = Object.freeze({
|
|
|
70
70
|
env: () => ({
|
|
71
71
|
RUVNET_STRICT_INSTALL: '1',
|
|
72
72
|
RUVNET_BRAIN_PROFILE: 'complete',
|
|
73
|
+
// A VIRGIN AUTOMATED HOME CAN NEVER HAVE RECORDED CODEX HOOK TRUST (fixed 2026-08-08).
|
|
74
|
+
//
|
|
75
|
+
// The staged variant above has carried this since it was written; the published variant did
|
|
76
|
+
// not, and that asymmetry failed the post-publication seal on EVERY release. The doctor ran
|
|
77
|
+
// green on everything that matters — "✓ Healthy", "✓ Grounding PROVEN", "✓ Self-check passed",
|
|
78
|
+
// 17 hook registrations across 68 firings — and then exited non-zero on the one condition a
|
|
79
|
+
// fixture cannot satisfy:
|
|
80
|
+
//
|
|
81
|
+
// ! Codex installed the Brain, but 17 lifecycle hooks await review.
|
|
82
|
+
// Fix: Start a fresh Codex session, run /hooks, and trust ruvnet-brain@ruvnet-brain.
|
|
83
|
+
//
|
|
84
|
+
// That instruction is correct for a human and impossible for a runner: hook trust is recorded
|
|
85
|
+
// interactively. So each release published both channels successfully and then reported
|
|
86
|
+
// failure, which is the exact "gate reporting something other than what it measured" pattern
|
|
87
|
+
// this repo has spent a week removing — and worse here, because it made a GOOD release look bad.
|
|
88
|
+
//
|
|
89
|
+
// This does NOT weaken the check. install.mjs:1994 documents the bypass as executing the real
|
|
90
|
+
// hook commands "without pretending a fresh interactive user has already reviewed them", and
|
|
91
|
+
// the hooks still run — 68 firings, all inside contract. Only the pending-trust verdict is
|
|
92
|
+
// waived, and only for an automated fixture. End-user doctor runs remain fail-closed.
|
|
93
|
+
RUVNET_CODEX_HOOK_TRUST_MODE: 'bypass',
|
|
73
94
|
}),
|
|
74
95
|
}),
|
|
75
96
|
});
|
|
@@ -14,7 +14,7 @@ import { spawn, spawnSync } from 'node:child_process';
|
|
|
14
14
|
// `fixtures.claude` described the same fixture and nothing could tell. The richer
|
|
15
15
|
// post-publication proofs below (payload assertions, MCP wiring, SOURCE.json, rpcSearch)
|
|
16
16
|
// stay here — they are this side's job, not duplication.
|
|
17
|
-
import { HOST_MODES, RECEIPT_MODE_NAMES, MODE_FROM_RECEIPT_NAME, classifyDoctor } from './host-install-matrix.mjs';
|
|
17
|
+
import { HOST_MODES, RECEIPT_MODE_NAMES, MODE_FROM_RECEIPT_NAME, classifyDoctor, VARIANTS } from './host-install-matrix.mjs';
|
|
18
18
|
import { pathToFileURL } from 'node:url';
|
|
19
19
|
import { evaluateCandidateReceipt, evaluatePublicationReceipt } from './release-proof.mjs';
|
|
20
20
|
import { verifyPayload } from './release-payload.mjs';
|
|
@@ -232,8 +232,12 @@ export function livePublicationAdapter({ root = process.cwd() } = {}) {
|
|
|
232
232
|
CODEX_HOME: codexHome,
|
|
233
233
|
RUVNET_BRAIN_HOME: brainHome,
|
|
234
234
|
RUVNET_BRAIN_KB: kb,
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
// Env comes from the ONE variant table (host-install-matrix VARIANTS.published), not a
|
|
236
|
+
// second hand-written copy — this file's own header promises "ONE doctor rule and ONE mode
|
|
237
|
+
// vocabulary, shared with the staged-side check", and the copy had already drifted: it
|
|
238
|
+
// omitted the Codex hook-trust bypass the staged side carries, which failed the seal on
|
|
239
|
+
// every release.
|
|
240
|
+
...VARIANTS.published.env({ packageRoot }),
|
|
237
241
|
CI: 'true',
|
|
238
242
|
PATH: isolatedPath(mode, temp),
|
|
239
243
|
};
|