v3.32.19 β OAS operator selector (#2763 dream-cycle)
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:
- Hint-driven pick when the hinted operator fits the budget.
- Otherwise most-expensive-that-still-fits (spend the whole budget on best fidelity).
- 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
npx ruflo@latest --version # β 3.32.19Refs: dream-cycle #2763 (2026-07-23).