ace-task 0.31.0 → 0.31.4
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 +26 -0
- data/README.md +1 -1
- data/handbook/templates/task/draft.template.md +14 -0
- data/handbook/workflow-instructions/task/draft.wf.md +1 -1
- data/lib/ace/task/molecules/task_display_formatter.rb +12 -3
- data/lib/ace/task/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5e477e2c198c576ab07f7a50eb6756e04448bc1c42e5f5fc17beec674be15527
|
|
4
|
+
data.tar.gz: ea40e22f1e761cc6fa7bc3ba9cba138af6047272c3941a39a325f36de5dd527e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5dc208ea23a98741cda9b2a65230688dd5fd705e31979d517eb8fa5a9749f9ffa8fc19ca3efa3b52fe5bd4fbc66a915838141098f371ad9eb179c81ad40fc035
|
|
7
|
+
data.tar.gz: e0f63752e0a24626c1ffdd27e0c371eee92ed68288f5904f7a7b9d094f035b7dab4b6f35d9c10076bc4c99faf04ff1bc028319f06a3ed0376e24355b9168c1ca
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.31.4] - 2026-03-26
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Added optional "Demo Scenario" section to the task draft template for defining demo scenes, commands, and fixtures upfront on user-facing features.
|
|
14
|
+
|
|
15
|
+
## [0.31.3] - 2026-03-26
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Simplified `TaskDisplayFormatter.format_list` by consolidating the shared stats footer return path for empty and non-empty output.
|
|
19
|
+
|
|
20
|
+
### Technical
|
|
21
|
+
- Strengthened `ace-task list` command coverage to assert empty-state stats footer output includes the zero-total summary.
|
|
22
|
+
|
|
23
|
+
## [0.31.2] - 2026-03-26
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- Tightened empty-list stats rendering to match the corrected support formatter output (`Tasks: • 0 total`) for fully empty roots.
|
|
27
|
+
|
|
28
|
+
### Technical
|
|
29
|
+
- Strengthened task display formatter regression coverage with an exact empty-output assertion.
|
|
30
|
+
|
|
31
|
+
## [0.31.1] - 2026-03-26
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- Updated `ace-task list` empty-result rendering to always append the stats footer, matching non-empty output and `ace-idea` behavior.
|
|
35
|
+
|
|
10
36
|
## [0.31.0] - 2026-03-24
|
|
11
37
|
|
|
12
38
|
### Fixed
|
data/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Draft, organize, and tackle tasks — for you and your agents.
|
|
5
5
|
|
|
6
|
-
<img src="
|
|
6
|
+
<img src="../docs/brand/AgenticCodingEnvironment.Logo.XS.jpg" alt="ACE Logo" width="480">
|
|
7
7
|
<br><br>
|
|
8
8
|
|
|
9
9
|
<a href="https://rubygems.org/gems/ace-task"><img alt="Gem Version" src="https://img.shields.io/gem/v/ace-task.svg" /></a>
|
|
@@ -151,6 +151,20 @@ Why are we doing this? Focus on user value and behavioral outcomes.
|
|
|
151
151
|
- User acceptance criteria
|
|
152
152
|
- Behavioral test scenarios
|
|
153
153
|
|
|
154
|
+
#### Demo Scenario (user-facing features only)
|
|
155
|
+
<!-- Skip this section if the task has no CLI or user-visible behavior changes -->
|
|
156
|
+
<!-- Define what a recorded demo should show so a reviewer can confirm the feature works -->
|
|
157
|
+
|
|
158
|
+
**What the viewer should understand**: [one sentence summarizing the takeaway]
|
|
159
|
+
|
|
160
|
+
| Scene | Shows | Commands | Fixtures needed |
|
|
161
|
+
|-------|-------|----------|-----------------|
|
|
162
|
+
| 1. Show input | The config/input the user creates | `cat <file>` | sample config file |
|
|
163
|
+
| 2. Run feature | The feature in action | `ace-<tool> <command>` | — |
|
|
164
|
+
| 3. Verify result | The output/outcome | `ls`, `cat`, status check | — |
|
|
165
|
+
|
|
166
|
+
**Timing**: use 3-5s sleep per scene so the viewer can read output
|
|
167
|
+
|
|
154
168
|
## Out of Scope
|
|
155
169
|
<!-- Explicitly exclude implementation concerns to maintain behavioral focus -->
|
|
156
170
|
|
|
@@ -215,7 +215,7 @@ This prevents decomposing into subtasks that add concepts the spike later proves
|
|
|
215
215
|
* Use `ace-git-commit` to commit all idea file movements together
|
|
216
216
|
* Clear commit message: "Mark source ideas as done after creating task"
|
|
217
217
|
* **Validation Requirements:**
|
|
218
|
-
* [ ] All source idea files marked as done and moved to _archive/
|
|
218
|
+
* [ ] All source idea files marked as done and moved to _archive/ — verify: `ace-idea list --status done` should return zero results (done ideas must be in archive, not active)
|
|
219
219
|
* [ ] Task references updated to new locations
|
|
220
220
|
* [ ] Git movements committed
|
|
221
221
|
* Error handling:
|
|
@@ -115,10 +115,19 @@ module Ace
|
|
|
115
115
|
# @param global_folder_stats [Hash, nil] Folder name → count hash from full scan
|
|
116
116
|
# @return [String] Formatted list output
|
|
117
117
|
def self.format_list(tasks, total_count: nil, global_folder_stats: nil)
|
|
118
|
-
|
|
118
|
+
stats_line = format_stats_line(
|
|
119
|
+
tasks,
|
|
120
|
+
total_count: total_count,
|
|
121
|
+
global_folder_stats: global_folder_stats
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
body = if tasks.empty?
|
|
125
|
+
"No tasks found."
|
|
126
|
+
else
|
|
127
|
+
tasks.map { |task| format_list_item(task) }.join("\n")
|
|
128
|
+
end
|
|
119
129
|
|
|
120
|
-
|
|
121
|
-
"#{lines}\n\n#{format_stats_line(tasks, total_count: total_count, global_folder_stats: global_folder_stats)}"
|
|
130
|
+
"#{body}\n\n#{stats_line}"
|
|
122
131
|
end
|
|
123
132
|
|
|
124
133
|
STATUS_ORDER = %w[draft pending in-progress done blocked skipped cancelled].freeze
|
data/lib/ace/task/version.rb
CHANGED