diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d904c8..6dcf491 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 0.0.1.alpha2 — 2026-05-20 + +### Changed + +- `Opencode::Exchange` now emits `opencode.apply_patch.artifacts_dropped` + via the new `Opencode::Instrumentation.notify` fire-and-forget API + (introduced in opencode-ruby v0.0.1.alpha2) instead of + `.instrument(name, payload) { }` with an empty block. Cleaner read + at the call site; identical semantics on the wire (same event name, + same payload). + +### Bumped + +- Runtime dependency `opencode-ruby` pinned to `= 0.0.1.alpha2` (was + `= 0.0.1.alpha1`). Versions stay in lockstep during alpha. + ## 0.0.1.alpha1 — 2026-05-20 Initial public alpha. Extracted from a production multi-product Rails app (`ajent-rails`) where these objects shipped under `lib/opencode/rails/` before being carved out into a standalone gem. diff --git a/lib/opencode/exchange.rb b/lib/opencode/exchange.rb index ddd5b99..8f904c2 100644 --- a/lib/opencode/exchange.rb +++ b/lib/opencode/exchange.rb @@ -65,13 +65,13 @@ module Opencode eligible = file_entries.reject { |e| e[:type] == "delete" } next if eligible.empty? - Opencode::Instrumentation.instrument("opencode.apply_patch.artifacts_dropped", + Opencode::Instrumentation.notify("opencode.apply_patch.artifacts_dropped", file_count: eligible.size, relative_paths: eligible.filter_map { |e| e[:relativePath] }.first(5), message_id: part[:messageID], session_id: part[:sessionID], reason: "apply_patch v1.15+ metadata does not include post-write file content; " \ - "extraction requires sandbox-read which is not yet wired into ResponseParser") { } + "extraction requires sandbox-read which is not yet wired into ResponseParser") end end end diff --git a/lib/opencode/rails_version.rb b/lib/opencode/rails_version.rb index c187188..cb18daf 100644 --- a/lib/opencode/rails_version.rb +++ b/lib/opencode/rails_version.rb @@ -11,5 +11,5 @@ # We can't reuse the same constant from a second gem, so we use a # distinct, non-namespaced constant. module Opencode - RAILS_VERSION = "0.0.1.alpha1" + RAILS_VERSION = "0.0.1.alpha2" end diff --git a/opencode-rails.gemspec b/opencode-rails.gemspec index 5f9a027..07b2870 100644 --- a/opencode-rails.gemspec +++ b/opencode-rails.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| # this gem builds on. During alpha both gems evolve in lockstep — we pin # exactly (= not ~>) so that consumers always pick the version this gem # was tested against. Bump to alpha2 when the paired release ships. - spec.add_runtime_dependency "opencode-ruby", "= 0.0.1.alpha1" + spec.add_runtime_dependency "opencode-ruby", "= 0.0.1.alpha2" # Rails sub-libraries used at runtime. Depending on these individually # (instead of the `rails` umbrella) avoids forcing host apps to load