MeowKit
Changelog

Changelog

MeowKit release history and changes.

Upgrade

npx mewkit upgrade

Fresh install: npx mewkit init. See Releasing for the full release process. Section schema: each version uses only the relevant sections from Highlights, New Skills, New Agents, New Commands, CLI, Features, Improvements, Removals, Bug Fixes, Beta.

2.15.0 (2026-07-27) — Strategic Supervision & the Portable Backend Surface

Ships as kit 2.15.0 and mewkit CLI 2.3.1 (patch — the CLI gains a new command surface and a safer upgrade path without changing an existing flag or subcommand). A new advisory agent can supervise a single delivery run when you ask for it, and the backend skill surface becomes portable across every supported runtime.

Highlights

Pass --advice to a supported skill and the athena agent supervises that one run: it sets direction before work starts, unblocks a stalled run, and reads finished work against its own evidence before the normal reviewer sees it — and it can send the work back for correction. It approves nothing. Every directive is evidence a human reads at a gate, never the approval itself, and supervision never counts as verification. Without the flag there are zero calls and no state is written.

The backend surface is also rebuilt around discovery instead of defaults. mk:backend-development and mk:devops join a redesigned mk:database, and mk:api-design becomes mk:api-design-principles. The four now read the engine, platform, and contract a project already has before proposing anything — no assumed database, no assumed cloud, no invented latency target — and each states plainly what it does not own.

New Skills

SkillPurpose
mk:backend-developmentDrives a backend change end to end and routes the contract, data, and auth parts to their owners.
mk:devopsInfrastructure, containers, CI/CD, deployment safety and rollback — reads no secrets and approves no release.

New Agents

  • athena — strategic supervision at named checkpoints, and a stateless strategy consult where a runtime exposes direct delegation. Read-only, and it never interviews the user.

New Commands

  • mewkit advice begin — opens a checkpoint, enforcing the caps, stage legality and idempotency before anything is delegated.
  • mewkit advice commit — records the result, writes the receipt, and refuses a disposition that is illegal for the stage.
  • mewkit advice status — the resume view: current stage, calls used, latest directive, next safe action.
  • mewkit advice validate-packet — validates an input packet, an output packet, or a direct-consult brief.

CLI

  • Upgrading a Codex or Cursor project now removes a skill directory the bundle no longer ships, but only when its installed contents still match what the toolkit recorded at install time.
  • A skill directory you edited is preserved byte for byte and reported by name, and --force does not widen this — it can overwrite a currently managed skill, never an unproven retired one.
  • A dry run reports the planned removal and writes neither the directory nor the ledger.

Features

  • --advice on mk:brainstorming (deep workflow only), mk:plan-creator, mk:cook, mk:fix, mk:autobuild and mk:ship, composable with every existing flag.
  • Supervision runs a fixed cadence — direction, rescue, review, recheck — capped per skill, with mk:ship carrying a separate budget for each of prepare, release and publish.
  • Returned work goes back to its current owner with corrections that each name the proof that closes them; a second unresolved return escalates to a human rather than looping.
  • Continuity comes from a compact per-run record rather than a transcript, so a crashed run resumes without re-spending a checkpoint.
  • mewkit providers <provider> reports supervision support per runtime, tracking the harness and the direct consult as separate capabilities.
  • mewkit task-state lists the evidence paths a record tracks.

Improvements

  • --advice and --html are orthogonal: combining them changes no activation, approval, validation, export or ownership of the visual pipeline.
  • mk:workflow-orchestrator is not a supervision entry point — it carries only an opaque run id across phase boundaries, so an orchestrated child can never supervise itself.
  • mk:database is now portable and engine-neutral — it discovers the engine, migration tool and ORM a project already runs instead of assuming PostgreSQL, and asks when the repository does not say.
  • Database guidance leads with data invariants rather than syntax, requires a recovery path for any change to a table that already holds data, and never runs a migration or backfill against a live database.
  • The accurate PostgreSQL specifics are kept, each restated as conditional on the engine actually in use rather than as a universal rule.
  • Help, ask-me, the agent detector and the plan creator now share one API / backend / database / DevOps decision matrix, so the four adjacent skills route the same way from every entry point.

Removals

  • mk:api-design is replaced by mk:api-design-principles with no alias — invoke the new id, which covers RPC and event contracts alongside REST and GraphQL. The old documentation URL redirects to the new page.

Bug Fixes

  • A supervision correction could overwrite an approved visual plan artifact — a correction now writes only an existing workflow evidence index, checked on the resolved path so a symlink cannot redirect it.
  • The harness inventory no longer reports read-only agents as writing the files they merely cite.

Beta

  • Supervision is authored for Claude Code, Codex and Cursor, but no runtime has been verified end to end yet: every capability reports unverified, and a runtime that cannot reach the agent prints an unavailable notice and continues unsupervised. Run mewkit providers <provider> to see the current state.

Migration Notes

  • Run npx mewkit upgrade to pick up the new skills. An untouched api-design skill directory is removed as part of the upgrade; an edited one is kept and named in the output so you can merge it yourself.
  • Replace mk:api-design with mk:api-design-principles anywhere you invoke it by name — there is no alias, so the old id resolves to nothing.

2.14.8 (2026-07-26) — Runtime-Neutral State & the Documentation Rebuild

Ships as kit 2.14.8 and mewkit CLI 2.2.4 (patch). Project state and configuration finish their move out of the provider directory into .meowkit/, the documentation site is rebuilt around one page per task, and the Codex hook bundle stops denying edits when a session starts below the repository root.

Highlights

Everything the toolkit writes for itself now resolves through the runtime-neutral .meowkit/ root — memory, telemetry, session state, and cache each get their own class, and the project config, dotenv example, and manifests move there too. Installs created before the move keep working: the legacy locations are still read, so no project has to relocate anything by hand.

CLI

  • Memory, telemetry, session state, and cache each resolve to their own class under .meowkit/, and the wiki index and append logs land in the class they belong to.
  • The project config is read from .meowkit/config.json — an install still holding .claude/meowkit.config.json keeps working.
  • The dotenv example, gitignore block, MCP example, harness inventory, and pack manifest moved out of .claude/ into .meowkit/.
  • The command surface is declared once and checked against the implementation, so a documented command that no longer exists fails the build instead of the user's shell.
  • The Codex bundle resolves the project root from the git top level, falling back to a marker directory, instead of trusting the hook payload's working directory.
  • The Cursor bundle registers the documented sessionEnd event.

Improvements

  • Hooks honor MEOWKIT_HOOK_PROFILE; the older MEOW_HOOK_PROFILE spelling is still accepted.
  • The documentation site is reorganized around what the reader is holding — one page per command family, per integration, and per workflow, instead of the same setup block repeated six times.
  • Reference indexes and the hook registry are generated from source, so a registered hook or shipped skill cannot be missing from the docs.
  • Docs CI gates on stale runtime values, broken internal links, navigation coverage, frontmatter, and reference coverage.
  • Release history moved to its own archive page and out of the learning path.
  • The mk-loop skill directory is renamed to loop, matching every other skill directory, which carries its namespace in frontmatter rather than the directory name.

Bug Fixes

  • Codex hooks treated the session working directory as the project root — starting Codex in a subdirectory made Gate 1 look for tasks/plans in the wrong place and deny every source edit. The hooks now resolve the root themselves, matching the Codex documentation's own guidance that a session may start below the root.
  • Curated-memory capture through the CLI ignored the legacy-tree fallback, so a project whose memory still lived in .claude/memory/ had new entries written to a second location.
  • Documentation nav tabs covered page content, and the CLI, Reference, and Workflows sections were unreachable.
  • Corrected the stated license to MIT, the install requirements, the opt-in status of TDD, and the Codex migration rule, each of which contradicted the shipped behavior.
  • The portability, commands, and migration pages claimed Cursor has no documented hooks surface, contradicting both Cursor's documentation and the .cursor/hooks.json the Cursor bundle has been shipping.

Migration Notes

  • npx mewkit upgrade to pick up the new layout. No manual file moves are required — legacy config and memory locations are still read.

2.14.7 (2026-07-25) — Per-Agent Model Routing

Ships as kit 2.14.7 and mewkit CLI 2.2.3 (patch). Every Claude Code agent now declares the model its role actually needs instead of inheriting the session model or defaulting to the cheapest tier, and a new read-only explore agent ships for all three providers.

Highlights

Each of the bundled Claude Code agents is pinned to one of four tiers — advisory, deep, standard, or bounded — so planning, review, security, and design work runs on a deep-reasoning model while wrapper-driven integration work stays on a bounded one. This brings Claude Code in line with the Codex and Cursor bundles, which already pin a model per agent.

New Agents

  • explore — fast, read-only agent optimized for searching and analyzing codebases: locates code, traces call and data paths, and reports path:line evidence without writing anything. Ships for all three providers on a bounded tier (haiku on Claude Code, gpt-5.4-mini at medium effort on Codex, composer-2.5[fast=true] on Cursor) and stays in the Cursor default core pack.

Improvements

  • Deep-reasoning agents (planner, developer, architect, reviewer, security, evaluator, brainstormer, ui-ux-designer, jira-analyst, jira-evaluator, jira-estimator, confluence-spec-analyst) now pin the exact claude-opus-5 id rather than inheriting the session model or running on the cheapest tier.
  • Judgement-bearing agents (orchestrator, tester, researcher, analyst, journal-writer, and the Jira/Confluence agents that interpret partial failures or customer-facing boundaries) run on sonnet.
  • Procedural agents (project-manager, documenter, shipper, git-manager, story-sizer, and the bounded Jira/Confluence wrappers) stay on haiku.
  • advisor keeps fable, matching the advisory tier the Cursor bundle pins.
  • New guide: Claude Agent Models — the per-agent table, the accepted model: values, and how to change a pin.

Removals

  • The Cursor bundle's explorer agent is renamed to explore for one name across providers. A project installed before this release keeps the old .cursor/agents/explorer.md — delete it after npx mewkit upgrade so the two do not compete for auto-routing.

CLI

  • The model taxonomy accepts claude-opus-5 as a named profile, so mewkit validate --agents resolves an exact-id pin instead of rejecting it as unknown.
  • The shipped Codex and Cursor bundles carry the new explore agent.

Migration Notes

  • npx mewkit upgrade to pick up the new per-agent pins. claude-opus-5 requires an account entitled to that model; if yours is not, change the affected agents to sonnet or inherit.

CLI 2.1.0 (2026-07-24) — Codex Cutover Complete

Kit unchanged at 2.14.6; this is a mewkit CLI 2.1.0 release (minor). Completes the Codex-native migration: the toolkit's Codex bundle is now fully hand-authored, so the semantic porter and the generic Codex converter pipeline are retired.

CLI

  • mewkit migrate codex now copies only the hand-authored Codex bundle — it no longer converts a project's own custom .claude/agents, .claude/commands, or .claude/hooks (toolkit agents ship in the bundle), and prints a one-line notice pointing to manual porting when such custom content is detected.
  • mewkit migrate codex --include-mcp is unchanged — it still merges a project's .mcp.json into .codex/config.toml [mcp_servers].
  • mewkit migrate cursor is unchanged — Cursor export stays an automatic runtime conversion of .claude/.

Removals

  • Retired the internal Codex porter and converter pipeline — the Codex bundle is now authored directly. See Releasing step 1e for the new hand-authored maintenance workflow.

2.14.6 (2026-07-23) — Runtime-Neutral State Root & Codex-First Migration

Ships as kit 2.14.6 and mewkit CLI 2.0.1 (major — breaking CLI changes below). The kit change is the plan-completion lifecycle wiring — agents now archive a finished plan via npx mewkit plan archive; the bulk of the release is CLI-side.

Project state moves out of the provider directory into a runtime-neutral .meowkit/ root, mewkit migrate safely relocates any legacy .claude/memory/ content, and the migration surface is trimmed to the actively-maintained targets (Codex, Cursor).

Features

  • Runtime-neutral .meowkit/ state rootmemory/, telemetry/, state/, cache/, migrations/. Every structured memory write goes through one validated contract (schema → secret scrub → injection scan → per-store lock → atomic replace). mewkit memory now reads/writes .meowkit/memory.
  • Safe legacy-memory migrationmewkit migrate runs a read-only preflight, then a locked, staged, atomic transaction that relocates .claude/memory/ into .meowkit/ (unknown files preserved under memory/legacy/). Conflicts abort; nothing is overwritten or merged silently; a recoverable archive is kept; --dry-run makes zero changes. mewkit doctor --state reports post-migration legacy-path drift.
  • Authored Codex bundlemewkit migrate codex copies a hand-authored, Codex-native bundle (agents as .codex/agents/*.toml; skills/commands/rules/modes as .agents/skills/*/SKILL.md; hooks as .codex/hooks.json) instead of a runtime transform.
  • Per-agent Codex model routing — every authored .codex/agents/*.toml now carries model_reasoning_effort derived from the source Claude tier (opus/fable → xhigh, sonnet → high, haiku → medium; inherit agents omit it and inherit Codex's default), mirroring how each .claude/agents/*.md declares its model:. model is left unset (Codex model ids are deployment-specific).

CLI

  • Added mewkit plan archive <plan-dir> — finishes a plan: stamps status: completed across plan.md + every phase file and .plan-state.json (preserving its visual block; visual-plan/plan.json untouched), clears a dangling active-task pointer, then moves the directory into tasks/plans/archive/. Fail-closed on collision, --dry-run supported. Agents call it at the end of a completed plan (cook Phase 6). A mutating sibling to plan approve; read-only plan status/check are unchanged.
  • Added mewkit memory capture — routes a ##pattern / ##decision / ##note prompt into the right .meowkit/memory store through the write contract.
  • Added mewkit init --target <provider>--target codex creates a Codex-only project by copying the authored Codex bundle shipped in the package (no .claude/, no conversion); other providers unpack .claude/ then export. Replaces the old --migrate-to.
  • mewkit init provider multiselect — a fresh install without --target now opens a picker (Claude Code preselected, Codex, Cursor) and provisions each selected toolkit: Claude Code → .claude/, Codex → authored bundle, Cursor → .claude/ + export. Codex-only selection yields a codex-only project (no release download). Shown on new installs only; --target bypasses it.
  • mewkit upgrade now propagates to installed provider toolkits (.cursor/, .codex/) after refreshing .claude/, and refreshes the authored bundle in a codex-only project.
  • Removed mewkit build-plugin, mewkit validate --plugin / --parity, and init --migrate-to.

Removals

  • Migration targets reduced from 16 to 3 — only codex and cursor remain as targets (claude-code is the source format). Removed: amp, antigravity, cline, droid, gemini-cli, github-copilot, goose, kilo, kiro, openhands, opencode, roo, windsurf.
  • Native plugin distribution retiredplugin/, the Claude/Codex marketplaces, and mewkit build-plugin are gone. Install via npx mewkit init (or npx mewkit upgrade); there is no marketplace / plugin-install path.
  • modelRouting config removed — the unused root-config block and the migrate per-provider model-override mechanism (.meowkit.config.jsonmodelRouting.providers.<tool>.tiers) are gone. Model routing is now per agent: Claude Code via each agent's model: frontmatter, Codex via each agent TOML's baked model_reasoning_effort. The authored bundle is the single source; edit an agent TOML or use a Codex config profile to pin a model.

2.14.5 (2026-07-20) — High-Assurance PR Review

The mewkit CLI ships alongside this kit as 1.19.1 (see CLI below).

Highlights

A new evidence-gated PR-review path. mk:review-pr --assured runs a deterministic ReviewSession: an isolated, SHA-bound, detached review worktree (the user's checkout is provably untouched), one immutable hash-pinned diff, a diff-scoped impact map with targeted scout escalation, a scope-driven reviewer roster, session-observed coverage, and a mechanical verdict gate that cannot emit a PASS/Approve without complete, hook-corroborated coverage. GitHub writes happen only through --reply plus an immediate user confirmation bound to the reviewed revision.

New Commands

  • mewkit review prepare <pr-url | owner/repo#n | n> [--remote <name>] — provision an isolated SHA-bound worktree from a PR (fork-safe: pull/N/head fetched from the base-repo remote), capture one immutable hash-pinned diff + PR metadata/CI as untrusted DATA, and write a deterministic impact map + reviewer roster/briefs under tasks/reviews/<session>/.
  • mewkit review read --session <id> --as <role> <path> — path-confined, evidence-recording read wrapper (assigned reviewer reads flow through it so coverage is observable).
  • mewkit review coverage --session <id> — roster ∩ evidence gap gate; reports evidenceLevel (session-observed vs attested) and exits non-zero on any gap.
  • mewkit review compose --session <id> — the mechanical gate: verify the diff hash, re-run coverage, apply the deterministic verdict cap table, resolve inline anchors by snippet, and emit a verdict-gate-compatible proof bundle + SubmitPayload.
  • mewkit review submit --session <id> --reply --confirm <payload-hash> — the sole GitHub write path; re-checks the PR head SHA (aborts without posting if it changed) and is idempotent.
  • mewkit review cleanup --session <id> — remove the ephemeral review worktree (manifest-nonce-owned); the session audit trail is kept.
  • mk:worktree review-pr / review-pr-cleanup — detached, nonce-owned review worktrees; cleanup refuses anything but a matching manifest.

Features

  • mk:review-pr gains an opt-in --assured lane (full ReviewSession pipeline) and keeps its fast, read-only default lane unchanged.
  • Scope-driven review topology (small / medium / large tiers) with whole-diff roles a per-chunk territory reviewer cannot own, plus heavy-file invariant slices.

Improvements

  • mk:review PR mode consumes the prepared session; step-03 runs the coverage gate before verdict composition, and step-04 composes the verdict through mewkit review compose.
  • Gate 2 (gate2-check.sh) gains a narrow review-session extension that validates a review verdict's embedded coverage block (hash-clean, no gaps, session-observed required for PASS); inert for non-review verdicts.

Security

  • All git/gh invocations in the review pipeline use array-argv execFileSync (no shell). Untrusted PR content is quarantined under untrusted/ and never treated as instructions; the read wrapper is realpath-confined against symlink exfiltration.
  • Honest capability limit: subagent tool calls do not reach the parent PostToolUse hook, so session-observed is anti-accidental corroboration (not unforgeable) and proves session-level — not individual-reviewer — access; subagent-driven reviews are attested and cannot earn Approve.

CLI

  • The mewkit CLI is bumped to 1.19.1 for the review command group (prepare / read / coverage / compose / submit / cleanup).

2.14.4 (2026-07-19) — The Orientation & Transition Spine

The mewkit CLI ships alongside this kit as 1.19.0 (see CLI below).

Highlights

A fresh session can now recover what it was doing from durable task state alone — no plan or wiki scanning. Explicit activation records one active task plus a canonical pointer, mewkit orient returns a bounded, honest resume envelope (active / none / ambiguous / corrupt-only), and the resume hook injects it through a trust-gated installed runtime with a labeled checkpoint fallback. Trace logging is now one shared append primitive across the shell and CLI, task work is queryable by id, and wiki recall verifies its own index before research trusts it.

CLI

  • mewkit orient [--json] — safe resume orientation built only from durable task state; reports active, none, ambiguous, or corrupt-only, and never scans plans or the wiki.
  • mewkit plan approve now durably activates the plan by default (one active record + canonical task pointer); --no-activate opts out, and a failed activation exits non-zero rather than claiming success.
  • mewkit task new --activate — durably activate no-plan work.
  • mewkit task-state update gained --blocker, --verification, --evidence-ref, and --capability-decision, and emits a task-transition trace after a successful write.
  • mewkit query --task <id> — task-joined evidence and plan linkage; mewkit query --presets — recovery-measurement metrics (outcome distribution, stale-warning frequency, transitions missing task context, verification re-runs).
  • mewkit wiki verify [--json] — canonical-vs-index consistency check (page set, per-page body hash, provenance, FTS parity); research refuses to run against an inconsistent index, and wiki context warns when the index looks stale.

Improvements

  • One shared trace-append primitive now backs every writer — the shell hook and the CLI contend on the same sidecar lock, so concurrent appends can no longer interleave or corrupt a line.
  • The resume/clear/compact orientation hook runs through a trust-gated installed runtime (absolute, in-project, symlink-resolved executable) and falls back to a clearly labeled checkpoint summary when no runtime is available; fresh-session startup stays disabled pending its release gate.
  • Providers surface an explicit, report-only Qwen entry (no support claimed), and the session-orientation instruction is documented in the capability bootstrap.

Migration Notes

  • The derived index schema is now v4 (adds task_id / plan_path columns for task-joined queries). Additive — it auto-applies on the next mewkit index / mewkit wiki reindex; no user action required.

2.14.3 (2026-07-19) — Jira & Confluence Agents on Haiku

The mewkit CLI is unchanged at 1.18.2 — this release ships kit content only.

Improvements

  • The 16 Jira and 5 Confluence domain agents now pin to the Haiku model tier instead of inheriting the session model, so their CLI-wrapper operations (issue and page CRUD, search, bulk, lifecycle) run on the cheapest tier.

2.14.2 (2026-07-18) — Composed Capability Recall

The mewkit CLI ships alongside this kit as 1.18.2 (see CLI below).

Highlights

When capabilities resolve selects a knowledge-sensitive capability, it now composes a bounded, read-only recall of prior project knowledge directly into the result — the agent reads one knowledgeRecall envelope instead of running a separate wiki lookup. The same activation policy reaches both Claude Code and Codex.

CLI

  • capabilities resolve now attaches a knowledgeRecall envelope to a selected capability — a required-class capability gets exactly one bounded wiki recall (≤3 snippets, no page bodies); conditional, none, and every non-selected outcome perform zero automatic wiki access.
  • Missing, empty, and errored wiki indexes are now reported distinctly and always fail open — recall never blocks a resolution.
  • capabilities resolve --record — opt-in flag that logs one recall decision (counts and status only, never recalled content) through the trace log; default runs stay write-free.
  • A capability provided by the running mewkit CLI (invoked via npx or a workspace bin) now resolves as available with "current CLI process" evidence instead of a false "not on PATH".
  • mewkit --help now lists the wiki command.

Improvements

  • wiki context routes through a shared read-only probe that sanitizes free-text queries into valid full-text-search terms and reads the index without creating -wal/-shm sidecar files.

2.14.1 (2026-07-18) — Harness Integrity & Provider Parity

The mewkit CLI ships alongside this kit as 1.18.1 (see CLI below).

Highlights

This release closes the 2.14.0 harness audit. Gates now prove authority rather than paperwork, the evaluator rejects forged verdicts, provider support is stated from one honest source, Codex migration is default-deny with a measured parity score and a post-migration validator, and the release now gates on its own quality checks.

CLI

  • mewkit validate --target codex <dir> — a read-only post-migration gate for a generated Codex project that checks the config/hook wiring, that hook wrappers exist, are executable, and carry the deny contract, that agent TOMLs parse, and that installed skills declare a supported runtime and carry no host-bound tool tokens.
  • mewkit providers codex and --lifecycle now render from a single provider-truth source, and both the migration output and README report a skill parity: N% score.
  • mewkit migrate codex is default-deny — a portable skill installs, a host-bound skill installs only through a tested adapter or is skipped with a report reason; mewkit migrate codex --include-unportable overrides the policy with an EXPERIMENTAL marker.
  • The cross-harness journey (J10) runs a deterministic layer in CI — migration, target validation, then route/artifact/denied-token/side-effect oracles — with no model calls, reporting structural (not semantic) parity.
  • The benchmark path now enforces its cost cap: a run halts when cumulative cost reaches the effective cap (--budget or MEOWKIT_BUDGET_CAP override the tier cap).
  • mewkit inventory --emit-counts regenerates documentation count tokens from the inventory; npm run release:check aggregates the release-readiness gates for contributors.

Improvements

  • Gate 1 now requires a fresh approval receipt bound to the plan revision — plan-presence alone no longer opens it, and editing the plan after approval re-arms the gate.
  • Every pre-ship blocked path exits with a structured deny (exit 2), and a missing gate checker fails closed for ship commands.
  • The evaluator recomputes its weighted score from the rubric preset and verifies evidence provenance, so a verdict whose score does not follow from its rubrics is rejected.
  • Curated memory has a single JSON write path — a write to a non-canonical view is corrected, and a failed capture surfaces a notice instead of skipping silently.
  • The release gates on its own checks (tests, lint, typecheck, format, portable validation, inventory, version sync, and plugin-payload drift), versions sync from the root as the single source, and documentation counts generate from the inventory.

Migration Notes

  • npx mewkit upgrade to pick up the hardened gates and provider changes — a plan now needs npx mewkit plan approve <plan-dir> after human approval (or MEOWKIT_GATE1_PRESENCE_ONLY=1 to opt out).

2.14.0 (2026-07-17) — Provider Conformance, Contract Safety & Evals

The mewkit CLI ships alongside this kit as 1.18.0 (see CLI below).

Highlights

This release hardens skill contracts and provider portability. Generic skill bodies are cleaned of provider-specific tool names and model IDs so they stay honest per harness, mewkit validate now reports operation-level conformance, and the cook workflow stops after reporting — shipping and reflection are explicit, user-invoked steps rather than automatic.

CLI

  • mewkit validate now reports operation-level conformance — it flags a logical operation an installed skill relies on (via its declared tools) that an advertised provider cannot honor, so a cross-harness payload never silently advertises an unsupported capability.
  • Skill metadata now carries typed dependency edges, surfaced through the generated inventory.

Improvements

  • cook stops after reporting — shipping and reflection are explicit, user-invoked steps, so a run makes no unrequested commit or push.
  • Canonical workflow definitions and stricter execution gates across skills, with contract repairs that remove duplicated or conflicting phase ownership.
  • Generic skill bodies no longer carry provider tool names, model IDs, or brand tokens; skills genuinely tied to one harness are annotated honestly instead of claiming portability.
  • The quick workflow is formalized with a tighter context budget for low-complexity tasks.
  • plan-creator is slimmed — visual rendering and lifecycle tasks moved into dedicated skills.
  • scale-routing gains a bilingual English + Vietnamese routing eval covering the common task clusters.

Migration Notes

  • npx mewkit upgrade to pick up the new skill contracts and the CLI — a cook run that previously auto-shipped now stops after reporting, so invoke shipping explicitly.

Older releases

Everything before this line lives in the changelog archive, in full and in the same format:

If you followed a version anchor and landed at the top of this page, that release is in the archive — the list above links straight to it.

On this page