strike v0.5.1
Install
curl -fsSL https://strike.jonathanung.ca/install | bashOr download an archive below, verify checksums.txt, and place strike on your PATH.
Changelog
Patch release: new inspect/verify tools, content-addressed attachments, and
clearer deferred-tool and subagent naming.
Added
- Content-addressed attachments — user images and typed blobs (PDF, diagram, log, archive, build) persist as
att:sha256:refs instead of embedding payloads in session JSONL. Provider requests still receive selected image bytes when the model supports them; unsupported formats fail visibly. Includes region redaction for PNG/JPEG, structured visual-compare evidence, and retention (#1055, #1195). Wire schema1.18.0. browsertool (read-only inspect) — isolated per session/task profile for navigate, DOM/accessibility snapshot, console, and network capture. Domain/network.allow/SSRF apply below the model; clicks, typing, uploads, downloads, and script eval are denied. First slice of #1052 (#1187).- LSP call hierarchy, rename preview, and impact tools —
call_hierarchy,rename_preview, andimpactquery incoming/outgoing calls, preview a rename as unapplied file edits, and group symbol usage by file/package. Unsupported language-server capabilities return a non-fatal result and suggestreferences(#1184, #1191). gittool — read-only structuredstatus/diff/log/blame/showas bounded JSON, not pager dumps. Mutators are refused. Workspace-root git only; distinct from unrestrictedbash(#1179, #1193).verifytool — run the project's documented A/B/C gate and return failures only (package, test name, snippet, command). Missing docs fail closed instead of guessinggo test ./...(#1180, #1197).statustool — this-turn harness working set: dirty paths, create/update/delete, optional content hashes. ReusesTurnDiff/FileState; empty when the turn is unchanged (#1182, #1198).tui_snapshottool — last painted TUI frame as a redacted, size-bounded text dump (optionalimage_ref, never an embedded payload). Fails withprecondition_failedwhen no frame is available (#1183, #1192).
Changed
- Deferred tools are named in first-turn guidance — pending tool names are listed (sorted, capped) without sending their InputSchemas until
toolsearch, a direct call, history, or workflow activation.deferTools: "off"is unchanged (#1181, #1188). - Subagent names come from the assigned task — omitted
task/delegatenameis derived from the prompt (or context-bundle goal) as a unique slug (fix-auth,fix-auth-2). Invalid or duplicate explicit names still fail closed (#1189, #1196). - Ledger assumptions go stale when pinned evidence changes — optional
evidence_pins(path+hash, symbol, recorded command) are checked before prompt inject. Stale rows stay active with a reason;ledger_writerevalidaterefreshes pins. Decisions and constraints are never auto-staled (#1185, #1194).
Fixed
- Agent and subagent tabs show that session's model — labels append the resolved model; inspecting a child shows the child's provider/model, not the parent's (#1186, #1190).
Full changelog: v0.5.0...v0.5.1