Skip to content

v0.7.130

Choose a tag to compare

@github-actions github-actions released this 19 Jun 05:16
· 77 commits to master since this release

Added — update_skill MCP tool

  • New update_skill tool revises an EXISTING DB-resident skill — the counterpart
    to create_skill, which deliberately rejects name collisions. Patches any of
    body / description / steps / preconditions / postconditions on the
    skill matched by name, and re-embeds so recall(scope="skills") reflects
    the new content. Before this, the only way to revise a shipped skill body was
    raw SurrealQL — and a naive UPDATE skill SET body = ... left the OLD embedding
    in place (the maintenance backfill only fills rows WHERE 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 = NONE rather than leaving it stale, so the backfill recomputes it.
  • Wired across all 5 MCP tool surfaces; test/update-skill.test.ts covers 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 with git add -u, which skips NEW untracked files — so the compiled
    dist/tools/update-skill.js was never committed. CI runs the test suite
    against the committed dist/ (there is no prebuild step), so node dist/mcp-server.js hit a missing-module import, crashed on startup, and the
    mcp-handshake test 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 uses git add -A so generated output can't be
    dropped again. (update-skill.test.ts is a mock-based unit test, kept from the
    investigation — fast, no DB dependency.)