Skip to content

v0.2.1

Latest

Choose a tag to compare

@acidblock acidblock released this 31 Jul 06:53
bdc4063

First patch release on the public repository.

Fixed

  • Interrupted runs no longer leave the target module mutated (#1). sm map / plan / verify mutate the target in place and previously restored it only on normal completion or on the next run's self-heal. A SIGTERM (harness timeout, killed CI step) could leave the module rewritten on disk unnoticed. The engine now restores the original in-process, before exit, via window-scoped SIGINT/SIGTERM handlers (chaining to the prior disposition — host processes keep their signal handling) plus an atexit hook. The .sm-recovery sidecar remains the SIGKILL backstop. Reported by a downstream consumer — thank you.
  • pip install 'shadow-mirror[mcp]' works again (#3). mcp 2.0.0 removed the vendored FastMCP the sm-mcp server is written against; the extra is now bounded to mcp>=1.0,<2. Migration to the 2.x API is tracked in #4.

CI / project

  • Fork PRs no longer fail on the unreadable C4-denylist secret — the gate skips there and stays loud-fail on trusted builds.
  • ruff pinned (0.16.0) with the lint bar declared explicitly in pyproject.toml, so linter-default drift can't move it.
  • Community-health files added (#2): code of conduct, contributing guide, security policy (with private vulnerability reporting enabled), issue forms, PR template.

Full changelog: v0.2.0...v0.2.1