Skip to content

Sidecar defaults to the latest stackql release (crate 0.2.0); re-pin to v0.10.601 - #2

Open
jeffreyaven wants to merge 4 commits into
mainfrom
feature/crate-core-sidecar
Open

Sidecar defaults to the latest stackql release (crate 0.2.0); re-pin to v0.10.601#2
jeffreyaven wants to merge 4 commits into
mainfrom
feature/crate-core-sidecar

Conversation

@jeffreyaven

@jeffreyaven jeffreyaven commented Aug 18, 2026

Copy link
Copy Markdown
Member

Fixes the conformance failure on main (run 32084386378): the v0.10.500 .mcpb release assets were re-published upstream, so the baked sha256 pins no longer verified (ChecksumMismatch on all three OSes).

Two commits on top of the already-pushed stackql-agent demo work:

  1. Re-pin to v0.10.601 (all four platform pins verified against the published .mcpb.sha256 assets).
  2. Sidecar defaults to the latest stackql release. Resolves releases/latest at start-up (redirect -> tag, no GitHub API) and verifies the download against that release's published .mcpb.sha256 asset, so a new server release or re-published assets no longer break the crate.
    • BundleVersion { Latest (default), Pinned, Exact(v) } via Builder::version() or STACKQL_MCP_VERSION=latest|pinned|<version>
    • Pinned keeps the baked pins (offline verification) and is the last-resort fallback; if latest cannot be resolved (offline) the newest cached release is used first
    • fetch_bundle() follows the same selection; fetch_bundle_with() picks explicitly
    • crate version 0.2.0 (default behaviour change)

Verified locally on linux: conformance test (latest), STACKQL_MCP_VERSION=pinned, =0.10.500 (verifies against the re-published sha), and offline fallback (https_proxy to a dead port -> "using cached 0.10.601").

🤖 Generated with Claude Code

jeffreyaven and others added 4 commits June 17, 2026 12:32
stackql-agent: a Rust-native agent over the cloud estate, for the meetup
talk. Embeds stackql-mcp and wires the 13 StackQL MCP tools into a rig
0.38 agent (rmcp 1.7, claude-opus-4-8). One binary, three personas
(platform engineering, SRE, audit) that differ only by system prompt;
the embedded backend and read-only contract are identical. Streaming
REPL prints each tool call live; one-shot (-p) and --check pre-flight
modes included. Default github null_auth runs with zero credentials;
--auth points the same agent at credentialed providers (IGA, CSPM,
FinOps, AWS/Google/Azure). Vendored single-binary build verified
(~123 MB, no runtime downloads).

The integration seam is ~10 lines: server.list_all_tools() +
server.peer() feed straight into rig's rmcp_tools(). Verified at runtime
via --check (server starts, self-heals the cache, exposes 13 tools);
the LLM loop needs the caller's ANTHROPIC_API_KEY.

bundle: make extraction self-healing. A non-empty but invalid cache dir
(left by an interrupted run, or a stale layout) previously caused the
atomic rename to fail with ENOTEMPTY and bricked the binary until the
cache was cleared by hand. Now such a dir is replaced (or adopted if a
concurrent extractor produced a valid one). Regression test added. This
surfaced live while building the agent and is a fix for the published
crate (0.1.1 material).

talk.md: presentation kit - slide-by-slide content (intro StackQL, the
MCP server, agentic use cases, embedded/vendored primitives in Rust, the
demo, the ask) with speaker notes, plus a demo runbook with exact
per-persona commands, the live-vs-credentialed framing, and a fallback
plan for wifi/rate-limit/API failure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The v0.10.500 release assets were re-published upstream, so the sha256
pins baked into 0.1.0 no longer verify (conformance test fails with
ChecksumMismatch on all platforms). Re-pin to v0.10.601; all four pins
match the published .mcpb.sha256 assets.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The sidecar now resolves github.com/stackql/stackql/releases/latest at
start-up and verifies the download against that release's published
.mcpb.sha256 asset, so the crate no longer needs a re-pin every time a
new server ships (or, as with v0.10.500, when release assets are
re-published).

- BundleVersion { Latest (default), Pinned, Exact(v) } via
  Builder::version() or STACKQL_MCP_VERSION=latest|pinned|<version>
- Pinned keeps the baked sha256 pins (offline verification) and is the
  last-resort fallback; if the latest release cannot be resolved
  (offline) the newest cached release is used first
- fetch_bundle() follows the same selection; fetch_bundle_with() picks
  explicitly
- no-default-features build is now clippy-clean too

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jeffreyaven jeffreyaven changed the title Bump pinned stackql release to v0.10.601 (crate 0.1.1); stackql-agent demo Sidecar defaults to the latest stackql release (crate 0.2.0); re-pin to v0.10.601 Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant