Use Opencode::Instrumentation.notify; bump dep + own version to alpha2
Paired-release commit that completes the .notify migration started in
opencode-ruby v0.0.1.alpha2.
Changes:
- lib/opencode/exchange.rb: drops the empty '{ }' block from the
apply_patch.artifacts_dropped emission, switching from
.instrument(...) { } to .notify(...). Identical wire semantics,
cleaner read at the call site.
- opencode-rails.gemspec: pins opencode-ruby runtime dep to
'= 0.0.1.alpha2' (was alpha1). Lockstep versions during alpha.
- lib/opencode/rails_version.rb: 0.0.1.alpha1 -> 0.0.1.alpha2.
- CHANGELOG: documents the Exchange call-site change and the
opencode-ruby pin bump.
53 tests pass, 134 assertions, 0 failures.
This commit is contained in:
16
CHANGELOG.md
16
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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user