release: safe-ai-skill v1.0.0 - #1
Merged
Merged
Conversation
kauenet
commented
Jun 26, 2026
Contributor
- Add safe-solana-ai plugin scaffolding (marketplace, manifest, hooks, policy, binary shim)
- feat(engine): wire ssai dispatch and pass the green gate
- build(plugin): add darwin-arm64 ssai binary + SHA256SUMS
- chore(config): enable safe-solana-ai plugin, drop dead deploy/commit hooks
- fix(engine): gate anchor --provider.cluster mainnet deploys
- chore(plugin): refresh ssai-darwin-arm64 + SHA256SUMS for provider.cluster fix
- test(engine): integration suite for gates, drift, and sandboxed solana-new install
- docs: add README, SECURITY, architecture/usage guides, and archived solana-old reference
- ci: add CI and release workflows plus npm distribution package
- docs: add solana-new security audit and ASCII-art reference
- ci: replace deprecated macos-13/14 runners with macos-15 and ubuntu-latest
- ci: opt into Node.js 24 for GitHub Actions to silence deprecation warnings
- feat(engine): solana-ai-kit compatibility — install, registry catalog gating, per-ext-submodule verify, high-risk MCP + curl|bash gates
- test(engine): registry, ext-submodule, mcp-gating, coexistence suites (314 tests)
- docs: retarget README/architecture/usage/SECURITY to solana-ai-kit; add CHANGELOG 1.0.0
- release: bump safe-solana-ai to 1.0.0 + refresh darwin-arm64 binary/checksums
- refactor: rename safe-solana-ai/ssai → safe-ai-skill
- docs: drop legacy-name note from changelog
- docs: rewrite README (general-purpose positioning + badges); remove docs/ and solana-new audit
- refactor(engine): genericize telemetry naming away from solana-new
- release: rebuild safe-ai-skill binary + checksums
- test(engine): tolerate BrokenPipe when writing harness stdin
- docs: add repo banner
- accelerate
- release: finalize v1.0.0 changelog
- ci(release): auto-vendor released binaries into plugin via PR
…policy, binary shim)
Integrate the four round-2 module groups behind main.rs:
- transfer commit-on-allow via spend::commit (no double-decide/-count)
- allow/mode/revoke/status subcommands; mode.json runtime override now
feeds policy.effective() so autopilot etc. take effect before gates
- verify session/.mcp.json scan + emit_sessionstart; verify approve re-pin
- add (verdict-branched pipeline) and bootstrap (curl+tar, zero new deps)
Restore email-scrubbed test fixtures in verify/{provenance,heuristics,mod}
by assembling name@version literals at runtime; add a /target gitignore.
Green gate: cargo build + build --release, 207 tests, clippy -D warnings,
fmt --check all clean.
Release build of crates/engine for aarch64-apple-darwin, placed where the bin/ssai platform shim resolves it (bin/ssai-darwin-arm64). SHA256SUMS covers the binary and the shim. linux-x64 / darwin-x64 binaries are produced by CI (cross-compile out of scope here); the shim falls back to a local cargo build --release for uncovered platforms.
…hooks - register the safe-solana-ai marketplace + enable the plugin (keeps the three LSP plugins) - remove the two PreToolUse hooks that never fired (invalid when.command_matches schema + no-TTY read for the mainnet gate); solguard/safe-solana-ai now gates deploys. SessionStart banner + Stop/PostToolUse formatters + SubagentStop kept. - defense-in-depth Read denies for *-keypair.json, .env, .superstack/config.json - gitignore .env
context::network_from_flags only recognized -u/--url/--cluster, so 'anchor deploy --provider.cluster mainnet' (Anchor's native form) resolved to Network::Unknown and was allowed — a mainnet-deploy bypass. Extend flag detection to also parse --provider.cluster <value> and --provider.cluster=<value>, routing through the same classify_url logic. Add unit tests covering mainnet/mainnet-beta/devnet and the RPC-URL form.
…uster fix Rebuilt release binary including the --provider.cluster gating fix; regenerated and verified SHA256SUMS (shasum -c OK).
…a-new install Add integration tests covering policy gates, verify drift quarantine/approve, and a sandboxed solana-new bootstrap install. Wire main.rs and update Cargo.toml/Cargo.lock for the test harness.
…olana-old reference
…atest macos-13 (Intel) and macos-14 were removed from GitHub-hosted free runners. Switch the build-test matrix to macos-15 (M-series) + ubuntu-latest and drop the now-unavailable x64 macOS leg from CI (kept in release for cross-compile). Move lint and verify-plugin-bin jobs to ubuntu-latest; switch the checksum step from BSD shasum to GNU sha256sum to match the new runner.
…nings actions/checkout@v4 and actions/cache@v4 emit Node.js 20 deprecation warnings as of the June 16 2026 enforcement date. Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to the global env block so both workflow files explicitly run on the Node 24 runtime and the warnings stop appearing in run annotations.
… gating, per-ext-submodule verify, high-risk MCP + curl|bash gates
…dd CHANGELOG 1.0.0
…ocs/ and solana-new audit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.