v3.32.19

ruvnet/ruflov3.32.19Jul 27, 2026by ruvnet

AI Summary

Adds a budget-aware consolidation operator selector for memory management, allowing users to choose between merge, summarize, compress, or distill based on cost and fidelity. This optimizes memory storage by selecting the best operator for the available budget.

Key Highlights

  • Adds `ruflo memory select-operator` for budget-aware consolidation.
  • Implements four operators: merge (low cost), summarize (medium), compress (high), distill (highest fidelity).
  • Adds three selection rules based on budget and hint.
  • Advisory only in v1 (no auto-wire into `memory consolidate`).

New Features

  • Operator selector
  • Budget-aware consolidation
  • Selection rules

Full Release Notes

Budget-aware consolidation-operator picker. Fourth of the four bounded dream-cycle items ready this session (#2727 IB+VQ remains — real VQ codec, own PR).

## Added

**`ruflo memory select-operator --budget N --entries K [--hint duplicates|verbose|patterns|general]`**

Rule-based picker over four consolidation operators:

| Operator | Cost/entry | Max entries | Best when |
|---|---|---|---|
| merge | 0.02 | 5000 | Near-duplicate deterministic collapse |
| summarize | 0.50 | 500 | Verbose logs / traj steps sharing a theme |
| compress | 1.50 | 200 | High-fidelity pattern preservation |
| distill | 3.00 | 100 | Extract high-value patterns for ReasoningBank |

Three selection rules:
1. Hint-driven pick when the hinted operator fits the budget.
2. Otherwise most-expensive-that-still-fits (spend the whole budget on best fidelity).
3. When nothing fits, fall back to merge with needsSplit + batch size ≤ budget/cost.

Advisory only in v1 — no automatic wire into `memory consolidate` (same safety pattern as #2760 SCM classifier).

## Verification

- Regression tests: **7/7** (all three rules + hint-fits, hint-doesnt-fit, ranking, needsSplit)
- E2E matrix: 5 scenarios verified end-to-end (summarize-fits-exactly, distill-most-expensive-fit, tiny-budget-huge-set-merge-split, hint-ignored-when-doesnt-fit, distill-with-split)

## Upgrade

```bash
npx ruflo@latest --version   # → 3.32.19
```

Refs: dream-cycle #2763 (2026-07-23).