ace-task 0.31.9 → 0.36.7
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 +204 -0
- data/README.md +7 -0
- data/handbook/guides/task-definition.g.md +47 -13
- data/handbook/skills/as-task-draft/SKILL.md +7 -1
- data/handbook/skills/as-task-plan/SKILL.md +6 -1
- data/handbook/skills/as-task-work/SKILL.md +6 -1
- data/handbook/templates/task/draft.template.md +6 -6
- data/handbook/workflow-instructions/bug/analyze.wf.md +40 -8
- data/handbook/workflow-instructions/bug/fix.wf.md +15 -2
- data/handbook/workflow-instructions/task/draft.wf.md +44 -16
- data/handbook/workflow-instructions/task/plan.wf.md +12 -1
- data/handbook/workflow-instructions/task/review.wf.md +21 -14
- data/handbook/workflow-instructions/task/work.wf.md +15 -11
- data/lib/ace/task/atoms/task_frontmatter_defaults.rb +12 -1
- data/lib/ace/task/atoms/task_validation_rules.rb +1 -1
- data/lib/ace/task/cli/commands/create.rb +46 -4
- data/lib/ace/task/cli/commands/github_sync.rb +65 -0
- data/lib/ace/task/cli/commands/plan.rb +8 -4
- data/lib/ace/task/cli.rb +7 -2
- data/lib/ace/task/molecules/github_issue_sync_adapter.rb +77 -0
- data/lib/ace/task/molecules/subtask_creator.rb +12 -2
- data/lib/ace/task/molecules/task_creator.rb +75 -35
- data/lib/ace/task/molecules/task_frontmatter_validator.rb +15 -0
- data/lib/ace/task/molecules/task_plan_generator.rb +13 -1
- data/lib/ace/task/organisms/task_doctor.rb +31 -1
- data/lib/ace/task/organisms/task_manager.rb +193 -25
- data/lib/ace/task/version.rb +1 -1
- data/lib/ace/task.rb +2 -0
- metadata +18 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 81fe627b41cbd7329b370ce01458343eb34bb6dd3033772750976ab7fdbf604e
|
|
4
|
+
data.tar.gz: 55d0dd5f43f21cd4b9f83984d703905d1e66c22869fe6791a430ad1d782fdeb8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5683574d4b854a0aeabd3e1b22e32ab7ad2f74f4bca594316c860954d7bce927da95e9142f804c0bf9078f263f69a6960cdda009fe500e545dbee6d7d78316fc
|
|
7
|
+
data.tar.gz: b28b4bec231fe6d4461a2673d3d4cfcb753aaff3e026ca83cb26b2ed053f906ba1382f174c7e09ad8d92911219626d5445b4507f2de9b356515c14d4341ea804
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,210 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.36.7] - 2026-04-25
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Removed spike as a first-class task pattern from active ACE task drafting. Drafts must now create real child tasks for each original intention, while `as-task-review` owns the deep analysis, draft reshaping, dependency repair, and skip/split decisions for uncertain families.
|
|
15
|
+
|
|
16
|
+
## [0.36.6] - 2026-04-24
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Redesigned spike-task guidance around evaluation against real parent goals instead of closure mechanics alone. Spike-first parents must now declare `Learning Targets Before Decomposition`, spike subtasks must map those targets explicitly, and spikes rewrite the active in-folder task tree before later review decides lifecycle.
|
|
21
|
+
- Restricted spike mutation scope to the task folder. Spikes must no longer edit package docs, handbook files, or other out-of-folder assets directly; they capture those impacts as new subtasks under the same parent instead.
|
|
22
|
+
|
|
23
|
+
## [0.36.5] - 2026-04-24
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- Tightened spike-task drafting and review guidance again so spikes must declare explicit outcome tasks whose type matches the completion mode, and so `reopen later if needed` is no longer an acceptable post-spike closure.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- Tightened spike work guidance so a spike cannot be marked done until its declared concrete outcome task exists in addition to the synchronized parent/doc artifacts and rerun parent review.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
- Tightened spike-task workflow guidance so spike drafts must declare a decision-complete Spike Completion Contract naming completion mode, parent sync target, related artifact sync targets, and the final `as-task-review <parent-ref>` rerun.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Ensured parent task auto-close for child task closure uses the same `TaskManager#update` flow as explicit task closes, so linked GitHub issues close through one consistent code path.
|
|
36
|
+
- Tightened spike work/review guidance so a spike cannot be considered complete until its parent and declared related task/doc artifacts are synchronized and the parent review has been rerun.
|
|
37
|
+
|
|
38
|
+
## [0.36.4] - 2026-04-24
|
|
39
|
+
|
|
40
|
+
## [0.36.2] - 2026-04-23
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- Added layer-ownership triage into task bug-work and planning workflows to reduce cross-package misrouting of root-cause fixes.
|
|
45
|
+
- Tightened task planning workflows to improve issue linkage and work-on sequencing with clearer workflow ownership validation.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
- Added layer-ownership triage to bug analysis/fix and task planning/work workflows so agents identify owner, adapter, and symptom packages before implementing cross-package shared-primitive fixes.
|
|
50
|
+
- Tightened the task draft workflow so GitHub issue URL inputs must create the parent or single task with `--github-issue <number>` and sync the linked issue.
|
|
51
|
+
|
|
52
|
+
### Technical
|
|
53
|
+
- Added workflow contract coverage for the layer-ownership triage guidance.
|
|
54
|
+
## [0.36.1] - 2026-04-19
|
|
55
|
+
|
|
56
|
+
### Technical
|
|
57
|
+
- Decoupled retained create/list/show and archive E2E goals so task root-state evidence is captured before later archive movement.
|
|
58
|
+
- Clarified `TS-TASK-002` plan-path verification so bounded planner timeout diagnostics are accepted as actionable sandbox evidence.
|
|
59
|
+
|
|
60
|
+
## [0.36.0] - 2026-04-16
|
|
61
|
+
|
|
62
|
+
### Changed
|
|
63
|
+
- Added `ace-task plan --timeout` so path-based plan generation can be bounded explicitly from the public CLI.
|
|
64
|
+
- Documented bounded plan generation and timeout troubleshooting in the getting-started and usage guides.
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
- Converted planner-provider timeout failures into actionable CLI errors instead of surfacing raw timeout backtraces.
|
|
68
|
+
- Updated `TS-TASK-002` path-mode verification to accept explicit timeout diagnostics when plan generation cannot complete within the requested bound.
|
|
69
|
+
|
|
70
|
+
## [0.35.7] - 2026-04-16
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- Refined `TS-TASK-001` smoke verification around sandbox-root task trees, archive layout, and invalid-status doctor evidence so retained E2E goals track the current public CLI behavior.
|
|
74
|
+
|
|
75
|
+
## [0.35.6] - 2026-04-15
|
|
76
|
+
|
|
77
|
+
### Fixed
|
|
78
|
+
- Tightened `TS-TASK-002` plan-path verification to require at least one successful path-mode plan artifact while keeping explicit diagnostics for failed dependency paths.
|
|
79
|
+
|
|
80
|
+
## [0.35.5] - 2026-04-15
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
- Reworked retained `TS-TASK-001` goal contracts to use deterministic task-ref handoff artifacts across create/show/update/archive smoke journeys.
|
|
84
|
+
- Added `TS-TASK-002` auxiliary public CLI journeys for `status` and `plan` command coverage, with explicit sandbox diagnostics for unavailable planning dependencies.
|
|
85
|
+
- Updated usage docs with E2E-safe `ace-task plan <ref>` path-mode guidance and `github-sync` precondition examples.
|
|
86
|
+
- Tightened spike-task drafting, review, and work-on-task guidance so spikes must declare whether they are design-contract or proof-of-concept work, define explicit follow-up tasks, and stop implementation flow when runtime work materially drifts from the promised spike contract.
|
|
87
|
+
|
|
88
|
+
## [0.35.4] - 2026-04-13
|
|
89
|
+
|
|
90
|
+
### Fixed
|
|
91
|
+
- Reworked `TS-TASK-001` smoke coverage to validate created and archived tasks from stable task-tree state plus runner observations instead of brittle helper files under `results/`.
|
|
92
|
+
|
|
93
|
+
## [0.35.3] - 2026-04-13
|
|
94
|
+
|
|
95
|
+
### Fixed
|
|
96
|
+
- Hardened `TS-TASK-001` task-ref capture so create/show/archive smoke coverage derives the persisted short ref from stable list/filesystem evidence instead of brittle prose parsing.
|
|
97
|
+
|
|
98
|
+
## [0.35.2] - 2026-04-13
|
|
99
|
+
|
|
100
|
+
### Technical
|
|
101
|
+
- Refreshed `TS-TASK-001` archive and doctor smoke scenario contracts to match the current `_archive` layout and isolate the invalid-status validation path.
|
|
102
|
+
|
|
103
|
+
## [0.35.1] - 2026-04-13
|
|
104
|
+
|
|
105
|
+
### Fixed
|
|
106
|
+
- Accepted subtask IDs in task frontmatter ID validation so doctor frontmatter checks no longer report false invalid-ID errors for valid subtasks.
|
|
107
|
+
- Added atomic task-ID reservation during create so concurrent creates treat lock contention as retryable collisions instead of racing through non-atomic prechecks.
|
|
108
|
+
|
|
109
|
+
### Technical
|
|
110
|
+
- Narrowed task ID-existence scans to ID-prefixed glob matches and added regression coverage for subtask ID validation plus reservation-lock collision behavior.
|
|
111
|
+
|
|
112
|
+
## [0.35.0] - 2026-04-13
|
|
113
|
+
|
|
114
|
+
### Fixed
|
|
115
|
+
- Added duplicate persisted task-ID detection to doctor health checks, including subtask collisions and frontmatter-only doctor validation failures.
|
|
116
|
+
- Added bounded retry handling for standalone `ace-task create` ID collisions with clear retry-exhaustion failures and no partial-artifact leakage.
|
|
117
|
+
|
|
118
|
+
### Technical
|
|
119
|
+
- Added regression coverage for duplicate-ID doctor failures, create-time retry semantics, and cleanup guarantees.
|
|
120
|
+
|
|
121
|
+
## [0.34.3] - 2026-04-13
|
|
122
|
+
|
|
123
|
+
### Fixed
|
|
124
|
+
- Added bounded retry handling for standalone `ace-task create` ID collisions so success is emitted only after a unique persisted task ID exists.
|
|
125
|
+
- Added clear retry-exhaustion failure messaging for create-time ID collisions.
|
|
126
|
+
|
|
127
|
+
### Technical
|
|
128
|
+
- Added command and molecule regression coverage for task ID collision retries and partial-artifact cleanup guarantees.
|
|
129
|
+
|
|
130
|
+
## [0.34.2] - 2026-04-13
|
|
131
|
+
|
|
132
|
+
### Fixed
|
|
133
|
+
- Report duplicate persisted task IDs as explicit doctor health-check errors with file-path context, including top-level and subtask collisions.
|
|
134
|
+
- Include duplicate ID detection in `ace-task doctor --check frontmatter` and fail health status when duplicates are present.
|
|
135
|
+
|
|
136
|
+
### Technical
|
|
137
|
+
- Added organism and CLI regression coverage for duplicate top-level/subtask ID failures and frontmatter-only doctor checks.
|
|
138
|
+
|
|
139
|
+
## [0.34.1] - 2026-04-13
|
|
140
|
+
|
|
141
|
+
### Changed
|
|
142
|
+
- Completed the batch i05 migration follow-through for this package and aligned it with the restarted `fast` / `feat` / `e2e` verification model.
|
|
143
|
+
|
|
144
|
+
### Technical
|
|
145
|
+
- Included in the coordinated assignment-driven patch release for batch i05 package updates.
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
### Changed
|
|
149
|
+
- Expanded canonical `as-task-plan` and `as-task-work` skill metadata so public `plan-task` and `work-on-task` assign-step discovery is skill-owned rather than catalog-owned.
|
|
150
|
+
|
|
151
|
+
## [0.34.0] - 2026-04-12
|
|
152
|
+
|
|
153
|
+
### Changed
|
|
154
|
+
- Migrated package tests to the restarted `fast` / `feat` / `e2e` model by moving deterministic coverage to `test/fast`, retaining `TS-TASK-001` as workflow-value E2E coverage, and updating package testing guidance.
|
|
155
|
+
|
|
156
|
+
### Fixed
|
|
157
|
+
- Hardened `TS-TASK-001` sandbox bootstrap and doctor error-path runner setup so repeated E2E runs start from a clean healthy baseline before malformed-task injection.
|
|
158
|
+
|
|
159
|
+
## [0.33.3] - 2026-04-07
|
|
160
|
+
|
|
161
|
+
### Changed
|
|
162
|
+
- Added linked GitHub issue metadata handling as a single ownership model and kept task/task manager sync behavior aligned with linked-task life cycle updates.
|
|
163
|
+
|
|
164
|
+
### Fixed
|
|
165
|
+
- Fixed GitHub sync dispatch and manual sync verification paths by routing through the reusable sync flow and tightening demo-task linkage checks.
|
|
166
|
+
|
|
167
|
+
### Technical
|
|
168
|
+
- Expanded test coverage around GitHub sync assertions, frontmatter ownership validation, and workflow-level linked issue behavior.
|
|
169
|
+
|
|
170
|
+
## [0.33.2] - 2026-04-07
|
|
171
|
+
|
|
172
|
+
### Changed
|
|
173
|
+
- Updated the live GitHub sync demo tape to declare semantic verification expectations for exported issue/task refs, forbidden error output, and final closed-issue state.
|
|
174
|
+
|
|
175
|
+
## [0.33.1] - 2026-04-07
|
|
176
|
+
|
|
177
|
+
### Fixed
|
|
178
|
+
- Corrected create-time GitHub sync dispatch so `ace-task` resolves the reusable `sync_task` integration instead of the ownership-validator entrypoint.
|
|
179
|
+
- Fixed the live GitHub sync demo tape to recover the created task ref from slugified task filenames during recording.
|
|
180
|
+
|
|
181
|
+
## [0.33.0] - 2026-04-07
|
|
182
|
+
|
|
183
|
+
### Fixed
|
|
184
|
+
- Hardened linked-issue synchronization by loading `ace/git` on the main runtime path, reconciling previous/current issue ID sets during updates, and treating GitHub sync failures as non-blocking task warnings.
|
|
185
|
+
- Surfaced manual `github-sync` failures with per-task error details and an explicit non-zero CLI failure when requested sync work does not complete.
|
|
186
|
+
- Updated linked issue sync payloads to use task spec file paths for sticky comment links so GitHub issue references land on `.s.md` source-of-truth files.
|
|
187
|
+
- Updated `ace-task create` to print non-blocking GitHub sync warnings (`last_update_note`) so create-time linked-issue sync failures are visible to operators.
|
|
188
|
+
- Replaced array-style linked issue metadata with singular `github_issue` ownership and reject duplicate `--github-issue` flags.
|
|
189
|
+
|
|
190
|
+
### Changed
|
|
191
|
+
- Updated ACE-linked GitHub issue lifecycle guidance to treat task metadata and ACE-managed sync as the canonical path, while keeping PR footer closure keywords as optional manual guidance.
|
|
192
|
+
- Updated linked GitHub issue storage and task-manager sync hooks to enforce one canonical owning task per GitHub issue.
|
|
193
|
+
- Reworked the GitHub sync demo to show live issue creation, task linkage, and automatic issue closure.
|
|
194
|
+
|
|
195
|
+
### Technical
|
|
196
|
+
- Added linked-issue metadata contract checks to task draft/review workflow instructions and aligned related task spec examples for consistency.
|
|
197
|
+
- Expanded create/update/frontmatter/manager test coverage for singular `github_issue` ownership and conflict handling.
|
|
198
|
+
|
|
199
|
+
## [0.32.0] - 2026-04-05
|
|
200
|
+
|
|
201
|
+
### Added
|
|
202
|
+
- Added `ace-task github-sync` command for manual linked-issue synchronization by task reference or `--all`.
|
|
203
|
+
- Added `--github-issue` create-time linkage support for storing machine-readable `github_issue` task metadata.
|
|
204
|
+
- Added lifecycle sync orchestration through `TaskManager` and `GithubIssueSyncAdapter` for linked task create/update/reparent flows.
|
|
205
|
+
|
|
206
|
+
### Changed
|
|
207
|
+
- Extended task frontmatter defaults to emit structured `github_issue` metadata when linked issues are provided.
|
|
208
|
+
- Updated `ace-task` usage documentation with linked issue create flags and manual sync command usage.
|
|
209
|
+
|
|
210
|
+
### Technical
|
|
211
|
+
- Added validation rules for `github` and `github_issue` frontmatter structure and numeric issue IDs.
|
|
212
|
+
- Expanded command/organism/validator/defaults test coverage for linked issue metadata and sync behavior.
|
|
213
|
+
|
|
10
214
|
## [0.31.9] - 2026-03-31
|
|
11
215
|
|
|
12
216
|
### Changed
|
data/README.md
CHANGED
|
@@ -26,6 +26,13 @@ Tasks are markdown specs living in git - attached to branches and worktrees, not
|
|
|
26
26
|
2. Review and planning workflows refine scope before implementation.
|
|
27
27
|
3. Oversee execution through worktrees and assignments until ship-ready.
|
|
28
28
|
|
|
29
|
+
## Testing Model
|
|
30
|
+
|
|
31
|
+
- `ace-test ace-task` runs deterministic package tests (`test/fast`) for the default feedback loop.
|
|
32
|
+
- `ace-test ace-task feat` runs deterministic feature coverage when `test/feat` exists.
|
|
33
|
+
- `ace-test ace-task all` runs all deterministic lanes.
|
|
34
|
+
- `ace-test-e2e ace-task` runs retained real workflow scenarios from `test/e2e`.
|
|
35
|
+
|
|
29
36
|
## Use Cases
|
|
30
37
|
|
|
31
38
|
**Draft and structure work** - create a task, split it into subtasks, add new subtasks as work reveals scope. Use `/as-task-draft` to draft from an earlier captured [idea](../ace-idea) or short note, or [`ace-task create`](docs/usage.md#ace-task-create-title) from the CLI.
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
doc-type: guide
|
|
3
3
|
purpose: Guide for writing clear, actionable task definitions in ace-task
|
|
4
4
|
ace-docs:
|
|
5
|
-
last-updated: '2026-
|
|
5
|
+
last-updated: '2026-04-25'
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- markdownlint-disable -->
|
|
9
|
-
# 📑 Writing Clear, Actionable Dev
|
|
9
|
+
# 📑 Writing Clear, Actionable Dev Tasks
|
|
10
10
|
|
|
11
|
-
## A playbook for documentation
|
|
11
|
+
## A playbook for documentation-oriented tickets, with a complete worked example
|
|
12
12
|
|
|
13
13
|
## Introduction & Goal
|
|
14
14
|
|
|
@@ -19,7 +19,7 @@ minimize ambiguity and streamline the process of defining and executing document
|
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
## 0. Directory
|
|
22
|
+
## 0. Directory Audit Step ✅
|
|
23
23
|
|
|
24
24
|
**Always start by discovering what actually exists in the repo.**
|
|
25
25
|
|
|
@@ -28,7 +28,7 @@ minimize ambiguity and streamline the process of defining and executing document
|
|
|
28
28
|
3. From that listing, build the deliverable manifest.
|
|
29
29
|
|
|
30
30
|
> **Tip:**
|
|
31
|
-
> • If you don’t have repo access, create a tiny *pre
|
|
31
|
+
> • If you don’t have repo access, create a tiny *pre-ticket* titled “Generate Guide-Audit Manifest”.
|
|
32
32
|
> • Commit the tree output as a comment or markdown file, then reference it in the main ticket.
|
|
33
33
|
|
|
34
34
|
Example audit snippet to embed:
|
|
@@ -45,18 +45,18 @@ guides
|
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
48
|
-
## 1. Anatomy
|
|
48
|
+
## 1. Anatomy of a Great Task
|
|
49
49
|
|
|
50
|
-
| Section | Purpose | Key
|
|
50
|
+
| Section | Purpose | Key Questions |
|
|
51
51
|
|---------|---------|---------------|
|
|
52
|
-
| **Front
|
|
52
|
+
| **Front-matter** | Helps tooling & humans filter | id (use `task-manager generate-id VERSION` to generate), status, priority, estimate, dependencies |
|
|
53
53
|
| **Objective / Problem** | *Why* are we doing this? | What pain are we fixing? |
|
|
54
|
-
| **Directory Audit (0)** | Source
|
|
54
|
+
| **Directory Audit (0)** | Source-of-truth for scope | Did we include the current tree? |
|
|
55
55
|
| **Scope of Work** | *What* to touch | Which guides/folders? |
|
|
56
56
|
| **Deliverables / Manifest** | Exact files to create / modify / delete | Could a newcomer do it with just this? |
|
|
57
|
-
| **Phases** | Bite
|
|
57
|
+
| **Phases** | Bite-sized plan | Audit → Extract → Refactor → Index |
|
|
58
58
|
| **Implementation Plan** | Divided into Planning Steps (`* [ ]`) for analysis/design and Execution Steps (`- [ ]`) for implementation actions. Consider embedding automated test/verification steps directly. | |
|
|
59
|
-
| **Acceptance Criteria** | Definition of Done | Check
|
|
59
|
+
| **Acceptance Criteria** | Definition of Done | Check-list style `[ ]`. **Can include references to automated checks defined in the Implementation Plan's Planning and Execution sections or be high-level checks themselves.** |
|
|
60
60
|
| **Out of Scope** | Prevent scope creep | What must *not* be touched? |
|
|
61
61
|
| **References & Risks** | Links to style guides, ADRs, **testing standards (like [Embedded Testing Guide](ace-docs/handbook/guides/embedded-testing-guide.g.md))**; mitigations | Any scripts to run? **Use links relative to the project root (e.g., `ace-handbook/handbook/guides/some-guide.g.md`), not relative to the current file (`../guides/some-guide.md`)** |
|
|
62
62
|
|
|
@@ -88,7 +88,7 @@ This distinction supports workflow separation where review/planning phases focus
|
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
91
|
-
## 3.
|
|
91
|
+
## 3. Full Worked Example
|
|
92
92
|
|
|
93
93
|
A full worked example of a task, "Tailor Guides to Tech Stack," has been moved to a separate file:
|
|
94
94
|
[`ace-task/handbook/templates/release-tasks/example.md`](../templates/release-tasks/example.md)
|
|
@@ -153,4 +153,38 @@ For complex tasks requiring analysis or design decisions, include both sections:
|
|
|
153
153
|
6. Are Planning Steps used for complex tasks requiring analysis/design?
|
|
154
154
|
7. Do visual markers distinguish planning (`* [ ]`) from execution (`- [ ]`) steps?
|
|
155
155
|
|
|
156
|
-
Tick them all → merge the ticket.
|
|
156
|
+
Tick them all → merge the ticket.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Review-first task shaping
|
|
161
|
+
|
|
162
|
+
ACE no longer uses spike as a special task type.
|
|
163
|
+
|
|
164
|
+
### Rules
|
|
165
|
+
|
|
166
|
+
1. The parent owns the umbrella outcome and the child-task map.
|
|
167
|
+
2. Every original intention that matters must exist as a real child task from the start.
|
|
168
|
+
3. If ordering matters, the first child should be the smallest real vertical slice, not a synthetic research-only task.
|
|
169
|
+
4. `as-task-review` is the deep-analysis stage: it may rewrite, split, reorder, skip, or dependency-shape draft subtasks after codebase research.
|
|
170
|
+
5. Do not preserve major uncertainty only in parent prose. If a goal matters enough to protect, give it a child task.
|
|
171
|
+
6. If review later proves a drafted child obsolete or already satisfied, review updates the task family directly instead of relying on a dedicated spike artifact.
|
|
172
|
+
|
|
173
|
+
### Parent responsibility
|
|
174
|
+
|
|
175
|
+
The parent should keep:
|
|
176
|
+
- umbrella objective
|
|
177
|
+
- why the family exists
|
|
178
|
+
- decomposition map of child refs and concerns
|
|
179
|
+
- shared boundaries or references
|
|
180
|
+
|
|
181
|
+
The parent should not hide work that has no child owner.
|
|
182
|
+
|
|
183
|
+
### Child responsibility
|
|
184
|
+
|
|
185
|
+
Each child task should own:
|
|
186
|
+
- one concrete slice of the original intention
|
|
187
|
+
- its own interface contract and success criteria
|
|
188
|
+
- its own verification plan
|
|
189
|
+
|
|
190
|
+
If a single child is trying to answer multiple independent questions, split it before implementation.
|
|
@@ -3,7 +3,7 @@ name: as-task-draft
|
|
|
3
3
|
description: Draft Task with Idea File Movement (SPECS ONLY - no code)
|
|
4
4
|
# bundle: wfi://task/draft
|
|
5
5
|
# context: no-fork
|
|
6
|
-
# agent:
|
|
6
|
+
# agent: Plan
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools:
|
|
9
9
|
- Bash(ace-task:*)
|
|
@@ -22,3 +22,9 @@ skill:
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
Load and run `ace-bundle wfi://task/draft` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
|
|
25
|
+
|
|
26
|
+
This skill is for specification work only.
|
|
27
|
+
|
|
28
|
+
- Create or update draft task artifacts only.
|
|
29
|
+
- Do not implement package code, tests, or runtime behavior changes.
|
|
30
|
+
- If the user later says "implement", treat that as continuing the drafting/spec workflow unless they explicitly switch to `as-task-work` / `wfi://task/work`.
|
|
@@ -18,10 +18,15 @@ skill:
|
|
|
18
18
|
execution:
|
|
19
19
|
workflow: wfi://task/plan
|
|
20
20
|
assign:
|
|
21
|
-
source: wfi://task/plan
|
|
22
21
|
steps:
|
|
23
22
|
- name: plan-task
|
|
24
23
|
description: Analyze task requirements and create an implementation plan
|
|
24
|
+
produces: [implementation-plan]
|
|
25
|
+
consumes: [project-base-context, task-spec]
|
|
26
|
+
when_to_skip:
|
|
27
|
+
- "Task is trivial and doesn't need a plan"
|
|
28
|
+
- "Implementation plan already exists"
|
|
29
|
+
effort: light
|
|
25
30
|
tags: [planning, analysis]
|
|
26
31
|
context:
|
|
27
32
|
default: fork
|
|
@@ -17,7 +17,6 @@ argument-hint: [task-id like 123]
|
|
|
17
17
|
last_modified: 2026-02-17
|
|
18
18
|
source: ace-task
|
|
19
19
|
assign:
|
|
20
|
-
source: wfi://task/work
|
|
21
20
|
steps:
|
|
22
21
|
- name: work-on-task
|
|
23
22
|
description: Implement task changes following project conventions
|
|
@@ -27,6 +26,12 @@ assign:
|
|
|
27
26
|
- "implement task"
|
|
28
27
|
- "task work"
|
|
29
28
|
- "build feature"
|
|
29
|
+
produces: [code-changes, commits]
|
|
30
|
+
consumes: [project-base-context, task-spec]
|
|
31
|
+
when_to_skip:
|
|
32
|
+
- "Task is documentation-only"
|
|
33
|
+
- "Changes are already implemented"
|
|
34
|
+
effort: medium
|
|
30
35
|
tags: [implementation, core-workflow]
|
|
31
36
|
context:
|
|
32
37
|
default: fork
|
|
@@ -15,7 +15,7 @@ bundle:
|
|
|
15
15
|
doc-type: template
|
|
16
16
|
purpose: Template for drafting task definitions
|
|
17
17
|
ace-docs:
|
|
18
|
-
last-updated: '2026-
|
|
18
|
+
last-updated: '2026-04-25'
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
# {title}
|
|
@@ -98,7 +98,7 @@ GET/POST/PUT/DELETE /endpoint
|
|
|
98
98
|
<!-- Ask about unclear requirements, edge cases, and user expectations -->
|
|
99
99
|
|
|
100
100
|
- [ ] **Requirement Clarity**: [Question about unclear or ambiguous requirements]
|
|
101
|
-
- [ ] **Edge Case Handling**: [Question about boundary conditions or unusual scenarios]
|
|
101
|
+
- [ ] **Edge Case Handling**: [Question about boundary conditions or unusual scenarios]
|
|
102
102
|
- [ ] **User Experience**: [Question about user expectations, workflows, or interactions]
|
|
103
103
|
- [ ] **Success Definition**: [Question about how success will be measured or validated]
|
|
104
104
|
|
|
@@ -135,7 +135,7 @@ Why are we doing this? Focus on user value and behavioral outcomes.
|
|
|
135
135
|
<!-- Define the behavioral scope - what user experiences and system behaviors are included -->
|
|
136
136
|
|
|
137
137
|
- **User Experience Scope**: [Which user interactions, workflows, and experiences are included]
|
|
138
|
-
- **System Behavior Scope**: [Which system capabilities, responses, and behaviors are included]
|
|
138
|
+
- **System Behavior Scope**: [Which system capabilities, responses, and behaviors are included]
|
|
139
139
|
- **Interface Scope**: [Which APIs, commands, or interfaces are included]
|
|
140
140
|
|
|
141
141
|
### Deliverables
|
|
@@ -143,7 +143,7 @@ Why are we doing this? Focus on user value and behavioral outcomes.
|
|
|
143
143
|
|
|
144
144
|
#### Behavioral Specifications
|
|
145
145
|
- User experience flow definitions
|
|
146
|
-
- System behavior specifications
|
|
146
|
+
- System behavior specifications
|
|
147
147
|
- Interface contract definitions
|
|
148
148
|
|
|
149
149
|
#### Validation Artifacts
|
|
@@ -169,7 +169,7 @@ Why are we doing this? Focus on user value and behavioral outcomes.
|
|
|
169
169
|
<!-- Explicitly exclude implementation concerns to maintain behavioral focus -->
|
|
170
170
|
|
|
171
171
|
- ❌ **Implementation Details**: File structures, code organization, technical architecture
|
|
172
|
-
- ❌ **Technology Decisions**: Tool selections, library choices, framework decisions
|
|
172
|
+
- ❌ **Technology Decisions**: Tool selections, library choices, framework decisions
|
|
173
173
|
- ❌ **Performance Optimization**: Specific performance improvement strategies
|
|
174
174
|
- ❌ **Future Enhancements**: Related features or capabilities not in current scope
|
|
175
175
|
|
|
@@ -177,4 +177,4 @@ Why are we doing this? Focus on user value and behavioral outcomes.
|
|
|
177
177
|
|
|
178
178
|
- Related capture-it output (if applicable)
|
|
179
179
|
- User experience requirements
|
|
180
|
-
- Interface specification examples
|
|
180
|
+
- Interface specification examples
|
|
@@ -156,7 +156,29 @@ Systematically analyze bug reports to identify root cause, verify reproduction,
|
|
|
156
156
|
- Contributing factors (conditions that enable the bug)
|
|
157
157
|
- Impact scope (what else might be affected)
|
|
158
158
|
|
|
159
|
-
### 5.
|
|
159
|
+
### 5. Layer Ownership Triage
|
|
160
|
+
|
|
161
|
+
Before finalizing the fix plan, identify the layer that owns the failing primitive. This is required when the bug crosses package boundaries or involves shared external resources, protocols, command routing, configuration namespaces, or reusable helper APIs.
|
|
162
|
+
|
|
163
|
+
Classify each relevant package/component:
|
|
164
|
+
|
|
165
|
+
- **Owner/creator**: creates, names, persists, routes, or navigates the primitive
|
|
166
|
+
- **Adapter/orchestrator**: coordinates owner APIs for a workflow
|
|
167
|
+
- **Consumer/symptom**: exposes the failure but does not own the primitive
|
|
168
|
+
|
|
169
|
+
Answer these questions in the analysis:
|
|
170
|
+
|
|
171
|
+
- What is the failing primitive or contract?
|
|
172
|
+
- Which package creates or names it?
|
|
173
|
+
- Which package navigates, reuses, or cleans it up?
|
|
174
|
+
- Which package only exposed the symptom?
|
|
175
|
+
- Is there a shared package/API that all callers should use?
|
|
176
|
+
|
|
177
|
+
Default fix rule: fix the owner layer first, then update adapters/consumers only to call the shared behavior. Do not propose a consumer-only fix when an owner layer exists and has not been inspected.
|
|
178
|
+
|
|
179
|
+
Example: if `ace-assign` fails because `ace-t.k5a-fs` is parsed incorrectly as a tmux target, the failing primitive is tmux window naming/targeting. `ace-tmux` owns window creation, naming, and navigation, so the primary fix belongs in `ace-tmux`; `ace-assign` and `ace-overseer` should reuse the shared policy.
|
|
180
|
+
|
|
181
|
+
### 6. Propose Regression Tests
|
|
160
182
|
|
|
161
183
|
**Design tests to catch this bug:**
|
|
162
184
|
|
|
@@ -185,24 +207,26 @@ Systematically analyze bug reports to identify root cause, verify reproduction,
|
|
|
185
207
|
- Purpose: Verify [specific behavior] handles [edge case]
|
|
186
208
|
- Scenario: When [condition], expect [result]
|
|
187
209
|
|
|
188
|
-
**
|
|
189
|
-
- Location: test/
|
|
210
|
+
**Feature Test: [test name]**
|
|
211
|
+
- Location: test/feat/[flow]_test.rb
|
|
190
212
|
- Purpose: Verify [workflow] completes correctly
|
|
191
213
|
- Scenario: Given [setup], when [action], then [verification]
|
|
192
214
|
```
|
|
193
215
|
|
|
194
|
-
###
|
|
216
|
+
### 7. Create Fix Plan
|
|
195
217
|
|
|
196
218
|
**Document the fix strategy:**
|
|
197
219
|
|
|
198
220
|
1. **Files to modify:**
|
|
199
221
|
- List each file that needs changes
|
|
200
222
|
- Describe the type of change for each
|
|
223
|
+
- Mark each file as owner, adapter/orchestrator, or consumer/symptom when layer ownership triage applies
|
|
201
224
|
|
|
202
225
|
2. **Fix approach:**
|
|
203
226
|
- Describe the technical solution
|
|
204
227
|
- Explain why this approach was chosen
|
|
205
228
|
- Note any alternative approaches considered
|
|
229
|
+
- Explain why the fix is placed in the owner layer, or why no owner-layer change is needed
|
|
206
230
|
|
|
207
231
|
3. **Risks and side effects:**
|
|
208
232
|
- What else might be affected by the fix
|
|
@@ -213,7 +237,7 @@ Systematically analyze bug reports to identify root cause, verify reproduction,
|
|
|
213
237
|
- How to revert if issues arise
|
|
214
238
|
- What to check after reverting
|
|
215
239
|
|
|
216
|
-
###
|
|
240
|
+
### 8. Save Analysis Results
|
|
217
241
|
|
|
218
242
|
**Cache the analysis for fix-bug workflow:**
|
|
219
243
|
|
|
@@ -228,6 +252,14 @@ mkdir -p .ace-local/task/bug-analysis/{session}
|
|
|
228
252
|
# .ace-local/task/bug-analysis/{session}/analysis.yml
|
|
229
253
|
root_cause: "Description of root cause"
|
|
230
254
|
repro_status: confirmed | not_reproducible | intermittent
|
|
255
|
+
layer_ownership:
|
|
256
|
+
primitive: "Shared resource/protocol/API involved, if any"
|
|
257
|
+
owner: "Package/component that owns creation/naming/routing"
|
|
258
|
+
adapters:
|
|
259
|
+
- "Adapter/orchestrator package, if any"
|
|
260
|
+
consumers:
|
|
261
|
+
- "Symptom package, if any"
|
|
262
|
+
fix_layer: "owner | adapter | consumer | not_applicable"
|
|
231
263
|
affected_files:
|
|
232
264
|
- path: path/to/file.rb
|
|
233
265
|
change_summary: "Description of what change is needed"
|
|
@@ -357,7 +389,7 @@ Present the analysis to the user in this format:
|
|
|
357
389
|
- Purpose: [What it validates]
|
|
358
390
|
|
|
359
391
|
2. **[Test Name]** (integration)
|
|
360
|
-
- File: `test/
|
|
392
|
+
- File: `test/feat/flow_test.rb`
|
|
361
393
|
- Purpose: [What it validates]
|
|
362
394
|
|
|
363
395
|
### Fix Plan
|
|
@@ -420,7 +452,7 @@ This workflow provides systematic bug analysis that ensures proper investigation
|
|
|
420
452
|
- Purpose: [What it validates]
|
|
421
453
|
|
|
422
454
|
2. **[Test Name]** (integration)
|
|
423
|
-
- File: `test/
|
|
455
|
+
- File: `test/feat/flow_test.rb`
|
|
424
456
|
- Purpose: [What it validates]
|
|
425
457
|
|
|
426
458
|
### Fix Plan
|
|
@@ -455,4 +487,4 @@ risks:
|
|
|
455
487
|
- "Potential side effect description"
|
|
456
488
|
rollback_plan: "How to revert if issues arise"
|
|
457
489
|
</template>
|
|
458
|
-
</documents>
|
|
490
|
+
</documents>
|
|
@@ -67,6 +67,7 @@ ls .ace-local/task/bug-analysis/
|
|
|
67
67
|
- Load the analysis.yml from the most recent session
|
|
68
68
|
- Review root cause, affected files, and proposed tests
|
|
69
69
|
- Confirm the fix plan with user if needed
|
|
70
|
+
- Review `layer_ownership` when present and verify the planned fix targets the owner layer before adapters or consumers
|
|
70
71
|
|
|
71
72
|
**If no analysis exists:**
|
|
72
73
|
|
|
@@ -74,6 +75,16 @@ ls .ace-local/task/bug-analysis/
|
|
|
74
75
|
- Gather: affected files, root cause, proposed solution
|
|
75
76
|
- Document the fix approach before proceeding
|
|
76
77
|
|
|
78
|
+
**Layer ownership guard:**
|
|
79
|
+
|
|
80
|
+
When the bug crosses package boundaries or involves a shared primitive, classify packages before editing:
|
|
81
|
+
|
|
82
|
+
- **Owner/creator**: creates, names, persists, routes, or navigates the primitive
|
|
83
|
+
- **Adapter/orchestrator**: coordinates owner APIs for a workflow
|
|
84
|
+
- **Consumer/symptom**: exposes the failure but does not own the primitive
|
|
85
|
+
|
|
86
|
+
If the loaded/user-provided plan changes only a consumer/symptom package while an owner layer exists and was not inspected, stop and return to analysis. Do not implement a local workaround before checking the owner package.
|
|
87
|
+
|
|
77
88
|
### 2. Prepare for Fix
|
|
78
89
|
|
|
79
90
|
**Set up the fix branch:**
|
|
@@ -100,12 +111,14 @@ git checkout -b fix/[bug-description]
|
|
|
100
111
|
- Review surrounding code
|
|
101
112
|
- Understand dependencies
|
|
102
113
|
- Check for similar patterns in codebase
|
|
114
|
+
- If the file is a consumer of a shared primitive, inspect the owner package/API before changing local policy
|
|
103
115
|
|
|
104
116
|
2. **Apply the fix:**
|
|
105
117
|
- Make minimal changes to fix the bug
|
|
106
118
|
- Follow existing code style and patterns
|
|
107
119
|
- Add appropriate error handling
|
|
108
120
|
- Include inline comments only if logic is non-obvious
|
|
121
|
+
- Put shared policy in the owner layer and have adapters/consumers call that policy
|
|
109
122
|
|
|
110
123
|
3. **Review the change:**
|
|
111
124
|
- Verify the fix addresses root cause
|
|
@@ -140,7 +153,7 @@ git checkout -b fix/[bug-description]
|
|
|
140
153
|
|
|
141
154
|
2. **Create integration test if needed:**
|
|
142
155
|
```ruby
|
|
143
|
-
# Example: test/
|
|
156
|
+
# Example: test/feat/workflow_test.rb
|
|
144
157
|
def test_complete_flow_with_missing_data
|
|
145
158
|
# Test the full workflow that exhibited the bug
|
|
146
159
|
end
|
|
@@ -509,4 +522,4 @@ The fix is ready for code review and merge.
|
|
|
509
522
|
### Notes
|
|
510
523
|
[Any additional context about the fix]
|
|
511
524
|
</template>
|
|
512
|
-
</documents>
|
|
525
|
+
</documents>
|