Changelog
0.5.4 (2026-11-04)
mind search --brief: one line per result (match, kind, project, id, title), the same in a terminal and piped. Agents were cutting the full output withheadand missing the result that mattered most (in one case, a cross-project decision their task reversed, in fifth place).- The skill and the always-on rule say to scan with
--brief, read every result, never cut search output withhead, and tell the user when a task changes something an entry records. They also say to read entries withmind get, not--raw(editing only): agents reading the raw markdown missed whether its code changed, "may contradict" warnings and the related entries.
0.5.3 (2026-11-04)
Agents find what's already in the mind. From a live test of Claude Code, Codex and Grok on questions the mind already answered:
- Search works in sandboxes. Codex's sandbox blocks
writes outside the project, so
mind searchfailed ("unable to open database file"). Now, when the index can't be written, search (andget,list,check…) uses the saved index read-only (the newest changes may be missing), or a keyword index built in memory, and says so. - Saving from a sandbox says what to do. Codex keeps
every
.gitread-only even in folders it may write, so saving from inside it can't work.mind record/update/ack/reindexnow say so and tell the agent to request escalated permissions for that one command (you approve it), instead of a bare "Permission denied". - Suggestions on each message: the prompt hook lists
the ids of up to three entries that share enough words with the message
(a distinctive one, or two in the title; each once per session), so an
agent opens them before digging through code. Ids only, and only of real
entry files: an entry's title is another agent's text and isn't put in
front of the agent unasked. It reads the saved index only (tens of
milliseconds). Claude Code and Codex get these; Grok's hooks don't reach
the model.
[hooks] suggest = falseturns them off. This is the first setting added since 0.5.2's approval change: it doesn't ask anyone to re-approve. - "Search first" in the skill, the always-on rule and the session-start note: before reading code to answer a "how do we…" or "why does…" question, not only before building.
0.5.2 (2026-11-04)
Clearer mind setup.
- Projects: the step explains what it does and what
to type (
~/code, or a full path), asks again when the folder doesn't exist, and catches the common slip~/home/<you>("did you mean /home/?"). It says when every repo it finds is already registered, and a--scanfolder that doesn't exist is reported as such. - Machine notes preview: long lines wrap inside the
│rail instead of breaking it (and running into the next line when copied). The text is shown exactly: spaces are kept, and a word longer than the line is broken rather than overflowing. - Plainer questions: runbook review is explained
before it's asked; detected tools are asked as "Found claude. Connect
it?"; the
mega-mindalias is reported as an alias.
Also:
- Approvals survive new settings: the per-machine
approval of the AI settings (now
v4) still covers every existing setting, default or not, but a setting added in a later release is left out while it's at its default, so adding one no longer asks everyone to approve again. Approvals made with 0.5.1 carry over (no re-approval after this upgrade). Older binaries don't knowv4: run one after this and it asks for approval again. [hooks]settings can be left out ofconfig.tomllike the other sections.- Windows hard links: files in the mind that are hard links are now refused on Windows too (as on macOS and Linux), and the error says it's a link instead of "it must be UTF-8 text".
- OneDrive:
OneDrive,OneDrive - <Company>and the personal folders OneDrive redirects (~/OneDrive/Documents, Desktop, Pictures…) are refused as project folders, like~/Documents; a repo such as~/onedrive-cliis fine. The warning now names what "too broad" covers. - Docs: syncing a mind between machines (guide, section 5).
0.5.1 (2026-11-04)
A rich view for people at a colour terminal. Search
results are cards: kind badge, project, verified/stale state, a match
meter, the snippet with your query words picked out, and the files to
open. get, list, related,
stale, check, log,
stats, digest, doctor,
who, uses, projects,
kinds and proposals use the same style, and
long lines wrap to the terminal. Piped output, NO_COLOR and
--json are unchanged, so agents read exactly what they read
before.
0.5.0 (2026-11-03)
Mega Mind, with the command mind. The
data folder is mega-mind (override with
MIND_HOME; the agent name with MIND_AGENT);
mind setup installs the agent skill as
mega-mind.
- Code layout: the two biggest files are split by
job.
main.rs(1,259 lines) is nowcli.rs+commands/(find, write, upkeep, projects, proposals);store.rs(1,087 lines) is nowstore/(entry, kinds, mind, refs, secrets, config, paths). The program is a library with a thinmindcommand.
0.4.0 (2026-11-02)
Keeping a shared mind accurate as it grows (ideas studied from GBrain and Gigabrain, both MIT; no code taken).
- Links between entries:
relatedandsupersedesmust name existing entries;mind getshows links in both directions ("see also", "replaces", "linked from");mind checklists broken links;mind rmrefuses to delete an entry others link to unless--yes. - Retiring:
mind retire <id> --why "…" [--by <new-id>]. Retired and superseded entries drop out of search, lists, stale checks, reviews and hooks, and stay readable (mind get,--all), so an old procedure can't outrank its replacement. mind maintain: nightly upkeep that never edits entries: index, librarian review of stale entries, broken links, near-duplicates, and a contradiction check of closely related entries (each pair judged once per version, confident verdicts only).mind getshows "may contradict";mind doctorcounts contradictions and says when maintain last ran.nightly.shnow runs it.- Privacy masking: emails, IP addresses and
home-folder user names are masked in text sent to remote models, plus
your own patterns (
[privacy] patterns); local models get text unchanged. - Trust tie-break: when two results score about the same, the verified one ranks first.
- Safer automatic context: hooks name stale entries
and how many of their files changed, never file names (entry text is
untrusted);
mind getshows librarian verdicts, and their free-text notes only with--notes. Nothing that looks like a secret is sent to any model, search queries included. Masking fails closed on a bad pattern, more than 50 patterns, or more than 64 KB of text. - OpenAI's newer models work as the librarian:
OpenAI's GPT-5 and reasoning models refuse
max_tokensand a custom temperature; mind now retries once withmax_completion_tokensand keeps using it. Azure, LM Studio and other OpenAI-compatible services are unchanged. - Hardening (Grok audit): requests to this machine
(LM Studio, local servers) never go through an
HTTP_PROXY/HTTPS_PROXY/ALL_PROXYproxy, since that traffic is unmasked and may carry a key. A service's error replies are no longer shown (only the HTTP status and a short error code), so a hostile endpoint can't put instructions or echoed keys in front of agents. Endpoint URLs with a?queryare refused (keys belong inauth), and so isuser:password@with any auth setting. Short passwords, quoted passphrases with spaces and YAML|blocks are caught as secrets, while references ($DEPLOY_KEY,${TOKEN}), placeholders and ordinary code (password: String,self.password, unquoted only: a quoted value is a literal) still pass (checked against about 6,000 files of real code). Network errors and privacy-pattern errors are fixed descriptions: no proxy URL, server text or pattern text in them. Quoted passwords made of ordinary words are secrets too; escaped Windows paths (C:\\Users\\…in JSON or code) are masked; the Azure VM sign-in request never follows redirects. Service error codes are shown only if they're on a known list. Doctor and sign-in errors no longer show a token command's arguments oraz's raw error output. Masking also catchesip:2001:db8::1and Windows home folders written with forward slashes (c:/users/<name>).
0.3.0 (2026-11-02)
Security and polish, from reviews by Codex and Grok.
- Security:
- the secret scanner catches JSON keys (
"password": …),client_secret/AZURE_CLIENT_SECRET,secret_access_key,Authorization: Bearer|Basic …, passwords inside URLs and Azure SAS tokens; - entries (frontmatter and body) are checked for secrets again before being sent for embeddings or review, so hand edits and git pulls can't slip one out; flagged entries stay keyword-searchable and are reported;
- credentials are never sent over plain http (except to this machine:
localhostor a loopback IP) or along a redirect; the Azure sign-in token goes only to Azure OpenAI / AI Services endpoints, or to gateways you list intoken_hosts(mind setupasks; API Management gateways must be listed); azruns without a shell and token scopes must be plain https URLs; the managed-identity request encodes its parameters and checksAZURE_CLIENT_ID;- Azure tokens are cached per scope, identity and host in the private
cache folder, outside the mind (on Windows
%LOCALAPPDATA%\mega-mind-cache); an old cache in the mind folder is deleted; the cache file is created owner-only; - absolute and
~/refs must be inside a registered project (agents open refs); - git reads ref paths literally (
--literal-pathspecs), so a file name can't widen a diff; - librarian notes are flattened (no control characters or extra lines)
and never enter hook context: hooks show only the verdict and point to
mind get; the librarian is told entries and diffs are data, not instructions; file names in hook context are sanitised; skill-local.mdjoins agent instructions only if it matches what is already installed or a person approves it at the keyboard (--yesnever adds new or changed text); it is checked for secrets;- the mind folder is created readable only by its owner;
mind doctorwarns otherwise.
- the secret scanner catches JSON keys (
- New:
mind upgrade(and--check): fetch the clone's upstream (https or ssh only), show what's new, fast-forward, and rebuild the exact fetched commit from a clean checkout, with the same features, into the same place (on Windows the running exe is moved aside and restored on failure). A token in the clone's address is moved to git's credential store, read back to confirm, and only then removed from the address. Off a terminal it needs--yes. It also rebuilds when an earlier build failed after fetching. - Look and feel:
- one layout for every listing (search, list, related, stale): numbered bold title, a meta line (kind · project · verified · date · stale), and the id;
mind getshows a readable view (header, sections, files with their state, related entries, the librarian's labelled note) instead of raw YAML;--rawis unchanged;- search says whether it matched by meaning or by keywords only (and why), wraps the matching passage to the terminal, and colours match scores against each provider's own thresholds;
mind setupruns as five numbered steps, keeps earlier answers when re-run, refuses empty required values, lists the files it will change before changing them, and ends with a summary;- doctor, stats and digest share the "Mega Mind" header; clearer empty states with the next command;
- colours work in classic Windows consoles, and error colours follow stderr;
- layouts follow the real terminal width (stats bars shrink on narrow terminals).
- Docs: Windows/macOS build prerequisites,
cargo install --locked, PowerShell notes, the doctor's one-word embedding check,token_hosts, and where tokens are cached.
0.2.0 (2026-10-31)
- New:
mind doctorchecks settings, AI providers, the index and each agent tool's setup, with ✓/⚠/✗ and what to fix. - New:
mind stats, also shown by plainmind: entries per project and kind, stale counts, most active writers, newest entries. - New:
mind digest [--since 24h|3d|2w|DATE]: what agents recorded recently, grouped by project. - New:
mind setup: one-time, re-runnable configuration (name, reviewer, AI providers, agent tools, projects), merging into existing settings. - New: pluggable AI. Embeddings: local (optional
local-embeddingsbuild feature), Azure OpenAI (keyless via managed identity oraz login), any OpenAI-compatible server, or none (keyword search). Librarian: LM Studio, Azure, OpenAI-compatible, or none. - New: Codex and Grok support (skill, always-on instructions, hooks); Copilot and other tools get an instruction block to paste.
- Search falls back to keywords when the embedding provider is unreachable, and catches up later.
- Stale-entry notes repeat after 10 messages if not handled; only entries actually shown count as told.
- Colour output in terminals (plain when piped or with
NO_COLOR); help with examples. - Duplicate check only compares entries of the same kind.
- Personal names and paths moved from code into settings; Windows and macOS paths.
- Security and robustness fixes from independent audits (Claude and
Grok):
- the librarian sends only git diffs of files inside registered
projects, never whole files, and withholds secret-looking diffs; only
real commit hashes reach
git diff, with external diff tools off; - refs can't escape their project (
.., symlinks, Windows drive letters); - the OS certificate store is used (corporate TLS inspection); Azure
tokens are cached between runs;
AZURE_CLIENT_ID, slow managed-identity endpoints,…/openaiURLs and custom token scopes work; mind recordworks when embeddings are down; mind commits ignore global signing and git hooks;- librarian notes reach agents marked as unverified AI notes;
mind setupwrites settings atomically and keeps a one-time backup;mind edituses a private temp file and editors with arguments; concurrent edits of one entry are refused, not lost;- match thresholds per provider (configurable); Azure keys and connection strings in the secret scan.
- the librarian sends only git diffs of files inside registered
projects, never whole files, and withholds secret-looking diffs; only
real commit hashes reach
- Automated tests (
cargo test). - Removed
mind backup(back up the mind folder however you back up other files).
0.1.0
- First version: entries in git, hybrid search, staleness via file fingerprints, hooks for Claude Code, runbook proposals, LM Studio librarian.