From 9de6175efcf103b60fa071605eaec0d2793a512c Mon Sep 17 00:00:00 2001 From: Minerva Sky <258328972+minerva-sky@users.noreply.github.com> Date: Sat, 17 Oct 2026 05:43:45 -0400 Subject: [PATCH 1/2] deps: refresh the dev lockfile within its existing constraints `bundle update` honouring every cap already in the Gemfile moves 51 gems: json 2.7 -> 3.1, zeitwerk 2.6 -> 2.8, dry-schema 1.13 -> 1.16 (dry-core 1.0 -> 1.2, dry-types 1.7 -> 1.9), async 2.24 -> 2.37 (the Gemfile cap the lock never reached), thor 1.3 -> 1.5, standard 1.32 -> 1.57 (rubocop 1.91), rspec 3.13.0 -> 3.13.2, webmock 3.23 -> 3.34. These are the versions a fresh `gem install agentic` already resolves to; CI was testing the old numbers. The refresh drops the orphan base64 entry that vcr 6.3 pulled in, which is the only thing that let authentication_system.rb's dead `require "base64"` load on Ruby >= 3.4 (base64 is a bundled gem there). The require goes; the file never calls Base64. Suite on the refreshed lock (Ruby 4.0.2): 1391 examples, the two pre-existing flakes only (plan_orchestrator_spec:243 UUID redaction, #54; event_dispatcher_integration_spec:291 wall clock, #36). standardrb 1.57 reports no offences. Closes #64. Co-Authored-By: Claude Fable 5.1 --- Gemfile.lock | 159 +++++++++--------- .../authentication_system.rb | 1 - 2 files changed, 83 insertions(+), 77 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a9dc9f1..27f4f5d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -23,151 +23,159 @@ GEM specs: addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) - ast (2.4.2) - async (2.24.0) + ast (2.4.3) + async (2.37.0) console (~> 1.29) fiber-annotation - io-event (~> 1.9) + io-event (~> 1.11) metrics (~> 0.12) - traces (~> 0.15) - base64 (0.2.0) + traces (~> 0.18) benchmark (0.5.0) - bigdecimal (3.1.8) + bigdecimal (4.1.3) cgi (0.5.2) concurrent-ruby (1.3.8) - console (1.30.2) + console (1.34.3) fiber-annotation fiber-local (~> 1.1) json - crack (1.0.0) + crack (1.0.1) bigdecimal rexml - diff-lcs (1.5.1) - dry-configurable (1.2.0) - dry-core (~> 1.0, < 2) + diff-lcs (1.6.2) + dry-configurable (1.3.0) + dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-core (1.0.1) + dry-core (1.2.0) concurrent-ruby (~> 1.0) + logger zeitwerk (~> 2.6) - dry-inflector (1.1.0) - dry-initializer (3.1.1) - dry-logic (1.5.0) + dry-inflector (1.3.1) + dry-initializer (3.2.0) + dry-logic (1.6.0) + bigdecimal concurrent-ruby (~> 1.0) - dry-core (~> 1.0, < 2) + dry-core (~> 1.1) zeitwerk (~> 2.6) - dry-schema (1.13.4) + dry-schema (1.16.0) concurrent-ruby (~> 1.0) dry-configurable (~> 1.0, >= 1.0.1) - dry-core (~> 1.0, < 2) - dry-initializer (~> 3.0) - dry-logic (>= 1.4, < 2) - dry-types (>= 1.7, < 2) + dry-core (~> 1.1) + dry-initializer (~> 3.2) + dry-logic (~> 1.6) + dry-types (~> 1.9, >= 1.9.1) zeitwerk (~> 2.6) - dry-types (1.7.2) - bigdecimal (~> 3.0) + dry-types (1.9.1) + bigdecimal (>= 3.0) concurrent-ruby (~> 1.0) dry-core (~> 1.0) dry-inflector (~> 1.0) dry-logic (~> 1.4) zeitwerk (~> 2.6) event_stream_parser (1.0.0) - faraday (2.14.3) - faraday-net_http (>= 2.0, < 3.5) + faraday (2.15.0) + faraday-net_http (>= 2.0, < 3.6) json logger faraday-multipart (1.2.0) multipart-post (~> 2.0) - faraday-net_http (3.3.0) - net-http + faraday-net_http (3.5.0) + net-http (~> 0.5) fiber-annotation (0.2.0) fiber-local (1.1.0) fiber-storage fiber-storage (1.0.1) - hashdiff (1.1.1) - io-event (1.10.0) - json (2.7.1) - language_server-protocol (3.17.0.3) + hashdiff (1.2.1) + io-event (1.11.2) + json (3.1.0) + language_server-protocol (3.17.0.6) lint_roller (1.1.0) - logger (1.6.0) + logger (1.7.0) memory_profiler (1.1.0) - metrics (0.12.2) + metrics (0.15.0) multipart-post (2.4.1) - net-http (0.4.1) - uri - ostruct (0.6.1) + net-http (0.10.0) + net-protocol (>= 0.3.0) + uri (>= 0.11.1) + net-protocol (0.4.0) + timeout + ostruct (0.6.3) pairing_heap (3.1.1) - parallel (1.24.0) - parser (3.2.2.4) + parallel (2.3.0) + parser (3.3.12.0) ast (~> 2.4.1) racc pastel (0.8.0) tty-color (~> 0.5) - public_suffix (6.0.1) - racc (1.8.0) + prism (1.9.0) + public_suffix (7.0.5) + racc (1.8.1) rainbow (3.1.1) - rake (13.2.1) - regexp_parser (2.8.3) + rake (13.4.2) + regexp_parser (2.13.1) rexml (3.4.4) rgl (0.6.7) pairing_heap (>= 0.3, < 4.0) rexml (~> 3.2, >= 3.2.4) stream (~> 0.5.3) - rspec (3.13.0) + rspec (3.13.2) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.0) + rspec-core (3.13.6) rspec-support (~> 3.13.0) - rspec-expectations (3.13.1) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-support (3.13.1) - rubocop (1.57.2) - json (~> 2.3) - language_server-protocol (>= 3.17.0) - parallel (~> 1.10) - parser (>= 3.2.2.4) + rspec-support (3.13.7) + rubocop (1.91.0) + json (>= 2.3) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) + parallel (>= 1.10) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) - rubocop-performance (1.19.1) - rubocop (>= 1.7.0, < 2.0) - rubocop-ast (>= 0.4.0) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.50.0) + parser (>= 3.3.7.2) + prism (~> 1.7) + rubocop-performance (1.26.1) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.47.1, < 2.0) ruby-openai (8.3.0) event_stream_parser (>= 0.3.0, < 2.0.0) faraday (>= 1) faraday-multipart (>= 1) ruby-progressbar (1.13.0) - simplecov (1.0.1) - standard (1.32.1) + simplecov (1.3.2) + standard (1.57.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) - rubocop (~> 1.57.2) + rubocop (~> 1.91.0) standard-custom (~> 1.0.0) - standard-performance (~> 1.2) + standard-performance (~> 1.8) standard-custom (1.0.2) lint_roller (~> 1.0) rubocop (~> 1.50) - standard-performance (1.2.1) + standard-performance (1.9.0) lint_roller (~> 1.1) - rubocop-performance (~> 1.19.1) + rubocop-performance (~> 1.26.0) stream (0.5.6) strings (0.2.1) strings-ansi (~> 0.2) unicode-display_width (>= 1.5, < 3.0) unicode_utils (~> 1.4) strings-ansi (0.2.0) - thor (1.3.2) - timecop (0.9.10) - traces (0.15.2) + thor (1.5.0) + timecop (0.9.11) + timeout (0.6.1) + traces (0.18.2) tty-box (0.7.0) pastel (~> 0.8) strings (~> 0.2.0) @@ -186,16 +194,15 @@ GEM pastel (~> 0.8) strings (~> 0.2.0) tty-screen (~> 0.8) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) unicode_utils (1.4.0) - uri (1.1.1) - vcr (6.3.1) - base64 - webmock (3.23.1) + uri (1.1.2) + vcr (6.4.0) + webmock (3.34.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - zeitwerk (2.6.16) + zeitwerk (2.8.3) PLATFORMS arm64-darwin-23 diff --git a/lib/agentic/human_intervention/authentication_system.rb b/lib/agentic/human_intervention/authentication_system.rb index 9c8db7c..cb2b9d3 100644 --- a/lib/agentic/human_intervention/authentication_system.rb +++ b/lib/agentic/human_intervention/authentication_system.rb @@ -2,7 +2,6 @@ require "digest" require "securerandom" -require "base64" require "openssl" require "json" From 787fedad4e873fbb5660d0b8bba55d74ed4d8d91 Mon Sep 17 00:00:00 2001 From: Minerva Sky <258328972+minerva-sky@users.noreply.github.com> Date: Sat, 17 Oct 2026 05:50:45 -0400 Subject: [PATCH 2/2] deps: cap parallel and simplecov for the Ruby 3.2.4 CI floor The refresh resolved on Ruby 4.0.2 and let parallel 2.3.0 (via rubocop 1.91) and simplecov 1.3.2 into the lock; both declare required_ruby_version >= 3.3, so CI's frozen install on 3.2.4 would fail before a spec ran. Same cap pattern as async/console/dry-configurable/ io-event: parallel < 2 (1.28.0, floor 2.7), simplecov < 1.3 (1.2.0, floor 3.2). Every locked spec now satisfies 3.2.4. Co-Authored-By: Claude Fable 5.1 --- Gemfile | 3 ++- Gemfile.lock | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 6408a41..84c1c57 100644 --- a/Gemfile +++ b/Gemfile @@ -13,6 +13,8 @@ gem "async", "<= 2.37.0" gem "console", "<= 1.34.3" gem "dry-configurable", "<= 1.3.0" gem "io-event", "<= 1.11.2" +gem "parallel", "< 2" # parallel >= 2.0 (via rubocop) needs Ruby 3.3 +gem "simplecov", "< 1.3", require: false # simplecov >= 1.3 needs Ruby 3.3 gem "rspec", "~> 3.0" @@ -21,7 +23,6 @@ gem "standard", "~> 1.3" gem "vcr" gem "webmock" gem "timecop" -gem "simplecov", require: false gem "memory_profiler" gem "benchmark" # bundled gem since Ruby 3.5; not loadable by default on 4.0 gem "rgl", "~> 0.6" diff --git a/Gemfile.lock b/Gemfile.lock index 27f4f5d..d0d5b99 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,7 +100,7 @@ GEM timeout ostruct (0.6.3) pairing_heap (3.1.1) - parallel (2.3.0) + parallel (1.28.0) parser (3.3.12.0) ast (~> 2.4.1) racc @@ -153,7 +153,7 @@ GEM faraday (>= 1) faraday-multipart (>= 1) ruby-progressbar (1.13.0) - simplecov (1.3.2) + simplecov (1.2.0) standard (1.57.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) @@ -216,10 +216,11 @@ DEPENDENCIES dry-configurable (<= 1.3.0) io-event (<= 1.11.2) memory_profiler + parallel (< 2) rake (~> 13.0) rgl (~> 0.6) rspec (~> 3.0) - simplecov + simplecov (< 1.3) standard (~> 1.3) timecop vcr