v0.99.7
Added
-
OpenCode's ACP editor gate now proves the governance path, not only a prompt
round trip. Every pinned Neovim, Emacs, Zed, and JetBrains lane must discover
synapse_git_claimthrough OpenCode's native MCP catalog, fail a write before
ownership, acquire an exact Git/path claim, allow only the claimed write,
release with durable evidence, and fail another write after release. The MCP
face resolves real Git context without silently widening paths and validates
the hub's release receipt. ACP evidence is private, content-minimised, bounded,
request-correlated, capability/version checked, and GUI readiness is driven by
observable session state rather than timing guesses. -
A dedicated OpenCode editor E2E workflow now launches pinned real
CodeCompanion.nvim, Emacs Agent Shell, Zed, and JetBrains AI Assistant
clients against OpenCode 1.17.20 and a deterministic local provider. Each
lane fails closed unless the editor identifies itself over ACP v1, creates a
session, sends the exact prompt, receives anend_turnresponse, and reaches
the expected model; supply-chain hashes or exact commits pin every downloaded
client surface. Bounded private traces retain protocol metadata and prompt
fingerprints without prompt content. -
The
0.99.7distribution gate now verifies the exact public PyPI wheel and
source archive, the packaged MCP ownership marker, and the immutable official
MCP Registry record before reporting publication. The operator flow pins and
verifies the official publisher binary, validatesserver.json, preserves the
owner-only authentication step, and refuses to infer registry publication from
repository metadata or an older live version.
Fixed
-
Auto-release git hooks are now worktree-aware. Git worktrees share one hooks
directory, so the singlepost-commit/post-mergehook thatsynapse git-hook
andsynapse git-initinstall fired in every linked worktree under the identity
baked at install time — mixed-identity worktrees had to fall back to
--auto-release-on manual. The hook now passesgit-release --resolve-identity,
which reads thesynapse.identity/synapse.uri/synapse.tokenFilerecorded
for the committing worktree and releases that seat's own claims, using the baked
identity only as the fallback where a worktree records none. -
The
pre-push-capability-manifesthook no longer crashes whengit pushruns
from a linked worktree. The manifest scan inherited the push hook'sGIT_DIR/
GIT_WORK_TREE, sogit ls-filesresolved the hook's repository instead of the
scanned directory and produced a phantom path; the scan now strips those Git
overrides so the-Cdirectory alone decides the repository.
Changed
- Bumped
softprops/action-gh-releaseto v3.0.2 and the GitHub App development
requirements (coverage 7.15.1, mypy 2.3.0).