Repository navigation
webmcpify v0.7.0
Verification runners no longer have to invent their own crash-safety layer for
mutating tools. The skill now ships a dependency-free host-side journal helper
and wires its Playwright template through durable pre-dispatch, cleanup and
settlement hooks.
What changed
- Acquires the never-replaced
.webmcpify/manifest.locksidecar withflock(1)
where present or macOS/FreeBSDlockf(1)descriptor mode, and fails closed if neither
advisory-lock command is available. - Binds the manifest to a stable sidecar identity, rejects symlinks, hard links,
inode swaps and malformed journals. The runner retains the locked descriptor,
removing a separately killable holder from the dispatch boundary. - Records a canonical-arguments fingerprint and a durable
startedentry before
each valid example, invalid example and mutating cleanup action. - Settles an entry only after an independent read path establishes the effect or
its absence and required cleanup has completed. - Migrates manifests without
mutationExecutions, invalidating historical
verification evidence without inventing in-flight calls. - Covers concurrent runners across atomic manifest replacement, persistence
failure before dispatch, runner death, corrupt safety state, sidecar
replacement and legacy-manifest migration.
Compatibility and evidence
This is a backward-compatible verification-workflow expansion from v0.6.1. It
does not change the vendored browser runtime or the application-facing WebMCP
contract. The helper requires Node.js 20 and either flock(1) or lockf(1);
mutation verification remains safely not-run on platforms without either. The
same portable regression runs on Linux and macOS and declares that prerequisite
as its only platform skip.
Compare: v0.6.1...v0.7.0