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 +4 -4
- data/CHANGELOG.md +6 -0
- data/docs/usage.md +18 -0
- data/lib/ace/assign/cli/commands/list.rb +3 -2
- data/lib/ace/assign/molecules/assignment_discoverer.rb +5 -0
- data/lib/ace/assign/version.rb +1 -1
- data/lib/ace/assign.rb +13 -0
- metadata +14 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ae08476e5414f7ce2059dded5afe8dfd4de816c47be62e94e80f718633708b1d
|
|
4
|
+
data.tar.gz: 12f65ec84777c48848aa890c96a6bcb668a2d74b1a8adc86859eca9688184cf3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
53
|
-
|
|
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
|
data/lib/ace/assign/version.rb
CHANGED
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.
|
|
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
|
|
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
|