← All changelogs

July 2026

Skill discovery engine, agent onboarding, API consistency

milestone v1.4.0

v1.4 — stable public API freeze

The CLI flags, JSON output shapes, and ranking weights are now frozen. 34 automated tests (go test -race) cover graph build, query scoring, ranking order (golden corpus), serve API JSON-error contract, end-to-end ingest, and memory write — running on every push via GitHub Actions CI. memgraph remember now supports stdin input (was not_implemented). Ranking pipeline consolidated into a single rankNodes function, eliminating triplicated logic across query, recommend, and /api/search.

fix v1.3.4

Serve API unknown endpoints return JSON 404

Unknown /api/* paths (e.g. /api/unknown) now return a JSON 404 error instead of Go's default plain-text 404 page not found. Completes the v1.3.2 "all serve API errors return JSON" contract — previously only known endpoints returned JSON errors, while unknown API paths leaked the default handler. Non-API paths (UI routes) still return plain-text 404.

fix v1.3.3

Serve API limit consistency + git stop word

Serve API /api/search limit=0 now returns all results (was returning 0 — missing limit > 0 check before truncation). limit=-1 also returns all. Now consistent with CLI. Added "git" to stop words — "GitHub" camelCase-splits to "git"+"hub", and "git" was too common, causing GitHub queries to match generic git skills.

fix v1.3.2

Serve API returns JSON errors for all cases

All serve API error responses now return JSON instead of plain text. Unknown nodes → 404 JSON, missing/empty q → 400 JSON, wrong HTTP method → 405 JSON, empty graph → 503 JSON. Added writeJSONError helper for consistent error responses across all API handlers.

fix v1.3.1

--memory-dir override + universal JSON errors

--memory-dir flag now respected by query, recommend, and related commands. Previously, the global ~/.memgraph/skills-graph was always preferred, ignoring the override. All commands now output JSON errors in --json mode (empty args, unknown commands, no command). Global flag scanning moved before command dispatch — memgraph --json recommend and memgraph recommend --json both work.

fix v1.3.0

setup --sync-dir no longer overwrites global graph

memgraph setup --sync-dir <dir> now ADDS the directory to the auto-discovered dirs instead of replacing them. Previously, it would ingest only that dir into ~/.memgraph/skills-graph, wiping the 212-skill global graph with just 1 skill.

feat v1.3.0

related command --limit flag

memgraph related now defaults to --limit 10 (was unlimited, returning 55+ related skills). count field shows total, related field shows the limited list. Use --limit 0 for all, --limit N for top N. Keeps agent output manageable.

fix v1.3.0

Tighter prefix matching

Prefix matching tightened to prevent false positives. "rbm2" no longer matches "rbm21" (different containers). Reverse prefix match (query longer than text word) now requires text word ≥ 5 chars. Fixed "jar/rbm21/manage" returning the wrong skill.

feat v1.3.0

All-words-match bonus + new stop words

Multi-word queries where every non-stopword matches a skill now get a +50 bonus. Helps concept queries like "skill discovery" match skills containing all words. "skill", "skills", "agent", "agents" added to stop words — too common in this context.

fix v1.3.0

bridge JSON errors + graph boost cap

memgraph bridge with invalid/no agent now outputs JSON errors in --json mode (was plain text to stderr). Graph boost cap reduced from 50% to 30% — was still allowing highly-connected nodes to dominate in some cases.

feat v1.2.0

Smart query word splitting

Queries are now split on camelCase, dots, slashes, underscores, and hyphens. "a2aUseCase"["a2a","use","case"], "jar/rbm21/manage"["jar","rbm21","manage"]. All-caps words (JWT, API, SSL) kept whole, not split per-letter. Accents stripped from each word for accent-insensitive matching. Applied to all 3 scoring paths (recommend, query, serve /api/search).

fix v1.2.0

Graph boost capped at 50%

Highly-connected nodes (120+ edges) were dominating over better word matches. E.g. "jar mongo vault" returned jar-machin-vault-manage (120 edges) instead of jar-mongo-vault-manage (74 edges). Graph boost now capped at 50% of the node's own score, so word matches always dominate. Boost rate reduced from 5% to 2% per edge.

fix v1.2.0

graph-from-dir no longer overwrites global graph

memgraph graph-from-dir <dir> with a specific directory now writes to the project-local .memgraph instead of the global ~/.memgraph/skills-graph. Only the no-arg form (auto-discover all 4 skill dirs) writes to the global graph. Use --memory-dir to override.

fix v1.2.0

API method validation + empty remember fix

/api/sync now rejects non-POST methods with 405 (was accepting DELETE, PUT, etc.). memgraph remember "" in --json mode now returns invalid_argument error JSON (was printing "Enter memory content" prompt to stderr).

feat v1.1.0

Skill Discovery Engine

Three new commands for finding relevant skills: memgraph recommend "<task>" ranks skills by relevance to a task description, memgraph query "<keywords>" searches by keyword, memgraph related "<skill>" gets connected skills. Scoring uses IDF weighting, accent folding, project name boost, extended content matching, graph-based relatedness, stop words, and stemming. 212 skills from 4 directories.

feat v1.1.0

One-command agent onboarding

memgraph setup auto-discovers all 4 skill directories, ingests them into the graph, upserts AGENTS.md with usage instructions, and creates .devin/skills/memgraph-usage/SKILL.md. Agents in the repo will now discover and use memgraph for skill lookup before starting work.

feat v1.1.0

Auto-discover all skill directories

memgraph graph-from-dir (no arg) and memgraph serve (no --sync-dir) now auto-discover all 4 standard skill directories. Previously only a single explicitly-specified directory was ingested, causing 17 skills in ~/.config/devin/skills to be missing from the graph. Graph grew from 195 to 212 skills.

fix v1.1.0

HTTP API consistency

/api/search now uses the same IDF-weighted scoring as the CLI and returns QueryResultItem JSON. /api/nodes/<id> returns JSON from the graph node (was raw markdown frontmatter). All endpoints return proper JSON errors.

fix v1.1.0

JSON format consistency across all commands

All 15+ commands now output raw JSON (no {version, data} wrapper). Memory and graph commands all use consistent {count, results} or {id, status} formats. Errors output {error: {code, type, message}} in --json mode.

feat v1.1.0

Bridge templates include skill discovery

All 3 agent bridges (claude-code, opencode, copilot) now include a "Skill Discovery" section with memgraph recommend, memgraph query, and memgraph related commands. Previously only memory commands were documented.

perf v1.1.0

70% token reduction in recommend output

Filtered namespace nodes and sub-file references from results. Limited related field to 5 items sorted by relation priority. Sub-file references (README.md, references/*.md) excluded from main query and recommend results.

refactor v1.0.0

Galaxy view is now the sole UI

Removed the 2D Cytoscape.js and 3D Three.js views. The Via Lactea galaxy visualization is now served at the root path. Unknown paths return 404. 834 lines of dead code deleted.

feat

Drag nodes to reposition

Left-click+drag on any star to move it on the z=0 plane. Glow, label, and connected edges follow in real-time. Click without drag (4px threshold) still opens the detail panel. Pan is disabled during node drag.

perf

Panning fix and batched glows

Left-click drag now pans (was right-click only). Replaced 293 individual glow sphere meshes with a single Points cloud (1 draw call). Removed per-frame glow pulse loop. Label scale updates cached. Stars 3000→1500, dust 800→400.

feat

Via Lactea galaxy visualization

2D top-down galaxy view with spiral arm layout. 1500 background stars with twinkle, 400 dust particles with additive blending, node glow halos, namespace nodes as golden core stars. Additive blending throughout for Milky Way luminosity.

feat

3D node labels as canvas-texture sprites

Each node gets a floating label above it. Namespace labels larger (48px) and bright, skill labels smaller (32px) and muted. Labels scale with camera distance. Cached canvas textures for performance.

feat

Three.js 3D graph visualization

3D phyllotaxis layout with spherical node distribution. OrbitControls for rotate/zoom/pan. Raycasting for node hover and click. Same search/filter/copy-paths/sync functionality.

feat

Multiple sync directories + plain .md ingestion

--sync-dir accepts comma-separated paths for multiple source directories. Scanner picks up both SKILL.md and plain .md files. Deduplicates by ID across sources. No default directory — the user specifies what to sync.

feat

Rebrand to memgraph-cli

Renamed from sick-memory to memgraph-cli. Binary is now memgraph. Storage at ~/.memgraph with fallback to ~/.sick-memory. New repo at github.com/javimosch/memgraph.

fix

closeBtn declaration restored

Fixed ReferenceError that prevented the entire graph.js IIFE from executing, causing a blank graph.