mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-08-07 07:43:52 +00:00
* fix(sona): wire WASM learn-to-inference loop; single-step gradient fallback (#519) start_trajectory/record_step/end_trajectory now drive real TrajectoryBuilders through SonaEngine instead of console.log stubs; learn_from_feedback synthesizes a one-step trajectory and flushes so a single feedback call updates MicroLoRA weights. LearningSignal::estimate_gradient falls back to baseline-free REINFORCE only when the baselined gradient is exactly zero (single-step / constant-reward trajectories), leaving multi-step varying-reward behavior unchanged. 3 regression tests added. Co-Authored-By: claude-flow <ruv@ruv.net> * fix(ruvector): force-learn crash and learned-route namespace mismatch (#529, #517) force-learn: stop calling intel.tick() on the engine-less Intelligence wrapper (TypeError); use the native engine forceLearn()/tick() like the MCP handler does, degrade to success:false + exit 0 when the engine is unavailable, never throw (#529). route learning: Q-patterns were written as command/edit outcome episodes under state keys route() never queries, so routing always returned default mapping. Add recordRouteOutcome() writing agent outcomes under the exact getState() key route() reads; trajectory-end now closes the loop (and trajectory-begin gains --file); Intelligence.load() preserves activeTrajectories so cross-process trajectories survive; sync route() uses the canonical state key and includes learned agents in candidates (#517). New test suite tests/hooks-route-learning.test.mjs. Co-Authored-By: claude-flow <ruv@ruv.net> * fix(sona-npm): guard publish against missing build output; bump to 0.1.7 (#516) 0.1.6 shipped with only README + package.json because index.js/index.d.ts are napi build artifacts absent at publish time and npm silently skips missing `files` entries. Add a prepublishOnly check that hard-fails without build output; bump platform optionalDependencies 0.1.4 -> 0.1.5 (latest published for all 7 targets). CI had the same latent gap: sona-napi.yml only staged .node artifacts for publish — now uploads index.js/index.d.ts as a js-bindings artifact and verifies presence before npm publish. Co-Authored-By: claude-flow <ruv@ruv.net> * style(sona): rustfmt the #519 regression tests Co-Authored-By: claude-flow <ruv@ruv.net> --------- Co-authored-by: ruv <ruvnet@users.noreply.github.com>
83 lines
No EOL
2.8 KiB
JSON
83 lines
No EOL
2.8 KiB
JSON
{
|
|
"name": "@ruvector/sona",
|
|
"version": "0.1.7",
|
|
"description": "Self-Optimizing Neural Architecture (SONA) - Runtime-adaptive learning with LoRA, EWC++, and ReasoningBank for LLM routers and AI systems. Sub-millisecond learning overhead, WASM and Node.js support.",
|
|
"main": "index.js",
|
|
"types": "index.d.ts",
|
|
"napi": {
|
|
"binaryName": "sona",
|
|
"targets": [
|
|
"x86_64-unknown-linux-gnu",
|
|
"x86_64-unknown-linux-musl",
|
|
"aarch64-unknown-linux-gnu",
|
|
"x86_64-apple-darwin",
|
|
"aarch64-apple-darwin",
|
|
"x86_64-pc-windows-msvc",
|
|
"aarch64-pc-windows-msvc"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"artifacts": "napi artifacts",
|
|
"build": "napi build --platform --release -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi",
|
|
"build:debug": "napi build --platform -p ruvector-sona --cargo-cwd ../../../crates/sona --features napi",
|
|
"prepublishOnly": "node -e \"const fs=require('fs');const missing=['index.js','index.d.ts'].filter(f=>!fs.existsSync(f));if(missing.length){console.error('ERROR: cannot publish @ruvector/sona: missing build output: '+missing.join(', ')+'. Run npm run build first (napi build against crates/sona, requires cargo + @napi-rs/cli). npm silently skips missing files entries, which is how the broken 0.1.6 tarball shipped.');process.exit(1)}if(!fs.readdirSync('.').some(f=>f.endsWith('.node'))){console.warn('WARNING: no local .node binary found; installs will rely solely on @ruvector/sona-* optionalDependencies.')}\"",
|
|
"test": "node --test",
|
|
"universal": "napi universal",
|
|
"version": "napi version"
|
|
},
|
|
"devDependencies": {
|
|
"@napi-rs/cli": "^2.18.0"
|
|
},
|
|
"keywords": [
|
|
"sona",
|
|
"neural-network",
|
|
"adaptive-learning",
|
|
"lora",
|
|
"low-rank-adaptation",
|
|
"ewc",
|
|
"elastic-weight-consolidation",
|
|
"reasoningbank",
|
|
"llm",
|
|
"llm-router",
|
|
"machine-learning",
|
|
"ai",
|
|
"deep-learning",
|
|
"continual-learning",
|
|
"napi",
|
|
"rust",
|
|
"ruvector"
|
|
],
|
|
"author": "rUv Team <team@ruv.io>",
|
|
"license": "MIT OR Apache-2.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/ruvnet/ruvector.git",
|
|
"directory": "npm/packages/sona"
|
|
},
|
|
"homepage": "https://github.com/ruvnet/ruvector/tree/main/crates/sona",
|
|
"bugs": {
|
|
"url": "https://github.com/ruvnet/ruvector/issues"
|
|
},
|
|
"engines": {
|
|
"node": ">= 16"
|
|
},
|
|
"publishConfig": {
|
|
"registry": "https://registry.npmjs.org/",
|
|
"access": "public"
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"index.d.ts",
|
|
"README.md",
|
|
"*.node"
|
|
],
|
|
"optionalDependencies": {
|
|
"@ruvector/sona-linux-x64-gnu": "0.1.5",
|
|
"@ruvector/sona-linux-x64-musl": "0.1.5",
|
|
"@ruvector/sona-linux-arm64-gnu": "0.1.5",
|
|
"@ruvector/sona-darwin-x64": "0.1.5",
|
|
"@ruvector/sona-darwin-arm64": "0.1.5",
|
|
"@ruvector/sona-win32-x64-msvc": "0.1.5",
|
|
"@ruvector/sona-win32-arm64-msvc": "0.1.5"
|
|
}
|
|
} |