diff --git a/CHANGELOG.md b/CHANGELOG.md index 4de53e0..b642b6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,24 @@ cut and that this clone does not carry. ## [Unreleased] +## [0.0.78] - 2026-09-27 + +OpenCode now declares `detach_instruction_region`, the second half of +the instruction-region lifecycle: it removes only the marked +`:::begin-ai-stp`/`:::end-ai-stp` section, keeps every byte outside the +markers — including YAML frontmatter the product owns — deletes a file that +held only the attachment, no-ops when none is attached, and refuses +ambiguous markers or a plan whose surface changed since it was made. The +consumer shipped the reader first (provider-kit 0.2.14 in ai-stp-cli +0.0.32); this release is the writer. + +`status` gains the optional `instruction_region` member: `null` where the +product declares no instruction surface, else the surface path, file +presence, section presence and the marked section's own digest — kept out +of `target_digest` and read as "no well-formed section" rather than an +error when markers are ambiguous. Provider protocol version, postures and +ownership are unchanged. + ## [0.0.77] - 2026-09-27 All seven setup systems refresh their software pins from current vendor diff --git a/Cargo.lock b/Cargo.lock index 47cddf7..aa35b38 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -66,7 +66,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "harness-runtime" -version = "0.0.77" +version = "0.0.78" dependencies = [ "provider-v3", "serde", @@ -128,7 +128,7 @@ dependencies = [ [[package]] name = "opencode-setup-system" -version = "0.0.77" +version = "0.0.78" dependencies = [ "harness-runtime", "provider-v3", @@ -147,7 +147,7 @@ dependencies = [ [[package]] name = "provider-v3" -version = "0.0.77" +version = "0.0.78" dependencies = [ "serde", "serde_json", @@ -209,7 +209,7 @@ dependencies = [ [[package]] name = "setup-core" -version = "0.0.77" +version = "0.0.78" dependencies = [ "miniz_oxide", "serde", diff --git a/Cargo.toml b/Cargo.toml index f8faf61..63a1866 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "0.0.77" +version = "0.0.78" edition = "2024" rust-version = "1.89" license = "AGPL-3.0-or-later" @@ -23,9 +23,9 @@ sha2 = "0.11" # `setup-core::archive`); an inflate loop is not, because its bugs are # memory-safety bugs and it is not improved by being hand-written here. miniz_oxide = "0.9" -setup-core = { path = "crates/setup-core", version = "0.0.77" } -provider-v3 = { path = "crates/provider-v3", version = "0.0.77" } -harness-runtime = { path = "crates/harness-runtime", version = "0.0.77" } +setup-core = { path = "crates/setup-core", version = "0.0.78" } +provider-v3 = { path = "crates/provider-v3", version = "0.0.78" } +harness-runtime = { path = "crates/harness-runtime", version = "0.0.78" } [workspace.lints.rust] unsafe_code = "forbid" diff --git a/README.md b/README.md index 9238e81..78191e3 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ release is a convenience, not the authorised copy. ```bash docker run --rm -v "$HOME/.config:/config" \ - ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.77 \ + ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.78 \ status --target /config/ --json ``` diff --git a/install.ps1 b/install.ps1 index 958d812..9476922 100644 --- a/install.ps1 +++ b/install.ps1 @@ -7,7 +7,7 @@ # powershell -ExecutionPolicy Bypass -File install.ps1 -Version 0.1.0 [CmdletBinding()] param( - [string]$Version = "0.0.77", + [string]$Version = "0.0.78", [string]$InstallDir = "$env:LOCALAPPDATA\Programs\opencode-setup-system" ) $ErrorActionPreference = "Stop" diff --git a/install.sh b/install.sh index cef7fa9..1e9ed3a 100644 --- a/install.sh +++ b/install.sh @@ -14,7 +14,7 @@ set -eu REPO="NDDev-OpenNetwork/opencode-setup-system" BINARY="opencode-setup-system" -VERSION="${1:-0.0.77}" +VERSION="${1:-0.0.78}" PREFIX="${OPENCODE_INSTALL_DIR:-$HOME/.local/bin}" case "$(uname -s)" in