Commit graph

3032 commits

Author SHA1 Message Date
ruv
2fb7724eec docs(adr): fix review blockers on Wave-2 ADRs — ADR-134 cites, preprint rule
Addresses the CHANGES-REQUIRED verdict on PR #868:

B1: disambiguate bare "ADR-134" citations per ADR-316's slug rule
    (ADR-318 L44; ADR-323 trust/gates/consequences) -> "ADR-134
    (witness-schema-log-format)", matching merged ADR-312's form.
B2: add the preprint-reproduction rule as a labeled paragraph to
    ADR-319 and ADR-323 (present in the other four; PR body promised
    it in all six).

Non-blocking cleanups folded into the same commit:
- 06: fix stale pointer to 07's now-resolved "Missing input" note;
  add an "as of" timestamp to the #837 comment-count snapshot and
  cross-reference issue #862 as the acceptance test's canonical
  written record.
- 07: correct "TRUSS/Trussed AI" -> "TRUSS/truss-agent.com" (Trussed
  AI is unsourced); fix the four-misattribution-instances enumeration
  to name all four with their real addendum sections (ADR-103 per
  ADR-305 §4; §5; §8b for the phantom "metaharness ADR-251"; §8c),
  dropping §8d which is not itself a wrong-repo-number instance;
  correct the agentdb surface path to crates/rvf/rvf-adapters/agentdb
  (WP18).
- ADR-320: same agentdb path correction in Affected Repos.
- ADR-323: restore the elided "not in the frozen historical list
  above" qualifier in the ADR-316 Decision §5 quote; apply the same
  four-instances and agentdb-adjacent fixes as above.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-20 09:07:41 -04:00
ruv
b3ca3017c1 docs(adr): Wave-2 ADRs — lifecycle security, state binding, shadow execution (PIR)
Adds ADR-317 through ADR-321 and ADR-323 (322 deliberately skipped —
see ADR-323's Numbering note), extending merged ADR-305-315 with six
Aug 18-19 2026 papers per docs/research/perpetual-intelligence-runtime/
06-wave2-evidence-review.md and 07-wave2-program-plan.md:

- ADR-317: HarnessRisk lifecycle security benchmark gate on Darwin
  harness mutations (extends ADR-313, ADR-306)
- ADR-318: StagedWorkspace-pattern content-hash state binding as a
  RuV invariant (extends ADR-307, ADR-312)
- ADR-319: TRUSS-pattern shadow execution for generated capabilities
  (extends ADR-311, ADR-315, ADR-306)
- ADR-320: MemFuse-pattern AtomicObservation + causal episodic graph
  (extends ADR-307, ADR-310)
- ADR-321: SkillForge-pattern synthetic-issue self-training in the
  Darwin loop (extends ADR-313)
- ADR-323: governed pipeline-shard placement for multi-node ruvLLM
  serving (extends ADR-314; 322 skipped to avoid colliding with the
  heavily-cited ruflo ADR-322 series across sibling repos)

Each ADR carries its own evidence grade, artifact-availability check,
and name-collision citation discipline per the evidence review; the
preprint-reproduction rule (every paper is a candidate mutation
requiring an internal benchmark delta before promotion) applies
uniformly. ADR-317 carries ruv's Wave-2 acceptance test verbatim.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-20 08:48:03 -04:00
ruv
f60fa55aa9 docs(research): add Wave-2 evidence review + program plan (PIR)
Compiles evidence grades for six Aug 18-19 2026 papers (HarnessRisk,
TRUSS, MemFuse, SkillForge, StagedWorkspace, pipeline-shards) and the
Wave-2 work-package plan (WP15-20, ADR-317-321/323) that Wave-2 ADRs
depend on. Closes the "acceptance test not located verbatim" gap in
07 with ruv's exact wording (2026-08-20).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-08-20 08:41:41 -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
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
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
ruv
e5e110290c fix: bound postgres baseline benchmark 2026-08-12 14:58:51 -04:00
ruv
bad89472f7 fix: compile-check expensive postgres benchmarks 2026-08-12 14:03:09 -04:00
ruv
31d87a3cbc fix: preserve postgres benchmark artifacts 2026-08-12 13:14:04 -04:00
ruv
b40789d181 fix: skip missing benchmark pages branch 2026-08-12 12:52:07 -04:00
ruv
2897da0ba8 fix: stabilize postgres docker and benchmark CI 2026-08-12 12:30:03 -04:00
ruv
c15eab7105 fix: dynamically resolve napi symbols in tests 2026-08-12 11:21:54 -04:00
ruv
8f20b1f1e7 ci: preserve workspace path in parity build 2026-08-12 11:06:30 -04:00
ruv
3488a270e2 fix: clear integration CI regressions 2026-08-12 10:50:22 -04:00