v0.7.130
·
77 commits
to master
since this release
Added — update_skill MCP tool
- New
update_skilltool revises an EXISTING DB-resident skill — the counterpart
tocreate_skill, which deliberately rejects name collisions. Patches any of
body/description/steps/preconditions/postconditionson the
skill matched byname, and re-embeds sorecall(scope="skills")reflects
the new content. Before this, the only way to revise a shipped skill body was
raw SurrealQL — and a naiveUPDATE skill SET body = ...left the OLD embedding
in place (the maintenance backfill only fills rowsWHERE embedding IS NONE, so
it never refreshes a stale-but-present vector), silently desyncing the vector
index from the body. If the embedding service is unavailable the tool sets
embedding = NONErather than leaving it stale, so the backfill recomputes it. - Wired across all 5 MCP tool surfaces;
test/update-skill.test.tscovers the
re-embed, NONE-fallback, not-found, no-field, and short-body paths.
Fixed — ship the new tool's compiled output
- v0.7.127–0.7.129 failed CI for one root cause: the release commits staged
sources withgit add -u, which skips NEW untracked files — so the compiled
dist/tools/update-skill.jswas never committed. CI runs the test suite
against the committeddist/(there is no prebuild step), sonode dist/mcp-server.jshit a missing-module import, crashed on startup, and the
mcp-handshaketest timed out waiting for a response. The earlier "CI timing"
and "contention" theories were wrong — re-running v0.7.126's workflow stayed
green, isolating the cause to this release's diff. The dist file is now
committed; release staging usesgit add -Aso generated output can't be
dropped again. (update-skill.test.tsis a mock-based unit test, kept from the
investigation — fast, no DB dependency.)