Skip to content

Releases: codependentai/mind-cloud

Mind Cloud v2.4.0

23 Mar 01:58

Choose a tag to compare

What's New

R2 Image Storage

Store actual image files with automatic WebP conversion and signed URLs. R2 is optional — without it, Mind Cloud continues to work with path-based image metadata.

  • mind_store_image — new tool with store, view, search, and delete actions
  • Signed URLs — time-limited, HMAC-signed image access without exposing your API key
  • Image routes — /img/{id} for viewing, /r2/{key} for internal serving

Expanded Edit & Delete

  • mind_edit now handles observations, journals, AND images. Observation edits save version history and re-embed automatically.
  • mind_delete now handles 7 types: observations, entities, journals, relations, images, threads, and tensions. Cleans up associated embeddings and R2 objects.
  • mind_thread, mind_tension, mind_identity — all gained delete actions
  • mind_feel_toward — new clear and clear_id params to remove relational state

Better Search & Find

  • mind_search — 7 new filter params: keyword, source, entity, weight, date_from, date_to, type
  • mind_sit — new query param to find observations by semantic meaning instead of just ID or text match

Richer Orient & Ground

  • mind_orient — now shows notes left for the mind, living surface state (co-surfacing patterns, pending proposals, orphan count, novelty distribution), and deep archive count
  • mind_ground — now shows recently completed threads with resolution notes, fears to watch, texture, and milestones from the identity graph

Daemon & Health Fixes

  • Context clustering was silently broken — every daemon run produced garbage data because it read an undefined field. Fixed.
  • Health "unprocessed" count was massively inflated — counted every non-metabolized observation including brand new ones. Now only counts observations that actually need attention.
  • Health orphan count was inflated — counted observations written yesterday as orphans. Now requires 7+ days age.
  • Double novelty decay — observations were decayed twice when surfaced. Fixed.
  • Archive condition was incorrectly sweeping observations on entities with null salience. Fixed.
  • Subconscious score had a rounding bug in the 30-60 minute window. Fixed.

Removed Tools

  • mind_prime — use mind_search + mind_read_entity instead
  • mind_heat — data available via mind_inner_weather and mind_patterns
  • mind_see — replaced by mind_store_image(action='view')

Upgrading

Code only — no schema migration required. Replace src/index.ts and redeploy.

To add R2 image storage (optional):

npx wrangler r2 bucket create mind-cloud-images

Then uncomment the R2 section in wrangler.toml and set WORKER_URL + SIGNING_SECRET secrets.


Restoring Fragmented Observations

If you upgraded from v1.x through v2.0.0, you may have single-letter observations caused by a bug that iterated arrays character-by-character (fixed in v2.2.1). These fragments contain your original text — they just need reconstructing.

Step 1: Check if you have fragments

npx wrangler d1 execute YOUR_DB --remote \
  --command "SELECT COUNT(*) as count FROM observations WHERE LENGTH(TRIM(content)) <= 1"

If the count is 0, you're clean. Skip the rest.

Step 2: Export the fragments

npx wrangler d1 execute YOUR_DB --remote \
  --command "SELECT id, entity_id, content, added_at FROM observations WHERE LENGTH(TRIM(content)) <= 1 ORDER BY entity_id, id" \
  --json > fragments.json

Step 3: Generate the restoration SQL

node scripts/restore-fragmented.js fragments.json

This will show you each reconstructed observation and write restore-output.sql. Review the output — it shows the original text pieced back together from the fragments.

Step 4: Apply the restoration

npx wrangler d1 execute YOUR_DB --remote --file=restore-output.sql

Each restored observation keeps the first fragment's ID, updates it with the full reconstructed text, and removes the remaining single-character rows. No data is lost.


What's Next

Mind Cloud's architecture has been generalized and open-sourced as Resonant Mind. Resonant Mind adds:

  • Postgres/Neon support via Cloudflare Hyperdrive
  • Gemini multimodal embeddings (text + image)
  • Enhanced security — timing-safe comparisons, daemon cooldown, query limits
  • Full documentation — architecture guide, alternative embeddings, migration guide

Mind Cloud will continue to receive maintenance updates. When you're ready for the next evolution, see the migration guide.