Skip to content

fix(memory): propagate configured Benna-Fusi rates through extract_and_store#4722

Merged
bug-ops merged 3 commits into
mainfrom
4711-memory-benna-rates
May 30, 2026
Merged

fix(memory): propagate configured Benna-Fusi rates through extract_and_store#4722
bug-ops merged 3 commits into
mainfrom
4711-memory-benna-rates

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented May 30, 2026

Summary

Changed files

Tests

Closes #4711, #4698, #4699

@github-actions github-actions Bot added memory zeph-memory crate (SQLite) bug Something isn't working rust Rust code changes core zeph-core crate size/M Medium PR (51-200 lines) labels May 30, 2026
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 30, 2026
@bug-ops bug-ops enabled auto-merge (squash) May 30, 2026 01:56
@bug-ops bug-ops force-pushed the 4711-memory-benna-rates branch from 2bb24d4 to cb385f6 Compare May 30, 2026 01:56
bug-ops added 3 commits May 30, 2026 04:04
…d_store

extract_and_store created a bare GraphStore::new(pool) without calling
.with_benna_rates(), causing all Benna-Fusi synaptic updates in the primary
graph extraction path to use hardcoded defaults (fast=0.5, slow=0.05) instead
of the operator-configured values from [memory.graph.spreading_activation].

Thread benna_fast_rate and benna_slow_rate through GraphExtractionConfig and
call .with_benna_rates() in extract_and_store and in the backfill path in
agent_access_impl.rs.

Also apply two related memory-subsystem improvements from the same review pass:
- perf(memory): replace Vec::contains with HashSet in HELA BFS hop loop,
  reducing O(F^2) comparisons to O(1) per edge (#4698)
- perf(memory): replace to_lowercase() allocations in is_low_signal_relation
  with eq_ignore_ascii_case, eliminating ~30 short-string allocs per
  extraction pass (#4699)

Closes #4711, #4698, #4699
Replace assert_ne!/assert_eq! on f32 values with epsilon-based
assert!((a - b).abs() > f32::EPSILON) comparisons. CI runs clippy
with --all-targets which includes test code, and -D clippy::float-cmp
is implied by -D warnings.
@bug-ops bug-ops force-pushed the 4711-memory-benna-rates branch from cb385f6 to 7f196e9 Compare May 30, 2026 02:05
@bug-ops bug-ops merged commit f91e912 into main May 30, 2026
32 checks passed
@bug-ops bug-ops deleted the 4711-memory-benna-rates branch May 30, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working core zeph-core crate documentation Improvements or additions to documentation memory zeph-memory crate (SQLite) rust Rust code changes size/M Medium PR (51-200 lines)

Projects

None yet

1 participant