Commit graph

3040 commits

Author SHA1 Message Date
ruv
677490aae3 fix(frozen-weights-check): string-aware comment stripping + scan-coverage hardening (PR #869 audit)
Addresses the PR #869 security audit (1 MEDIUM, 2 LOW/informational):

MEDIUM — stripComments was not string-aware: a // inside a quoted string
was treated as a line comment, so URL-form references
("https://hf.co/repo/model.safetensors", "file://models/x.gguf",
"http://internal/finetune") evaded the model-file-reference and
generic-finetune rules. Replaced the regex strip with a per-language
character scan that tracks quote state (js-like: ' " ` incl. template
literals with counted ${} nesting and backslash escapes; rust: " only —
' deliberately ignored so lifetimes cannot desynchronize the scan, plus
nested block comments; python: # + ' " and triple quotes; shell: # only
at word start, ' without escapes, " with). Comments are stripped only
outside strings; residual stripper edges (js regex literals with //,
rust char-literal " / raw strings) are documented and are all in the
false-positive direction — they can never hide a token. Self-test gains
the auditor's three URL fixtures (must flag), a comment-containing-URL
case and a .sh comment case (must NOT flag), and the single-slash
"ruvllm/training" import regression case (still flags).

LOW hardening — SCAN_EXT now includes .py and .sh; dist removed from
SKIP_DIRS (committed build output is what executes). Real-tree scan
stays clean: 25 files across the 3 surfaces, 0 hits — no committed
dist/ or vendored code exists under the surfaces today, so no scoping
carve-out was needed. Self-test covers .py/.sh violations and a
violation under dist/. fixtures/ and node_modules/ remain skipped by
convention, stated in the header.

Accepted residuals documented in the script header and shaperLoop.ts
module docs: the capability gate fires on a self-declared
capabilityDelta until WP11 wires independent extraction (evaluation is
not promotion — human + vetoes still gate); the model-hash binding is
record-only until WP12's day-0/day-30 re-hash.

Self-test: 23/23 assertions pass. Harness suite: 26/26 pass.

Refs #841, PR #869 audit.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 09:11:30 -04:00
ruv
fcd55544ce feat(sota-harness): SHAPER-pattern frozen-weight evolution loop skeleton (PIR WP9, ADR-313)
First shippable slice of the WP9 skill/harness evolution loop (#841),
following SHAPER (arXiv:2608.11350): frozen model as both planner and
optimizer; only skills, context, and the execution harness evolve.

- scripts/frozen-weights-check.mjs: structural (CI-enforced, not policy)
  frozen-weights gate. Scans the loop's mutation surfaces (harness/src,
  examples/mragent, sona darwin_guard.rs) against a 9-entry deny-list
  built from crates/ruvllm's real training entry points (training/, qat/,
  lora/, pretrain pipelines, weight writers, model-file references, MCP
  weight-mutation tools), each entry documented with why + in-repo anchor.
  Symlink/error hardening matches adr-index.mjs (PR #857 lessons); a
  missing surface directory fails loudly; --self-test builds adversarial
  positive/negative fixtures. Wired into CI as its own job.
- harness/src/genome.ts: ADR-313's mutation-surface enumeration as a
  closed type union (skills | context | harness — weights unrepresentable),
  FrozenModelRef with loop-start sha256, and the ADR-315 capability-
  expansion boundary with a constitutional gate stub (models autogenous
  promoteAuthorized's authorized conjunct; blocks by default; WP11
  integration point).
- harness/src/shaperLoop.ts: one-generation orchestration
  propose (reusing Darwin/GEPA via runRuvectorGepa) -> evaluate (existing
  WP2 dreamMachine.ts adapter) -> verdict -> promotion RECOMMENDATION via
  the existing vetoes path. Same FrozenModelRef instance serves planner
  and optimizer (config-tested); capability-expanding candidates are gated
  before evaluation and blocked; constitutional boundary identical to
  WP2's (no promote/merge export, frozen data result, test-asserted).
- tests: full synthetic generation, regression block, capability-expansion
  block, weights-surface rejection, no-promotion-export assertion, GEPA
  proposer reuse, frozen-weights check real-run + self-test. Suite:
  26 passing (17 existing + 9 new).

Refs #841, #837. ADR-313, ADR-315, ADR-306.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 09:00:46 -04:00
rUv
33ad5d4345
Merge pull request #860 from ruvnet/fix/pir-wp0b-gguf-download
fix(ruvllm-cli): resolve GGUF globs via HF file listing + alias routing (PIR WP0b)
2026-08-20 08:49:42 -04:00
rUv
db6199e278
Merge pull request #857 from ruvnet/fix/pir-wp0a-adr-hygiene
docs(adr): numbering hygiene — freeze duplicates, canonical index + collision check (PIR WP0a)
2026-08-20 08:44:11 -04:00
ruv
8ff3e7c8f7 fix(ruvllm-cli): keep HF_TOKEN off curl argv + guard remote paths (PR #860 security review)
Addresses both Phase-4 security findings on the GGUF download curl
fallbacks (crates/ruvllm-cli/src/commands/download.rs):

- MED (CWE-214): the Authorization: Bearer header was passed as a curl
  -H argument, leaving HF_TOKEN world-readable via ps / /proc/<pid>/cmdline
  for the curl process lifetime. Both call sites (download_via_curl and
  list_files_via_curl) now pass the header through a curl config fed on
  stdin (--config -), built by curl_auth_config() which escapes quotes,
  backslashes, and CR/LF so a hostile token value cannot inject extra
  config directives. Behavior when HF_TOKEN is unset is unchanged (no
  config, no --config flag).

- LOW: remote-controlled file names from the HF tree/siblings listing
  were joined into the cache path unchecked. validate_remote_file_name()
  rejects empty names and any non-Normal component (absolute, .., .,
  prefixes) before the join, and ensure_under_cache_dir() verifies the
  canonicalized parent still resolves under the model cache dir after
  create_dir_all.

Tests: 5 new unit tests (hostile-name rejection incl. "../x", "/abs",
"a/../../x"; containment check; curl config content + escaping);
all 31 pass, clippy and fmt clean. Manually verified `ruvllm download
hf-internal-testing/tiny-random-gpt2 --quantization none` end-to-end and
that --config-on-stdin delivers the Authorization header.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 08:40:40 -04:00
ruv
af2a3f7dea fix(adr-index): harden traversal against symlinks, hostile filenames, adversarial trees (Phase-4 security review)
Addresses all four findings from the Phase-4 security audit on PR #857:

- MED (symlink following): walk() now uses readdirSync(withFileTypes)
  and never follows symlinks — file or directory — skipping each with a
  warning. Belt-and-braces: every kept entry is realpath-asserted to
  resolve inside docs/adr/, so a committed symlink can no longer inline
  outside content into INDEX.md or move the allocation counter.
- MED (fragile traversal): per-entry try/catch with skip+warn for broken
  symlinks / EACCES / unresolvable entries, a visited-realpath set guards
  cycles, and the top-level dispatch is wrapped so --check fails with
  "adr-index: fatal: <msg>" instead of a raw stack trace.
- LOW (markdown injection): slug and rel are now routed through
  mdCell/mdLinkText (escaping |, [, ]) and link targets go through
  encodeURI plus %28/%29 for parens, so a filename containing
  "|", "](", "[..](..)" can no longer break the table or forge links.
- INFO (Windows fail-open): abs.split('/') replaced with path.basename /
  path.relative + sep-normalized display paths, so --check cannot pass
  vacuously on Windows. Also: Math.max(...) -> reduce (no -Infinity on
  an empty set).

Adds `node scripts/adr-index.mjs --self-test`: builds an adversarial
fixture tree in a temp dir (outside-tree file symlink, escaping directory
symlink, broken symlink, symlink loop, hostile "|]()"-laden filename),
runs the script against it as a subprocess, and asserts 12 properties:
symlinks skipped with warnings, no stack trace, hostile row escaped,
link target URI-encoded, counter unaffected.

Regenerating INDEX.md after these changes produces no diff (all current
filenames are benign), and `--check` still passes: 348 ADR files, next
available ADR-317.

Note: CI wiring (a workflow step invoking --check) should land only
after this commit, per the audit — this commit is what makes the gate
safe to expose to PR-controlled trees.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 08:39:24 -04:00
rUv
79661809ba
Merge pull request #856 from ruvnet/feat/pir-wp2-dream-machine
feat(sota-harness): adopt dream-machine engine as evaluation stage (PIR WP2, ADR-306)
2026-08-20 08:37:22 -04:00
ruv
4887f75276 Merge origin/main into feat/pir-wp2-dream-machine
Some checks failed
ruvector-verified CI / check () (push) Has been cancelled
ruvector-verified CI / check (--all-features) (push) Has been cancelled
ruvector-verified CI / check (--features all-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features coherence-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features hnsw-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features rvf-proofs) (push) Has been cancelled
ruvector-verified CI / check (--features serde) (push) Has been cancelled
ruvector-verified CI / check (--features ultra) (push) Has been cancelled
ruvector-verified CI / clippy (push) Has been cancelled
SOTA Benchmark (Tier 1 Smoke) / SOTA Smoke (Tier 1) (push) Has been cancelled
SOTA Benchmark (Tier 1 Smoke) / SOTA Full Run (Tier 2, on demand) (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
Resolve harness package.json conflict: keep the nine @metaharness pins
bumped by #855 (darwin ^0.9.1, flywheel ^0.1.10, harness ^0.2.0,
redblue ^0.1.6, router ^0.4.0, weight-eft ^0.1.1, workspace-lens ^0.1.2,
workspace-probe ^0.1.1, metaharness ^0.4.7) AND the dream-machine@0.1.1
exact pin from this branch. Lockfile regenerated from main's version via
npm install. All 17 harness tests (12 base + 5 dream-machine adapter)
pass against the bumped metaharness versions.

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 08:36:18 -04:00
rUv
51951d911c
Merge pull request #861 from ruvnet/fix/pir-workspace-membership
fix(workspace): add orphan crates to workspace, add membership guard (PIR #859)
2026-08-20 08:32:57 -04:00
rUv
e3411c0314
Merge pull request #855 from ruvnet/fix/pir-wp0a-metaharness-optional-deps
fix(ruvector): make @metaharness packages optional per ADR-150 invariant; align sota-bench harness pins (PIR WP0a)
2026-08-20 08:32:51 -04:00
ruv
f7cc52aebb fix(workspace): add orphan crates to workspace, add membership guard (PIR #859)
12 crates under crates/ had a Cargo.toml but were neither workspace
members nor excluded, so their tests never ran in CI. Disposition:

Added to members (build and test green):
- ruvector-agent-memory (also added by PR #858; duplicate entries merge
  cleanly, whichever lands second can drop one)
- ruvector-bet4-ivf-bench
- ruvector-hnsw-repair
- ruvector-temporal-tensor-wasm

Added to exclude with per-crate reasons (do not build — see #859):
- agentic-robotics-{core,rt,embedded,mcp,node,benchmarks}: authored
  against a different workspace root; workspace.package/dep inheritance
  fails at manifest parse
- ruvector-attention-cli: 51 compile errors, API drift vs
  ruvector-attention 2.x plus missing bincode dep
- ruvector-sparse-inference-wasm: 11 compile errors, API drift vs
  ruvector-sparse-inference

scripts/workspace-check.mjs is the backstop: it fails when any
crates/**/Cargo.toml is neither a member, nor excluded, nor under its
own [workspace] (and flags member entries with no manifest on disk).
Wired into Workspace CI as a fast Node-only job. The workspace keeps
literal members entries (no crates/* glob): membership stays an
explicit, reviewable decision, and the guard makes silent orphaning
impossible.

Refs #859, #837

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_012Jib2gQyJpqCoo2xYAbb4X
2026-08-20 08:22:28 -04:00
github-actions[bot]
7b38d0bdd2 chore: Update NAPI-RS binaries for all platforms
Some checks are pending
Workspace CI / Tests (ruvix) (push) Waiting to run
Workspace CI / Tests (rvagent) (push) Waiting to run
Workspace CI / Tests (vector-index) (push) Waiting to run
Workspace CI / Security audit (push) Waiting to run
Clippy + fmt / Clippy (deny warnings) (push) Waiting to run
Clippy + fmt / Rustfmt (push) Waiting to run
regression-guard / reentrant-rwlock-double-write (push) Waiting to run
regression-guard / case-insensitive-collisions (push) Waiting to run
regression-guard / ruvector-core-no-avx512-builds-on-stable (push) Waiting to run
regression-guard / hnsw-recall-at-1 (push) Waiting to run
regression-guard / hnsw-insert-beam-no-m2-clamp (push) Waiting to run
regression-guard / hnsw-distance-based-neighbor-pruning (push) Waiting to run
regression-guard / vector-db-rebuilds-index-on-open (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/pi-brain) (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/ruvector) (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/rvf-wasm) (push) Waiting to run
regression-guard / no-npx-execSync-in-route-enhanced (push) Waiting to run
regression-guard / shell-injection-in-mcp-server (push) Waiting to run
regression-guard / no-systemtime-in-wasm-crates (push) Waiting to run
regression-guard / no-hardcoded-workspaces-paths (push) Waiting to run
regression-guard / brain-hydration-counters-present (push) Waiting to run
regression-guard / optional-deps-resolvable-on-npm (push) Waiting to run
regression-guard / graph-condense-perception-tests (push) Waiting to run
regression-guard / mincut-pin-tracks-workspace-version (push) Waiting to run
supply-chain / dependency-review (PRs only) (push) Waiting to run
supply-chain / cargo audit (RustSec advisories) (push) Waiting to run
supply-chain / cargo deny (license + source + ban policy) (push) Waiting to run
supply-chain / npm audit (npm/ workspace) (push) Waiting to run
supply-chain / lockfile integrity (Cargo.lock) (push) Waiting to run
WASM Dedup Check / check-wasm-dedup (push) Waiting to run
Built from commit 0049892cb5

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-20 02:10:30 +00:00
ruv
19bc919aaa fix(ruvllm-cli): resolve GGUF globs via HF file listing + alias routing (PIR WP0b, #846)
GGUF weight downloads failed two ways (deferred in 946275a61, blocks WP9 #841):

1. get_files_to_download() pushed an unexpanded glob ("*Q4_K_M.gguf") that was
   sent to HF as a literal filename -> 404. Now the repo's actual file list is
   fetched (hf-hub ApiRepo::info(), with a curl fallback against
   GET /api/models/<id>/tree/<rev> in the same HF_TOKEN-honoring idiom as the
   307-redirect fix) and the quant pattern is matched against real filenames.
   Multi-part GGUF (…-q4_k_m-00001-of-00003.gguf) is handled — all parts are
   downloaded in order — because the flagship `qwen` alias (Qwen2.5-14B) only
   ships Q4_K_M as a 3-part split; failing on multi-part would leave the
   primary model unusable. Matching is case-insensitive and accepts per-preset
   spelling variants (f16/fp16). Aux files (tokenizer.json etc.) are filtered
   by the listing, so GGUF-only repos no longer fail on files they don't have.

2. The `phi` alias maps to microsoft/Phi-4-mini-instruct (safetensors-only),
   yet the default q4k quant forced the GGUF path. The registry gains an
   optional gguf_repo twin (bartowski GGUF repos for phi/mistral/llama; all
   verified live against the HF tree API) and resolve_weights_repo() routes
   quantized requests there. chat/serve use the same resolution so the cache
   key matches download's. Repos with no GGUF files and no twin now fail
   early with the repo's actual file inventory and an actionable hint,
   instead of a 404 on a glob.

ADR-259's "Honest gap" is updated: the 307 redirect was fixed 2026-06-18
(946275a61, PR #590); this closes the remaining GGUF gap.

Tests: 11 new unit tests (tree-JSON fixture parsing, multi-part glob
expansion + ordering, uppercase/lowercase naming, fp16 variant, no-GGUF and
missing-quant error listings, aux filtering, alias-routing decisions).
Verified live: `download microsoft/Phi-4-mini-instruct` routes to the twin
and fetches the real 2.5GB Q4_K_M; `download microsoft/phi-2` fails early
listing available files.

Refs #846, #841, ADR-259.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:52:55 -04:00
ruv
6bc3d1d906 docs(adr): numbering hygiene — freeze duplicates, canonical index + collision check (PIR WP0a)
Verified ground truth on origin/main: 336 ADR files (289 plain-counter,
47 namespaced), 27 duplicated plain numbers spanning 61 files
(ADR-272 x5; ADR-264/252/194/144 x3; 22 numbers x2). Corrects issue
#845's ~15+ estimate and its ADR-040 x3 claim — 040/040a/040b is the
intentional sub-ADR convention, not a collision.

- ADR-316: policy — duplicates are frozen historical artifacts, never
  renamed; cite duplicated numbers as "ADR-NNN (slug)"; new numbers
  come from a single canonical counter whose source of truth is the
  generated index. 316 chosen because 305-315 are claimed on
  feat/pir-adrs (PR #847).
- docs/adr/INDEX.md: generated canonical index with next-available
  number header, per-file title/path/date/status and DUPLICATE flags.
- scripts/adr-index.mjs: regenerates the index; --check exits nonzero
  on any duplicate outside the frozen list (CI gate for #845).

Refs #845, #837

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:49:20 -04:00
rUv
0049892cb5
docs(adr): Perpetual Intelligence Runtime ADRs (PIR program) (#847)
docs(adr): Perpetual Intelligence Runtime ADRs
2026-08-19 21:47:52 -04:00
ruv
9f11cae541 docs(adr): resolve ADR-150 to ruflo (not unverified), fix signing-domain count
B-3 residual from the re-review: the optionalDependencies policy
METAHARNESS-README.md attributes to an "upstream ADR-150" is not
unresolvable — it's ruflo's own ADR-150
(v3/docs/adr/ADR-150-metaharness-integration-surfaces.md, "MetaHarness
Integration Surfaces in npx ruflo," Status: Implemented, 2026-06-16),
whose rule 2 is verbatim the optionalDependencies policy in question,
and whose rule 4 (a CI job on the --ignore-optional install path) is a
stronger, CI-testable acceptance criterion than a plain npm install
check. Fixed in all five places the review flagged: ADR-313's Related
line and Context, ADR-306's version-drift note, 03-program-plan.md's
WP0b description and its GitHub issue-breakdown body, and the
verification addendum's section 8c — replacing "does not resolve /
unverified" with the confirmed source and citing rule 4 as WP0b's
acceptance criterion. Noted this as the fourth instance of the same
wrong-repo-ADR-number pattern this program keeps catching (ADR-103,
"metaharness ADR-322", "metaharness ADR-251", and now this one).

Also fixes two nits from the same re-review:
- ADR-312's Context and the addendum's section 8d overcounted ruflo
  ADR-322C's signing domains as three; it defines two Ed25519 signing
  domains (flywheel-receipt, flywheel-ledger-head) plus a third,
  non-signing domain-separated prefix that seeds the deterministic
  paired bootstrap's statistics. Corrected in both places, and the
  addendum's "ADR-381 needed two corrections" is relabeled "three"
  to match the (a)/(b)/(c) list that follows it.
- ADR-315 now cites governing invariant 7 (ruflo ADR-322B's
  separation-of-powers rule, adopted in ADR-305) in its Related line,
  Decision, and Security Gates — it was previously named as bound by
  the invariant in ADR-305 and 03-program-plan.md without the
  reciprocal reference.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:44:09 -04:00
ruv
cb5381f6f5 test(ruvector): add ruflo ADR-150 optional-deps compliance guard
Upstream ADR-150 has been located and verified: ruflo's
v3/docs/adr/ADR-150-metaharness-integration-surfaces.md (Status:
Implemented, 2026-06-16). Rule 2 verbatim: '@metaharness/* packages
MUST appear in optionalDependencies or peerDependencies (optional),
never in dependencies'. Cite it directly in the bridge comment and
error message instead of the previous 'unverified upstream' hedge.

Per rule 4 (package must work on an --ignore-optional install path),
add test/metaharness-optional-deps.js to the chained suite:
(a) parses package.json and asserts all nine MetaHarness packages
    appear only in optionalDependencies/peerDependencies (optional),
    never in dependencies;
(b) codifies the absence simulation: loads a copy of the compiled
    bridge from a scratch dir with no reachable node_modules, asserts
    getMetaHarnessCapabilities() degrades to available:false for all
    nine, and that a MetaHarness-backed call rejects with
    ERR_METAHARNESS_OPTIONAL_MISSING naming the missing package.

Full suite (now 13 chained test files) passes.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:42:06 -04:00
ruv
7d0daa63eb docs(research): fix remaining stale metaharness ADR-251 references in §6
asset-scout's second spot-check of the addendum found the same
back-propagation gap that hit §5 (ADR-381) also hit §6: two references to
"metaharness ADR-251" were not updated when §8b resolved that citation as
nonexistent. The first (dream-machine ADR-0001's "prior instances" claim)
read as an unqualified assertion; the second listed "ruvnet/metaharness
ADR-251" as one of the "four places" Dream Machine exists, which is a real
error since that document does not exist — the real fourth location is
ruvnet/metaharness's docs/dream-cycle/ directory.

Both now carry the correction inline (with a pointer to §8b) instead of
only being fixed in the later section. Grepped the rest of the file for
the same class of issue (stale "metaharness ADR-322", the LatentMesh
2026-08-19 date, and the autogenous 14-crate count) — none of those have
an unqualified stale twin elsewhere in the document.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:37:33 -04:00
ruv
55a32c76ef docs(research): fix stale ADR-381 paragraph in verification addendum
asset-scout spot-checked commit 313543ace and found the ADRs themselves
correct, but 04-verification-addendum.md section 5 still carried the
pre-correction phrasing: it said ruflo ADR-381 "defines" the sequential
promotion-evidence scheme, omitted that ADR-381 is Proposed (not
Accepted), and dropped the per-epoch qualifier on the 0.6% false-promotion
bound. Section 8d already had the correct facts, so the same document
contradicted itself depending on which section a reader hit first.

Rewrites the section 5 paragraph to attribute the mechanism to PR #2956
and ADR-381's role to governance over it, per-epoch bound included, with
a pointer to section 8d. Also expands section 8b with the exact upstream
source (dream-machine ADR-0001 line 9) of the "metaharness ADR-251"
citation, so a future reader doesn't "fix" ADR-306 back to the wrong
citation on the assumption an ADR-internal reference must already be
resolved.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:35:40 -04:00
ruv
7121bf6672 chore(sota-harness): bump @metaharness pins to match ruvector package (PIR WP0a)
Align crates/ruvector-sota-bench/harness — the direct Darwin consumer —
with the versions the ruvector npm package now targets, closing the
version split that would block WP2's dream-machine integration
(which composes darwin 0.9.x / flywheel 0.1.10):

  darwin ^0.9.1 (installs 0.9.2), flywheel ^0.1.10, harness ^0.2.0,
  redblue ^0.1.6, router ^0.4.0, workspace-lens ^0.1.2,
  metaharness ^0.4.7; weight-eft / workspace-probe stay ^0.1.1.

This package is private, so plain dependencies remain appropriate —
only the versions change. Full suite (7 node --test files, 12 tests,
including the Darwin GEPA suite and capability probes) passes on the
bumped versions.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:33:02 -04:00
ruv
313543ace3 docs(adr): address PR #847 review — fix cross-repo citations, rescope ADR-315
Fixes three blocking findings and several non-blocking ones from
adr-reviewer's adversarial review of the PIR ADR set, cross-checked
against direct clones of ruvnet/LatentMesh, ruvnet/autogenous,
ruvnet/dream-machine, ruvnet/metaharness, and ruvnet/ruflo:

- B-1: ADR-315 and ADR-305 wrongly treated autogenous ADR-401's
  Better/Safe/Authorized/Reversible promotion predicate as open work.
  ADR-401's Update 1 section 3 marks it DONE upstream
  (mesh-evolve.ts's promoteAuthorized, proven by
  test/promote-authorized.test.ts) — the capability-table row cited
  was stale relative to ADR-401's own Decision section. ADR-315 now
  adopts promoteAuthorized instead of scoping work to close it.
- B-2: "metaharness ADR-251" does not exist (metaharness's ADR series
  tops out at ADR-250; the Nightly Dream Cycle lives in
  docs/dream-cycle/, not an ADR). ADR-306's four citations now point
  at docs/dream-cycle/ and note the bad citation's provenance
  (inherited from dream-machine ADR-0001) instead of restating it as
  fact.
- B-3: "ruvector ADR-150 (optionalDependencies policy)" was a
  misattribution — ruvector's own ADR-150 and metaharness's own
  ADR-150 are both unrelated documents; METAHARNESS-README.md
  attributes the policy to an upstream ADR-150 neither clone
  contains. Every reference (ADR-306, ADR-313, 03-program-plan.md)
  now cites METAHARNESS-README.md's documented invariant directly,
  with the upstream attribution flagged unverified.

Also fixed in the same push:
- ADR-313's WP0b gate: the ruvllm HTTP-307 redirect bug is already
  fixed on main (commit 946275a61, PR #590, 2026-06-18); the real
  remaining blocker is a GGUF glob/alias mismatch in ruvllm-cli's
  get_files_to_download() (download.rs:193, models.rs:65).
- 03-program-plan.md: recorded the 7th governing invariant
  (ruflo ADR-322B's proposer/promotion separation, adopted in
  ADR-305) that was missing from the "six, unchanged" list; reworded
  ADR-list items 0 and 12 as work-package-only entries so the plan's
  promised ADR count (11) matches what shipped.
- ADR-306 now attributes "the machine never merges; a human does" to
  dream-machine's README (verbatim source) rather than claiming it
  verbatim from ADR-0001, whose own section 2.4 phrases the same
  substance differently.
- ADR-306/310/312 replace the ruflo ADR-322/322C citations with
  source-verified detail (three signing domains, evidence-grading
  vocabulary, verbatim 322B quote) now that a full ruflo clone
  confirmed them, and correct ADR-381: it is Proposed, not Accepted,
  and its own contribution is stream-identity/budget-epoch-reset
  governance — the 0.6% false-promotion figure and the alpha_k
  allocation belong to ruflo PR #2956's mechanism, which ADR-381
  governs. Every family-wise bound is now stated per-epoch, not
  globally, per ADR-381's own text.
- ADR-305 adds a standing fix-history verification rule: an inherited
  "known bug/gap/not-yet-implemented" claim must be checked against
  the named path's actual fix history before being repeated in a PIR
  ADR — the root cause shared by all three blocking findings above.

docs/research/perpetual-intelligence-runtime/04-verification-addendum.md
records the full correction trail (new section 8) without editing
02-asset-map.md or 03-program-plan.md's prior content in place.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:32:58 -04:00
ruv
f5703fb472 feat(sota-harness): adopt dream-machine engine as evaluation stage (PIR WP2, ADR-306)
Adapter, not fork: src/dreamMachine.ts drives the published dream-machine
npm engine (v0.1.1, dependency-free bundled dist) through its programmatic
API (run(argv, io)) with an in-memory IO, producing witness-stamped,
engine-verified ledger verdicts that feed the EXISTING promotion path:
verdict -> vetoes.ts PromotionVetoProvider -> flywheel.ts
ruvectorPromotionRule.

Authority split (no duplicated authority): statistics.ts keeps the
paired-bootstrap decision; the engine owns verdict vocabulary, ledger,
and witness stamp; vetoes/flywheel own the promotion recommendation;
a human owns promotion. The adapter exports no promote/merge function
and the verdict object is frozen data — both test-enforced.

Adds docs/research/perpetual-intelligence-runtime/05-dream-machine-consolidation.md,
the keep/adapt/deprecate position for the four implementations (issue #838).

Refs #838, ruvnet/dream-machine#22, ADR-306, ADR-282.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:32:30 -04:00
ruv
8e1ed585e4 fix(ruvector): make @metaharness packages optional per METAHARNESS-README invariant (PIR WP0a)
Move the eight @metaharness/* packages and metaharness itself out of
hard dependencies into optionalDependencies + peerDependencies (with
peerDependenciesMeta optional), matching the optional-dependency
invariant documented in METAHARNESS-README.md ('Only in
optionalDependencies + peerDependencies', attributed upstream to
'ADR-150: MetaHarness Integration Surfaces' — an upstream metaharness
doc not present in this repo; the repo's own docs/adr/ADR-150 is an
unrelated pi-brain/Tailscale ADR). npm i ruvector must not
force-install the MetaHarness research stack.

Also:
- Bump pins to current published versions: darwin ^0.9.1 (0.9.2),
  flywheel ^0.1.10, harness ^0.2.0, redblue ^0.1.6, router ^0.4.0,
  workspace-lens ^0.1.2, metaharness ^0.4.7; weight-eft and
  workspace-probe unchanged at ^0.1.1.
- Update METAHARNESS_VERSIONS in the lazy CJS->ESM bridge to match.
- Wrap module-not-found failures in loadPackage() with a clear error
  naming the missing optional package (ERR_METAHARNESS_OPTIONAL_MISSING)
  instead of surfacing a raw ESM resolution error.

All 12 chained package tests pass with the bumped versions.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:24:32 -04:00
ruv
357d4dc303 docs(adr): add Perpetual Intelligence Runtime ADRs (PIR program)
Adds ADR-305 through ADR-315, the eleven architecture decisions for the
Perpetual Intelligence Runtime program: adopting LatentMesh ADR-009 and
autogenous ADR-401 as the program's control-loop spine and definition of
record; adopting the ruvnet/dream-machine evaluation engine wired to
ruvector's research-gate/sota-bench statistics and Darwin; three-level
persistent memory (LiveMem + TARL); WorldCycle-style physical-action
verification; greenfield LatentMesh transport/RVF/RVM crates coordinated
on wire format; a causal-attribution CI gate; net-new anomaly quarantine
(explicitly not "LATTE", which is not a real paper); a shared witness
record schema and cross-layer anchoring contract anchored on ruflo
ADR-322C rather than merging the rvm-witness and autogenous witness
crates; the SHAPER-pattern frozen-weight skill/harness evolution loop;
KV-cache cross-model migration in ruvLLM; and a governance constitution
for capability expansion built on autogenous's admission-gate pattern.

All ADRs are numbered above the repo's true existing maximum (ADR-304,
confirmed by scanning every filename in docs/adr/ rather than assuming
uniqueness, since duplicate numbers exist elsewhere in the sequence) and
cite only sources verified against primary text in
docs/research/perpetual-intelligence-runtime/.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:11:51 -04:00
ruv
b3c1e12b0f docs(research): PIR evidence review, asset map, program plan
Adds the three source research documents for the Perpetual Intelligence
Runtime (PIR) program (evidence review, asset map, program plan) plus a
verification addendum capturing direct source checks against LatentMesh,
autogenous, and ruflo that materially correct or extend several asset-map
claims (LatentMesh scale, autogenous's full ADR catalog and TypeScript
governance implementation, the rvm-witness/autogenous-witness comparison,
ruflo ADR-322's flywheel-integration series, and the ruvnet/dream-machine
repo) without editing the asset map in place.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-19 21:11:39 -04:00
github-actions[bot]
74d2a60171 chore: Update NAPI-RS binaries for all platforms
Some checks failed
Workspace CI / Tests (vector-index) (push) Has been cancelled
Workspace CI / Security audit (push) Has been cancelled
regression-guard / reentrant-rwlock-double-write (push) Has been cancelled
regression-guard / case-insensitive-collisions (push) Has been cancelled
regression-guard / ruvector-core-no-avx512-builds-on-stable (push) Has been cancelled
regression-guard / hnsw-recall-at-1 (push) Has been cancelled
regression-guard / hnsw-insert-beam-no-m2-clamp (push) Has been cancelled
regression-guard / hnsw-distance-based-neighbor-pruning (push) Has been cancelled
regression-guard / vector-db-rebuilds-index-on-open (push) Has been cancelled
regression-guard / npm-publish-pipeline (npm/packages/pi-brain) (push) Has been cancelled
regression-guard / npm-publish-pipeline (npm/packages/ruvector) (push) Has been cancelled
regression-guard / npm-publish-pipeline (npm/packages/rvf-wasm) (push) Has been cancelled
regression-guard / no-npx-execSync-in-route-enhanced (push) Has been cancelled
regression-guard / shell-injection-in-mcp-server (push) Has been cancelled
regression-guard / no-systemtime-in-wasm-crates (push) Has been cancelled
regression-guard / no-hardcoded-workspaces-paths (push) Has been cancelled
regression-guard / brain-hydration-counters-present (push) Has been cancelled
regression-guard / optional-deps-resolvable-on-npm (push) Has been cancelled
regression-guard / graph-condense-perception-tests (push) Has been cancelled
regression-guard / mincut-pin-tracks-workspace-version (push) Has been cancelled
supply-chain / dependency-review (PRs only) (push) Has been cancelled
supply-chain / cargo audit (RustSec advisories) (push) Has been cancelled
supply-chain / cargo deny (license + source + ban policy) (push) Has been cancelled
supply-chain / npm audit (npm/ workspace) (push) Has been cancelled
supply-chain / lockfile integrity (Cargo.lock) (push) Has been cancelled
WASM Dedup Check / check-wasm-dedup (push) Has been cancelled
ruvector-verified CI / test (push) Has been cancelled
ruvector-verified CI / bench (push) Has been cancelled
Benchmarks / Compare with Baseline (push) Has been cancelled
Build Native Modules / Commit Built Binaries (push) Has been cancelled
Built from commit 78d2539ce5

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 18:30:40 +00:00
rUv
78d2539ce5
Merge pull request #828 from ruvnet/ci/nextest-heavy-timeout
ci: give heavy-shard packages a 90-minute nextest test bound
2026-08-13 14:18:52 -04:00
ruv
784aa56749 ci: give heavy-shard packages a 90-minute nextest test bound
The terminate-after cap added in #822 (10 minutes) was sized for the
regular shards and killed legitimately long tests on the first sharded
run of main: ruvector-mincut subpolynomial tests and
ruvector-nervous-system pattern_separation_collision_rate all TIMEOUT
at exactly 600s in run 31714159600, failing ml-research-heavy and
core-and-rest-heavy. Historical successful runs of those shards take
up to ~75 minutes with individual tests exceeding 10 minutes by design.

Scope a slow-timeout override to the 13 packages of the two heavy
shards: 300s SLOW reporting period, killed after 18 periods (90 min) —
still bounding a genuine hang at 1.5h instead of the 4h job budget.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-13 11:55:45 -04:00
github-actions[bot]
78d789fbc5 chore: Update NAPI-RS binaries for all platforms
Built from commit 1563982a6d

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 15:29:46 +00:00
github-actions[bot]
c3dc1c3e9a chore: Update NAPI-RS binaries for all platforms
Built from commit 1a305b51fc

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 15:26:39 +00:00
github-actions[bot]
1bae950daa chore: Update NAPI-RS binaries for all platforms
Built from commit 6c7cb709d8

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 15:25:01 +00:00
rUv
1563982a6d
Merge pull request #824 from ruvnet/claude/focused-darwin-3krfwp
feat: retrieval receipts — witness-chained provenance for ANN results (nightly 2026-08-13)
2026-08-13 11:12:25 -04:00
ruv
fcf0595eef fix(ruvector-retrieval-receipt): correct provenance claims, harden verification per review
Doc corrections (merge gate for PR #824):
- State the actual threat model everywhere: receipts detect post-issuance
  mutation of a receipt/result pair; they do NOT protect against a
  dishonest query engine and do NOT prove write-chain membership. Leaves
  commit to COPIES of WriteReceipt fields and verification never consults
  the write gate, so a mutated ingestion history leaves already-issued
  receipts verifying. Named future work: bind leaves to MerkleGate's MMR
  membership proofs (HashChainGate::verify_receipt needs the live chain;
  no offline membership proof exists).
- Soften "verifiable offline without trusting the query engine" to match
  reality (unsigned, engine-chosen leaves).
- Relabel the 2x/2.1x benchmark comparison: PerResultReceipt proof size
  is defined as genesis-anchored replay O(idx); a head-anchored verifier
  needs only the O(k-idx) suffix, so the durable claim is asymptotic
  O(log k) vs O(k), not the constant. Reframe 200/200 tamper detection
  as a SHA-256 regression check, not an empirical rate (incl. ADR-304
  Rejection Criteria).
- Reword ADR-304 Evidence line citing
  index_state_root_changes_receipts_across_reingestion (that test
  compares roots only; it builds no receipt).
- Applications table: legal/medical row no longer marketed as
  chain-of-custody.

Code fixes:
- verify_full now fails closed on empty result sets (was vacuously true);
  documented + tested for all variants.
- RetrievalIndex::search uses total_cmp instead of
  partial_cmp().unwrap() (NaN no longer panics a public API).
- gate_variant is bound into each result leaf so a NullGate receipt
  (all-zero commitment) is distinguishable from a gated one; tested.

Tests: 14 passed (was 12). Clippy -D warnings and fmt clean.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-13 11:11:59 -04:00
rUv
1a305b51fc
Merge pull request #823 from ruvnet/research/nightly/2026-08-13-entropy-adaptive-ann
feat: entropy-adaptive ANN beam search PoC (nightly 2026-08-13)
2026-08-13 11:11:56 -04:00
ruv
ce638244b8 fix(ruvector-entropy-ann): reframe as measured negative result, fix benchmark methodology
Review (measured, with rebuilt crate) found the PoC's headline claim does not
hold: EntropyScaledEf computes ef_actual=122-124 for every query — no per-query
adaptivity — and FixedEf(124) reproduces its recall to four decimal places on
all three query sets. The reported +1.6-3.9pp recall gain was entirely the
2.5x larger ef budget, not entropy. Entropy separation between easy and hard
queries is negative at every usable temperature (softmin entropy over
retrieved-neighbour distances tracks local density, wrong sign for beam
control); T=0.1 is effectively infinite temperature on this data.

Fixes applied:
- graph.rs: add FlatGraph::is_empty() (clippy len_without_is_empty CI blocker),
  use it in find_entry
- benchmark.rs: move ground_truth() out of the timed closure (it was ~41% of
  reported time, hiding a real ~50% search-only latency regression); add
  FixedEf(124, matched) control rows so the adaptive claim is falsifiable
- lib.rs: recall_at_k denominator is now min(k, |ground_truth|) only — no
  longer shrinks with |results|, which rewarded early termination
- search.rs: fix doc/code mismatch (scale uses ln(|results|), docs said ln(k));
  document measured outcomes on both entropy variants
- tests: graph_is_symmetric_on_uniform now asserts the reciprocity fraction it
  computes; renamed entropy_threshold_exits_early_on_easy_query and
  entropy_scaled_ef_expands_for_hard_queries to match what they actually test
- ADR-303: status now 'Closed — negative result'; removed 'recommended' and
  'validated in the PoC benchmark' for Strategy B and the false 'same nominal
  ef budget' claim; documented the matched-budget equivalence and wrong-sign
  finding; marked the multi-layer-HNSW rescue as untested conjecture
- research README + gist: results regenerated with honest search-only timing
  (FixedEf(50) ~33us vs EntropyScaledEf ~50us) and matched-budget comparison

cargo test / clippy -D warnings / fmt --check all pass.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-13 11:11:26 -04:00
rUv
6c7cb709d8
Merge pull request #822 from ruvnet/ci/split-core-platform
ci: split platform crates from workspace catch-all
2026-08-13 11:07:15 -04:00
ruv
09cccfebe1 ci: fix shard excludes silently dropped by shell comment truncation
The `core-and-rest` catch-all shard was not sharding. Its `packages:` value
is a YAML folded scalar (`>-`) that contained `#`-prefixed lines *inside*
the scalar. Those are content, not YAML comments: folding joins the whole
block onto one line, and when `run:` expands `${{ matrix.packages }}` the
shell treats the first `#` as the start of a comment and truncates the rest
of the command.

The effective command was therefore:

    cargo nextest run --no-fail-fast --workspace

0 of 162 `--exclude` flags survived. Every shard split landed in iters
230-240 was inert — the catch-all kept building and testing all 210
workspace crates, which is why it kept drifting into the job timeout no
matter how many crates were hoisted out of it. The doctest step had the
same truncation. `core-and-rest-wasm` had the same defect but its inline
comment was trailing prose with no flags after it, so all 29 `-p` flags
survived; fixed anyway so the pattern does not get copied.

Move every comment above the `packages:` key at mapping level, where YAML
strips it — the pattern the `core-platform` entry already used. The folded
scalars now contain only `--workspace`, `--exclude <crate>`, and
`-p <crate>` tokens.

Verified by parsing the workflow with PyYAML and diffing each shard's
effective package set against `cargo metadata`: 162 excludes / 50 effective
packages in the catch-all, 203 of 210 crates covered, no crate built twice.

Also add `.config/nextest.toml` with a 10-minute per-test kill switch.
`ruvector-delta-index::tests::test_insert_and_search` hangs indefinitely in
DeltaHnsw insert/search rather than failing, and with no timeout it consumed
3h52m of the 240-minute `core-platform` budget. Hold that crate out of CI
until it is fixed (#825).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-13 11:06:39 -04:00
Claude
81701c7781
docs: add nightly research report and gist for retrieval receipts
Full methodology, raw benchmark output, memory/performance math,
practical and long-horizon applications, and falsification criteria
for the 2026-08-13 retrieval-receipts nightly run.
2026-08-13 14:42:33 +00:00
Claude
af68ab14cb
docs: add ADR-304 for retrieval receipts
Documents the hypothesis, evidence, alternatives considered, and
rejection criteria for promoting retrieval receipts beyond the
experimental crate, including the disclosed Merkle padding
malleability limitation.
2026-08-13 14:42:33 +00:00
Claude
9aa55935f9
feat(ruvector-retrieval-receipt): witness-chained provenance for ANN retrieval results
Extends ruvector-proof-gate's write-side integrity to the read path:
retrieval receipts bind each query result to the WriteReceipt produced
at ingestion, closing the write->read provenance loop for RAG audits.

Three variants (NoReceipt / PerResultReceipt / MerkleReceipt) measured
against a proof-gate-backed brute-force index. 12 unit tests cover
honest verification and four independent tamper kinds per variant.
2026-08-13 14:42:28 +00:00
Claude
9974deb9b8
feat(ruvector-entropy-ann): entropy-adaptive ANN beam search PoC
Implements Shannon entropy of the candidate-heap distance distribution as
a live beam-width gate for ANN graph traversal — a novel application of
EDEN's entropy-based branching (ICML 2026) to HNSW-style search.

Three variants (FixedEf baseline, EntropyThresholdBeam, EntropyScaledEf)
benchmarked on 16D clustered synthetic data (N=2000, k=10, ef=50).
EntropyScaledEf achieves +1.6–3.9 pp recall@10 vs FixedEf at equal ef.

- 15 unit tests, all pass
- Zero external dependencies
- Real benchmark numbers, no mocks or placeholder values
- ADR-303 and research README included

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_018DMsyZzgWJ1pWw3svjfAAG
2026-08-13 07:53:28 +00:00
ruv
448b685433 ci: split platform crates from workspace catch-all 2026-08-13 02:53:24 -04:00
github-actions[bot]
0f24c7a751 chore: Update NAPI-RS binaries for all platforms
Some checks are pending
Workspace CI / Tests (ruvix) (push) Waiting to run
Workspace CI / Tests (rvagent) (push) Waiting to run
Workspace CI / Tests (vector-index) (push) Waiting to run
Workspace CI / Security audit (push) Waiting to run
Clippy + fmt / Clippy (deny warnings) (push) Waiting to run
Clippy + fmt / Rustfmt (push) Waiting to run
regression-guard / hnsw-insert-beam-no-m2-clamp (push) Waiting to run
regression-guard / reentrant-rwlock-double-write (push) Waiting to run
regression-guard / case-insensitive-collisions (push) Waiting to run
regression-guard / ruvector-core-no-avx512-builds-on-stable (push) Waiting to run
regression-guard / hnsw-recall-at-1 (push) Waiting to run
regression-guard / hnsw-distance-based-neighbor-pruning (push) Waiting to run
regression-guard / vector-db-rebuilds-index-on-open (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/pi-brain) (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/ruvector) (push) Waiting to run
regression-guard / brain-hydration-counters-present (push) Waiting to run
regression-guard / npm-publish-pipeline (npm/packages/rvf-wasm) (push) Waiting to run
regression-guard / no-npx-execSync-in-route-enhanced (push) Waiting to run
regression-guard / shell-injection-in-mcp-server (push) Waiting to run
regression-guard / no-systemtime-in-wasm-crates (push) Waiting to run
regression-guard / no-hardcoded-workspaces-paths (push) Waiting to run
regression-guard / optional-deps-resolvable-on-npm (push) Waiting to run
regression-guard / graph-condense-perception-tests (push) Waiting to run
regression-guard / mincut-pin-tracks-workspace-version (push) Waiting to run
supply-chain / dependency-review (PRs only) (push) Waiting to run
supply-chain / cargo audit (RustSec advisories) (push) Waiting to run
supply-chain / cargo deny (license + source + ban policy) (push) Waiting to run
supply-chain / npm audit (npm/ workspace) (push) Waiting to run
supply-chain / lockfile integrity (Cargo.lock) (push) Waiting to run
WASM Dedup Check / check-wasm-dedup (push) Waiting to run
Built from commit 7d015a1ce5

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 04:11:59 +00:00
rUv
7d015a1ce5
Merge pull request #821 from ruvnet/codex/split-core-rest-ci
ci: split examples from core workspace shard
2026-08-13 00:00:19 -04:00
ruv
2674892083 ci: split examples from core workspace shard 2026-08-12 23:59:45 -04:00
github-actions[bot]
0fb6bf99b5 chore: Update NAPI-RS binaries for all platforms
Some checks failed
Hooks CI / PostgreSQL Schema Validation (push) Has been cancelled
PostgreSQL Extension CI / Test PostgreSQL 17 on macos-latest (push) Has been cancelled
PostgreSQL Extension CI / Test PostgreSQL 17 on ubuntu-latest (push) Has been cancelled
PostgreSQL Extension CI / Test All Features (PostgreSQL 17) (push) Has been cancelled
PostgreSQL Extension CI / Benchmark (push) Has been cancelled
PostgreSQL Extension CI / Security Audit (push) Has been cancelled
PostgreSQL Extension CI / Integration Test (Docker) (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Build (push) Has been cancelled
RuVector-Postgres CI/CD / Lint & Format (push) Has been cancelled
SOTA Benchmark (Tier 1 Smoke) / SOTA Smoke (Tier 1) (push) Has been cancelled
SOTA Benchmark (Tier 1 Smoke) / SOTA Full Run (Tier 2, on demand) (push) Has been cancelled
Build DiskANN Native Modules / Publish DiskANN Platform Packages (push) Has been cancelled
Build Graph Node Native Modules / Publish Graph Node Platform Packages (push) Has been cancelled
Hooks CI / Feature Parity Check (push) Has been cancelled
PostgreSQL Extension CI / Package Extension (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Recall quality (recall@10 ≥ 0.88 at N=10k) (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Unit & CLI tests (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Functional smoke (npx ruvector) (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Learning check (HNSW activates) (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Performance benchmark (≥2× speedup at N=5000) (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / Tarball integrity (push) Has been cancelled
ruvector npm — functional, learning, optimized, effective / CI pass (push) Has been cancelled
RuVector-Postgres CI/CD / Test PG17 (macos-latest) (push) Has been cancelled
RuVector-Postgres CI/CD / Test PG17 (ubuntu-latest) (push) Has been cancelled
RuVector-Postgres CI/CD / Test All Features (PG17) (push) Has been cancelled
RuVector-Postgres CI/CD / Docker Integration (PG17) (push) Has been cancelled
RuVector-Postgres CI/CD / Performance Benchmarks (push) Has been cancelled
RuVector-Postgres CI/CD / Security Audit (push) Has been cancelled
RuVector-Postgres CI/CD / Package PG17 (push) Has been cancelled
RuVector-Postgres CI/CD / CI Summary (push) Has been cancelled
Built from commit 96f805ccb5

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-13 00:00:04 +00:00
rUv
96f805ccb5
Merge pull request #820 from ruvnet/codex/postgres-audit-serde-cbor
ci: acknowledge pgrx serde_cbor advisory
2026-08-12 19:49:47 -04:00
ruv
fa8845f848 ci: acknowledge transitive serde_cbor advisory 2026-08-12 19:49:25 -04:00
github-actions[bot]
96b1656963 chore: Update NAPI-RS binaries for all platforms
Built from commit 2ea37b7195

  Platforms updated:
  - linux-x64-gnu
  - linux-arm64-gnu
  - darwin-x64
  - darwin-arm64
  - win32-x64-msvc

  🤖 Generated by GitHub Actions
2026-08-12 23:27:58 +00:00
rUv
2ea37b7195
Merge pull request #819 from ruvnet/codex/swarm-latest-prs-issues
fix: integrate latest PRs and issue regressions
2026-08-12 19:13:04 -04:00