ace-git-worktree 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e7afdc95769c4eaebe1974a49534a00e548a17f2519075c10738bd93ad68de5
4
- data.tar.gz: 43294a3bb9d7bc38da9938f50e8e621ce7a432f54a39ecebbe57a752d46f56d9
3
+ metadata.gz: 657c7b373d89fe83a9950e50fe62beff7a1c2610951e8d714420bbb42d54da5e
4
+ data.tar.gz: aaa908624ab0191dfbad907e24308a0922bd299ad24179c5b5897dcbbb37d9ca
5
5
  SHA512:
6
- metadata.gz: af41391d20f9555ddd1da0e6347823c4810dc2d330b38137317e5fc79f7ab1c81a17b43e54d33b666f5cc40163f1a6ea8abca031b94f508bdd4c525a1788a07c
7
- data.tar.gz: 073f8bdaf60175babf66dfca52880d1ffaab445c92b4c264165cd7792d7e5c8bb5a6be4adcf1e42f7f561b0b7ae019d43ce7ffe0eda0d3032d4377bc14be661e
6
+ metadata.gz: 8ca4f8f31064a54255b854a7f9477f227d1429bc44516ed88a73b8ee92717425179aa58a5e5cc0dabb8e30cdb60d3dc7cd0245c78574b4ef8106414edab23991
7
+ data.tar.gz: 329727b4de42a420b1e6c4aaa060e45e24cc6d21c97c787a873f4da333ed22dc8056bed32d229c13e9991068550945e87f573d4d760c4bb06b241771fc7a07c6
data/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+
11
+ ## [0.23.0] - 2026-09-27
12
+
13
+ ### Changed
14
+ - PR lookups now go through the `ace-git-github` provider (`Ace::Git::Github::PrFetcher`) instead of the `PrMetadataFetcher` molecule removed from the ace-git 0.24 core; provider failures surface as classified `Provider*Error`s instead of the removed `Gh*Error` classes.
15
+ - Raised the `ace-git` dependency floor to `~> 0.24` and added `ace-git-github ~> 0.1.1` (cross-repository PR argument fix). Resolves the require-time `LoadError` (`ace/git/molecules/pr_metadata_fetcher`) that made released 0.22.1 incompatible with ace-git 0.24 and blocked adopting ace-review 0.55.0.
16
+ ## [0.22.1] - 2026-09-02
17
+
18
+ ### Technical
19
+ - Included in the coordinated all-package patch release preparation for ACE monorepo review.
10
20
  ## [0.22.0] - 2026-08-13
11
21
  ### Added
12
22
  - Add cleanup plan application with drift guards
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "ace/git/github"
4
+
3
5
  module Ace
4
6
  module Git
5
7
  module Worktree
@@ -55,9 +57,9 @@ module Ace
55
57
  puts
56
58
  show_help
57
59
  1
58
- rescue Ace::Git::PrNotFoundError,
59
- Ace::Git::GhAuthenticationError,
60
- Ace::Git::GhNotInstalledError,
60
+ rescue Ace::Git::ProviderObjectNotFoundError,
61
+ Ace::Git::ProviderAuthenticationError,
62
+ Ace::Git::ProviderCliMissingError,
61
63
  Ace::Git::TimeoutError => e
62
64
  puts "Error: #{e.message}"
63
65
  1
@@ -432,15 +434,15 @@ module Ace
432
434
 
433
435
  puts "Creating worktree for PR ##{pr_number}..."
434
436
 
435
- # Check gh CLI availability using ace-git's PrMetadataFetcher
436
- unless Ace::Git::Molecules::PrMetadataFetcher.gh_installed?
437
+ # Check gh CLI availability via the GitHub provider (ace-git-github)
438
+ unless Ace::Git::Github::PrFetcher.installed?
437
439
  puts "Error: gh CLI is required for PR worktree creation."
438
440
  puts
439
441
  puts gh_not_available_message
440
442
  return 1
441
443
  end
442
444
 
443
- unless Ace::Git::Molecules::PrMetadataFetcher.gh_authenticated?
445
+ unless Ace::Git::Github::PrFetcher.authenticated?
444
446
  puts "Error: gh CLI is not authenticated."
445
447
  puts
446
448
  puts "Authenticate with: gh auth login"
@@ -450,7 +452,7 @@ module Ace
450
452
  # Fetch PR data
451
453
  puts "Fetching PR information..."
452
454
  begin
453
- result = Ace::Git::Molecules::PrMetadataFetcher.fetch_metadata(pr_number.to_s)
455
+ result = Ace::Git::Github::PrFetcher.fetch_metadata(pr_number.to_s)
454
456
 
455
457
  unless result[:success]
456
458
  puts "Error: #{result[:error]}"
@@ -493,8 +495,8 @@ module Ace
493
495
  display_warnings(result[:warnings]) if result[:warnings]
494
496
  1
495
497
  end
496
- rescue Ace::Git::PrNotFoundError, Ace::Git::GhAuthenticationError,
497
- Ace::Git::GhNotInstalledError => e
498
+ rescue Ace::Git::ProviderObjectNotFoundError, Ace::Git::ProviderAuthenticationError,
499
+ Ace::Git::ProviderCliMissingError => e
498
500
  # Let specific ace-git errors be handled by handle_pr_fetch_error
499
501
  # Other errors will bubble up to the top-level rescue in run()
500
502
  handle_pr_fetch_error(e, pr_number)
@@ -868,7 +870,7 @@ module Ace
868
870
  # Anti-corruption layer that translates gh CLI JSON output to internal format.
869
871
  # This isolates worktree creation from gh CLI output structure changes.
870
872
  #
871
- # Expected metadata schema from ace-git PrMetadataFetcher (via gh pr view --json):
873
+ # Expected metadata schema from the GitHub provider PrFetcher (via gh pr view --json):
872
874
  # {
873
875
  # "number" => Integer,
874
876
  # "title" => String,
@@ -898,11 +900,11 @@ module Ace
898
900
  # @return [Integer] Exit code (always 1 for errors)
899
901
  def handle_pr_fetch_error(error, pr_number)
900
902
  case error
901
- when Ace::Git::PrNotFoundError
903
+ when Ace::Git::ProviderObjectNotFoundError
902
904
  handle_pr_not_found(error, pr_number)
903
- when Ace::Git::GhAuthenticationError
905
+ when Ace::Git::ProviderAuthenticationError
904
906
  handle_gh_auth_error(error)
905
- when Ace::Git::GhNotInstalledError
907
+ when Ace::Git::ProviderCliMissingError
906
908
  handle_gh_not_installed(error)
907
909
  else
908
910
  handle_unknown_error(error)
@@ -2,7 +2,8 @@
2
2
 
3
3
  require "json"
4
4
  require "open3"
5
- require "ace/git/molecules/pr_metadata_fetcher"
5
+ require "ace/git/github"
6
+ require "ace/git/github/pr_fetcher"
6
7
 
7
8
  module Ace
8
9
  module Git
@@ -16,8 +17,8 @@ module Ace
16
17
  @offline = offline
17
18
 
18
19
  # Cache gh availability to avoid repeated checks
19
- @gh_available = Ace::Git::Molecules::PrMetadataFetcher.gh_installed? &&
20
- Ace::Git::Molecules::PrMetadataFetcher.gh_authenticated?
20
+ @gh_available = Ace::Git::Github::PrFetcher.installed? &&
21
+ Ace::Git::Github::PrFetcher.authenticated?
21
22
  end
22
23
 
23
24
  # Classify a candidate branch with GitHub PR evidence.
@@ -84,7 +85,7 @@ module Ace
84
85
  retention_reason: "patch_mismatch"
85
86
  }
86
87
  end
87
- rescue Ace::Git::GhNotInstalledError, Ace::Git::GhAuthenticationError, Ace::Git::TimeoutError
88
+ rescue Ace::Git::ProviderCliMissingError, Ace::Git::ProviderAuthenticationError, Ace::Git::TimeoutError
88
89
  # Provider failure degradation
89
90
  offline_result("unavailable")
90
91
  end
@@ -124,7 +124,7 @@ module Ace
124
124
  # Create a worktree for a Pull Request
125
125
  #
126
126
  # @param pr_number [Integer] PR number
127
- # @param pr_data [Hash] PR data from Ace::Git::Molecules::PrMetadataFetcher
127
+ # @param pr_data [Hash] PR data from Ace::Git::Github::PrFetcher
128
128
  # @param options [Hash] Options for creation
129
129
  # @return [Hash] Creation result
130
130
  #
@@ -3,7 +3,7 @@
3
3
  module Ace
4
4
  module Git
5
5
  module Worktree
6
- VERSION = "0.22.0"
6
+ VERSION = "0.23.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-git-worktree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-08-13 00:00:00.000000000 Z
10
+ date: 2026-09-27 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli
@@ -57,14 +57,28 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.23'
60
+ version: '0.24'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '0.23'
67
+ version: '0.24'
68
+ - !ruby/object:Gem::Dependency
69
+ name: ace-git-github
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 0.1.1
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.1.1
68
82
  - !ruby/object:Gem::Dependency
69
83
  name: ace-task
70
84
  requirement: !ruby/object:Gem::Requirement