ace-assign 0.73.1 → 0.73.2

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: a031558a7f88ef573b58cb9679f133076219e18f8d4d9983347daa9182a36806
4
- data.tar.gz: 0df74c4d8af671e62137ba86925b9afa12271f5a3cf502a7540d50ff134661c0
3
+ metadata.gz: ae08476e5414f7ce2059dded5afe8dfd4de816c47be62e94e80f718633708b1d
4
+ data.tar.gz: 12f65ec84777c48848aa890c96a6bcb668a2d74b1a8adc86859eca9688184cf3
5
5
  SHA512:
6
- metadata.gz: 36452f59294050972ba06a3d62196435f158d3f0bdabaecd4e5c4cdd6233d16a4ca6631e2cfe6d1e7a2da5903d0e17025cd43ad27fe96912c20b986fc34ddebd
7
- data.tar.gz: bcee25f7bb1b31f4f6b2a0013b3607e7f62e5b25b77501cf8f23d19a9f5154ba8c318bdf8eb0d7b8e27c448d505b956abe03b7934db450c6db72ea2905329b49
6
+ metadata.gz: 4bff793e68ecf69f568c4c4eef2dd4245fd62eac2d414f95b24fae2ef29e71a751ab23a07cf9529bd4abf104e766be0d050b0dbcd3fc5453b4c9245cc2fed974
7
+ data.tar.gz: e47b67f585f61f6fd35ecba390c7a4c7c1f658ff57d750c74c8cb59b0673bb2219763698008b6ac2bf8385f59dd8b36e34899df8d2cd6a282a35f3c12f132bd5
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.73.2] - 2026-11-10
11
+
12
+ ### Fixed
13
+
14
+ - Expose assignment discovery through its owner API with per-project configuration and typed read errors.
15
+
10
16
  ## [0.73.1] - 2026-10-20
11
17
 
12
18
  ### Fixed
data/docs/usage.md CHANGED
@@ -218,3 +218,21 @@ plans. Each plan keeps its own history.
218
218
  The old protected/attempt-evidence and installation paths are removed from the
219
219
  local flow. No journal, admission service, or second queue is required to
220
220
  create, read, or drive an assignment.
221
+
222
+
223
+ ### Reading assignments from another project in Ruby
224
+
225
+ Use the installed owner's explicit-root inventory when observing a worktree:
226
+
227
+ ```ruby
228
+ Ace::Assign::Molecules::AssignmentDiscoverer
229
+ .for_project(project_root: worktree_path)
230
+ .find_all(include_completed: true)
231
+ ```
232
+
233
+ The call resolves that directory's configuration cascade without changing cwd or
234
+ `Ace::Assign.config`. Relative `cache_dir` and `CACHE_BASE` values resolve against
235
+ the supplied root; absolute values remain absolute. An explicit root takes
236
+ precedence over `PROJECT_ROOT_PATH`. CLI commands retain their existing cwd-based
237
+ cache resolution, including relative `CACHE_BASE`. The API reads current owner
238
+ records on every invocation; it creates no observation cache.
@@ -49,8 +49,9 @@ module Ace
49
49
  option :debug, aliases: ["-d"], type: :boolean, default: false, desc: "Show debug output"
50
50
 
51
51
  def call(**options)
52
- discoverer = Molecules::AssignmentDiscoverer.new
53
- manager = Molecules::AssignmentManager.new
52
+ cache = Ace::Assign.cache_dir
53
+ discoverer = Molecules::AssignmentDiscoverer.new(cache_base: cache)
54
+ manager = Molecules::AssignmentManager.new(cache_base: cache)
54
55
  current_id = manager.current_id
55
56
 
56
57
  all_assignments = discoverer.find_all(include_completed: true)
@@ -9,6 +9,11 @@ module Ace
9
9
  # (step scanning) to produce AssignmentInfo objects with full
10
10
  # state, progress, and current step information.
11
11
  class AssignmentDiscoverer
12
+ # Public read-only inventory for a specified project/worktree.
13
+ def self.for_project(project_root:, env: ENV)
14
+ new(cache_base: Ace::Assign.cache_dir_for(project_root: project_root, env: env))
15
+ end
16
+
12
17
  # @param cache_base [String, nil] Base cache directory
13
18
  def initialize(cache_base: nil)
14
19
  @cache_base = cache_base || Ace::Assign.cache_dir
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Assign
5
- VERSION = "0.73.1"
5
+ VERSION = "0.73.2"
6
6
  end
7
7
  end
data/lib/ace/assign.rb CHANGED
@@ -47,6 +47,19 @@ module Ace
47
47
  end
48
48
  end
49
49
 
50
+ # Resolve another project's inventory without changing cwd or the cached
51
+ # configuration used by this process. Explicit roots override PROJECT_ROOT_PATH.
52
+ def self.cache_dir_for(project_root:, env: ENV)
53
+ root = File.expand_path(project_root)
54
+ override = env["CACHE_BASE"]
55
+ return File.expand_path(override, root) unless override.to_s.empty?
56
+
57
+ gem_root = Gem.loaded_specs["ace-assign"]&.gem_dir || File.expand_path("../..", __dir__)
58
+ config = Ace::Support::Config.create(start_path: root, gem_path: gem_root,
59
+ test_mode: false).resolve_namespace("assign").data
60
+ File.expand_path(config.fetch("cache_dir", ".ace-local/assign"), root)
61
+ end
62
+
50
63
  # Reset config cache (useful for testing)
51
64
  def self.reset_config!
52
65
  @config = nil
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-assign
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.73.1
4
+ version: 0.73.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-20 00:00:00.000000000 Z
10
+ date: 2026-11-10 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-llm-providers-cli
@@ -16,6 +16,9 @@ dependencies:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
18
  version: 0.36.1
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 0.36.3
19
22
  type: :runtime
20
23
  prerelease: false
21
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -23,6 +26,9 @@ dependencies:
23
26
  - - "~>"
24
27
  - !ruby/object:Gem::Version
25
28
  version: 0.36.1
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 0.36.3
26
32
  - !ruby/object:Gem::Dependency
27
33
  name: ace-support-fs
28
34
  requirement: !ruby/object:Gem::Requirement
@@ -112,6 +118,9 @@ dependencies:
112
118
  - - "~>"
113
119
  - !ruby/object:Gem::Version
114
120
  version: '0.18'
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 0.18.4
115
124
  type: :runtime
116
125
  prerelease: false
117
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -119,6 +128,9 @@ dependencies:
119
128
  - - "~>"
120
129
  - !ruby/object:Gem::Version
121
130
  version: '0.18'
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: 0.18.4
122
134
  - !ruby/object:Gem::Dependency
123
135
  name: ace-support-nav
124
136
  requirement: !ruby/object:Gem::Requirement