v2.5.0 — Dream Mode self-evolution (Phases A/B/C/D)
TL;DR
Dream Mode was architecturally complete at v2.4.x but dormant in practice (opt-in off by default, 24–60h latency, shallow retrieval-only consumption). v2.5.0 ships four phases that flip it into active self-evolution:
- Phase A — Activate. Default-on for fleet slaves; push cadence 24h → 2h; dream-scheduler catch-up on boot + threshold trigger; explicit fleet-consolidated preference in retrieval. Latency floor drops from ~60h → ~4h.
- Phase B — Feedback. Slaves report consumption back to master (adoption ratio × usage feeds dream-pass ranking); failure turns captured alongside successes.
- Phase C — Depth. Structured-JSON distillation (
taskShape+preferredPath/avoidancePath+triggerCondition); memory summaries consolidated (were piling up untouched since v1.11.0); template persona patches viaagent_gallery.fleet_instructions_md. - Phase D — Safety. Per-slave daily trajectory quota; LLM cost cap per dream pass; post-redaction secret audit (provider prefixes, PEM keys, JWT shape, Shannon entropy); workspace-scope columns foundation for multi-tenant.
Migrations
DB schema bumped to v72. Additive only: new columns on reasoning_bank + agent_gallery + fleet_learnings, new indexes, fleet_learnings.learning_type CHECK widened to accept consumption_feedback. Rollback drops the columns / indexes cleanly.
Back-compat
- Envelope: all new fields are optional — pre-v2.5 master accepts v2.5 slaves unchanged, v2.5 master accepts pre-v2.5 slaves.
- Config bundle: consolidated payload has a dual-shape reader (array shape for pre-v2.5,
{trajectories, memorySummaries, templatePatches}for v2.5). - The "persistent slave Lead session" farm loop from v2.4.x is unaffected.
New env toggles
TITANX_LEARNING_PUSH_HOURS— push interval (default 2, min 1, max 168)TITANX_FLEET_LEARNING_DEVICE_QUOTA— per-slave trajectory cap per 24h (default 500)TITANX_DREAM_MAX_COST_CENTS— dream-pass distillation budget (default 500¢, floor 50¢)
Upgrade notes
- Both master and slave should move to v2.5.0 to get the full loop. Pre-v2.5 slaves keep working but don't contribute consumption feedback or failure trajectories.
- If you were relying on the
off-by-defaultbehavior offleet.learning.enabled, set an explicitenabled=0row insecurity_featuresOR toggle off master-side before upgrading slaves. Otherwise slaves will start contributing immediately.