ace-assign 0.42.4 → 0.53.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/.ace-defaults/assign/catalog/composition-rules.yml +2 -17
- data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +0 -26
- data/.ace-defaults/assign/catalog/steps/create-retro.step.yml +1 -1
- data/.ace-defaults/assign/catalog/steps/mark-task-done.step.yml +1 -2
- data/.ace-defaults/assign/catalog/steps/onboard.step.yml +0 -17
- data/.ace-defaults/assign/catalog/steps/plan-task.step.yml +0 -11
- data/.ace-defaults/assign/catalog/steps/pre-commit-review.step.yml +3 -0
- data/.ace-defaults/assign/catalog/steps/reflect-and-refactor.step.yml +3 -2
- data/.ace-defaults/assign/catalog/steps/review-pr.step.yml +0 -16
- data/.ace-defaults/assign/catalog/steps/task-load.step.yml +1 -1
- data/.ace-defaults/assign/catalog/steps/verify-test-suite.step.yml +7 -34
- data/.ace-defaults/assign/catalog/steps/verify-test.step.yml +7 -4
- data/.ace-defaults/assign/catalog/steps/work-on-task.step.yml +0 -17
- data/.ace-defaults/assign/presets/fix-bug.yml +4 -3
- data/.ace-defaults/assign/presets/quick-implement.yml +1 -1
- data/.ace-defaults/assign/presets/work-on-task.yml +3 -16
- data/CHANGELOG.md +201 -0
- data/README.md +20 -43
- data/docs/demo/canonical-skill-source.gif +0 -0
- data/docs/demo/canonical-skill-source.tape.yml +51 -0
- data/docs/demo/fork-provider.cast +957 -0
- data/docs/demo/fork-provider.gif +0 -0
- data/docs/demo/fork-provider.recording.json +32 -0
- data/docs/demo/fork-provider.tape.yml +65 -20
- data/docs/getting-started.md +5 -2
- data/docs/usage.md +47 -0
- data/handbook/guides/fork-context.g.md +2 -2
- data/handbook/skills/as-assign-drive/SKILL.md +13 -1
- data/handbook/skills/as-create-retro-internal/SKILL.md +29 -0
- data/handbook/skills/as-mark-task-done-internal/SKILL.md +29 -0
- data/handbook/skills/as-reflect-and-refactor-internal/SKILL.md +30 -0
- data/handbook/skills/as-task-load-internal/SKILL.md +28 -0
- data/handbook/workflow-instructions/assign/compose.wf.md +3 -3
- data/handbook/workflow-instructions/assign/create-retro-internal.wf.md +11 -0
- data/handbook/workflow-instructions/assign/create.wf.md +6 -3
- data/handbook/workflow-instructions/assign/drive.wf.md +231 -14
- data/handbook/workflow-instructions/assign/mark-task-done-internal.wf.md +12 -0
- data/handbook/workflow-instructions/assign/prepare.wf.md +5 -5
- data/handbook/workflow-instructions/assign/reflect-and-refactor-internal.wf.md +14 -0
- data/handbook/workflow-instructions/assign/run-in-batches.wf.md +4 -1
- data/handbook/workflow-instructions/assign/start.wf.md +5 -2
- data/handbook/workflow-instructions/assign/task-load-internal.wf.md +12 -0
- data/handbook/workflow-instructions/assign/verify-test-suite.wf.md +36 -0
- data/lib/ace/assign/atoms/catalog_loader.rb +105 -2
- data/lib/ace/assign/atoms/step_file_parser.rb +15 -0
- data/lib/ace/assign/cli/commands/assignment_target.rb +53 -0
- data/lib/ace/assign/cli/commands/finish.rb +7 -4
- data/lib/ace/assign/cli/commands/fork_run.rb +4 -1
- data/lib/ace/assign/cli/commands/fork_session.rb +52 -0
- data/lib/ace/assign/cli/commands/start.rb +9 -3
- data/lib/ace/assign/cli/commands/status.rb +208 -227
- data/lib/ace/assign/cli/commands/step.rb +62 -0
- data/lib/ace/assign/cli.rb +8 -1
- data/lib/ace/assign/models/step.rb +4 -2
- data/lib/ace/assign/molecules/fork_session_launcher.rb +189 -8
- data/lib/ace/assign/molecules/queue_scanner.rb +1 -0
- data/lib/ace/assign/molecules/skill_assign_source_resolver.rb +223 -47
- data/lib/ace/assign/molecules/tmux_fork_runner.rb +191 -0
- data/lib/ace/assign/organisms/assignment_executor.rb +223 -24
- data/lib/ace/assign/version.rb +1 -1
- metadata +21 -5
- data/.ace-defaults/assign/catalog/steps/verify-e2e.step.yml +0 -42
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ca5adfb378f5dde05614d1ddac3cd1b363f20fae8b86941377c8a2973d8e6f5
|
|
4
|
+
data.tar.gz: 64116c0b867eb931ee1197b56944b7c05ce99dd3cc1baeed2188d849f15c41b1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fae0fa4fbf25776497f8182e6074a95a4a553a9dcb213c513d2ae09a7b7fe2a725cb5b2175ca12056a566ea7e034b6dd7fdacdbe447bc89bf06a2ec7e4e16b0f
|
|
7
|
+
data.tar.gz: 115e8ad8b42d461daed625bed9a2c2b4704e94b00f6cb98044bc16022e4e3f9098c2f30ed9081acacdc557547ff176896baca0372bf0b241fbab102f428ee59c
|
|
@@ -108,11 +108,6 @@ ordering:
|
|
|
108
108
|
after: create-retro
|
|
109
109
|
note: "Retro should follow all feedback application in review cycles"
|
|
110
110
|
|
|
111
|
-
- rule: e2e-before-release
|
|
112
|
-
before: verify-e2e
|
|
113
|
-
after: release
|
|
114
|
-
note: "E2E must pass before bumping version — catch failures early"
|
|
115
|
-
|
|
116
111
|
- rule: update-docs-after-release
|
|
117
112
|
before: release
|
|
118
113
|
after: update-docs
|
|
@@ -123,11 +118,6 @@ ordering:
|
|
|
123
118
|
after: create-pr
|
|
124
119
|
note: "Updated docs should be visible to PR reviewers"
|
|
125
120
|
|
|
126
|
-
- rule: e2e-after-verify
|
|
127
|
-
before: verify-test-suite
|
|
128
|
-
after: verify-e2e
|
|
129
|
-
note: "Unit tests should pass before E2E runs"
|
|
130
|
-
|
|
131
121
|
pairs:
|
|
132
122
|
- name: review-apply-cycle
|
|
133
123
|
steps: [review-pr, apply-feedback]
|
|
@@ -167,11 +157,6 @@ pairs:
|
|
|
167
157
|
cap: 1
|
|
168
158
|
note: "Re-plan produces 1-2 sub-tasks, then reflect runs once more (no further re-plan)"
|
|
169
159
|
|
|
170
|
-
- name: e2e-review-run-pair
|
|
171
|
-
steps: [verify-e2e]
|
|
172
|
-
pattern: sequential
|
|
173
|
-
note: "E2E review (coverage matrix) and targeted run are a single step with two steps"
|
|
174
|
-
|
|
175
160
|
- name: docs-update-validate-pair
|
|
176
161
|
steps: [update-docs]
|
|
177
162
|
pattern: sequential
|
|
@@ -191,9 +176,9 @@ conditional:
|
|
|
191
176
|
note: "Test suite verification with profiling catches slow tests and regressions before release. In explicit-step mode this remains advisory unless policy elevates it."
|
|
192
177
|
|
|
193
178
|
- when: "assignment includes work-on-task and touches CLI commands or public API"
|
|
194
|
-
suggest: [
|
|
179
|
+
suggest: [update-docs, record-demo]
|
|
195
180
|
strength: recommended
|
|
196
|
-
note: "Public contract changes require
|
|
181
|
+
note: "Public contract changes require doc updates and demo recording"
|
|
197
182
|
|
|
198
183
|
- when: "task involves auth, security, or data handling"
|
|
199
184
|
suggest: [security-audit]
|
|
@@ -1,28 +1,2 @@
|
|
|
1
1
|
name: create-pr
|
|
2
2
|
skill: as-github-pr-create
|
|
3
|
-
description: Create a pull request for the implemented changes
|
|
4
|
-
intent:
|
|
5
|
-
phrases:
|
|
6
|
-
- "create pr"
|
|
7
|
-
- "create a pr"
|
|
8
|
-
- "open pr"
|
|
9
|
-
- "open pull request"
|
|
10
|
-
|
|
11
|
-
prerequisites:
|
|
12
|
-
- name: work-on-task
|
|
13
|
-
strength: required
|
|
14
|
-
reason: "Must have code changes to create a PR"
|
|
15
|
-
|
|
16
|
-
produces: [pull-request]
|
|
17
|
-
consumes: [code-changes, commits]
|
|
18
|
-
|
|
19
|
-
context:
|
|
20
|
-
default: null
|
|
21
|
-
reason: "PR creation needs access to git state in main context"
|
|
22
|
-
|
|
23
|
-
when_to_skip:
|
|
24
|
-
- "PR already exists for this branch"
|
|
25
|
-
- "Changes don't warrant a PR (e.g., direct push allowed)"
|
|
26
|
-
|
|
27
|
-
effort: light
|
|
28
|
-
tags: [git, pr, publishing]
|
|
@@ -1,19 +1,2 @@
|
|
|
1
1
|
name: onboard
|
|
2
2
|
skill: as-onboard
|
|
3
|
-
description: Load project context and understand the codebase
|
|
4
|
-
|
|
5
|
-
prerequisites: []
|
|
6
|
-
|
|
7
|
-
produces: [project-context]
|
|
8
|
-
consumes: []
|
|
9
|
-
|
|
10
|
-
context:
|
|
11
|
-
default: null
|
|
12
|
-
reason: "Onboarding needs access to the main conversation context"
|
|
13
|
-
|
|
14
|
-
when_to_skip:
|
|
15
|
-
- "Already onboarded in a previous assignment"
|
|
16
|
-
- "Working in a context where project is already loaded"
|
|
17
|
-
|
|
18
|
-
effort: light
|
|
19
|
-
tags: [setup, context-loading]
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
name: plan-task
|
|
2
2
|
skill: as-task-plan
|
|
3
|
-
description: Analyze task requirements and create an implementation plan
|
|
4
|
-
|
|
5
|
-
produces: [implementation-plan]
|
|
6
|
-
consumes: [project-base-context, task-spec]
|
|
7
|
-
|
|
8
|
-
when_to_skip:
|
|
9
|
-
- "Task is trivial and doesn't need a plan"
|
|
10
|
-
- "Implementation plan already exists"
|
|
11
|
-
|
|
12
|
-
effort: light
|
|
13
|
-
tags: [planning, analysis]
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
name: pre-commit-review
|
|
2
2
|
skill: null
|
|
3
3
|
description: Run /review agent command (conversation slash command, not bash) when supported; fall back to ace-lint
|
|
4
|
+
migration_state: transitional-exception
|
|
5
|
+
migration_target: internal orchestration skill/workflow
|
|
6
|
+
migration_reason: "Nested review mode and runtime client detection still encoded in step-template YAML."
|
|
4
7
|
|
|
5
8
|
prerequisites:
|
|
6
9
|
- name: work-on-task
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
name: reflect-and-refactor
|
|
2
|
-
skill:
|
|
2
|
+
skill: as-reflect-and-refactor-internal
|
|
3
|
+
render: step_template
|
|
3
4
|
description: Analyze implementation against ATOM principles and execute targeted refactoring before PR creation
|
|
4
5
|
|
|
5
6
|
prerequisites:
|
|
@@ -29,7 +30,7 @@ steps:
|
|
|
29
30
|
- name: demo-validate
|
|
30
31
|
optional: true
|
|
31
32
|
description: "Run functional demo proving the feature works end-to-end"
|
|
32
|
-
skip_when: "verify-test-suite already covers
|
|
33
|
+
skip_when: "verify-test-suite already covers the required deterministic validation for this change"
|
|
33
34
|
on_failure: "Trigger re-plan mechanism instead of proceeding to analysis"
|
|
34
35
|
|
|
35
36
|
- name: analyze
|
|
@@ -1,18 +1,2 @@
|
|
|
1
1
|
name: review-pr
|
|
2
2
|
skill: as-review-pr
|
|
3
|
-
description: Review code changes for correctness, style, and best practices
|
|
4
|
-
|
|
5
|
-
prerequisites:
|
|
6
|
-
- name: create-pr
|
|
7
|
-
strength: required
|
|
8
|
-
reason: "Must have a PR to review"
|
|
9
|
-
|
|
10
|
-
produces: [review-feedback]
|
|
11
|
-
consumes: [pull-request]
|
|
12
|
-
|
|
13
|
-
when_to_skip:
|
|
14
|
-
- "No code changes since last review"
|
|
15
|
-
- "Changes are trivial (typo fix, config update)"
|
|
16
|
-
|
|
17
|
-
effort: medium
|
|
18
|
-
tags: [review, quality]
|
|
@@ -1,48 +1,21 @@
|
|
|
1
1
|
name: verify-test-suite
|
|
2
|
-
|
|
2
|
+
workflow: wfi://assign/verify-test-suite
|
|
3
3
|
render: step_template
|
|
4
|
-
description: Run package test suites with profiling to verify correctness and performance
|
|
5
|
-
intent:
|
|
6
|
-
phrases:
|
|
7
|
-
- "run tests"
|
|
8
|
-
- "run test suite"
|
|
9
|
-
- "verify tests"
|
|
10
|
-
- "test changes"
|
|
11
|
-
- "check tests"
|
|
12
|
-
|
|
13
|
-
prerequisites:
|
|
14
|
-
- name: work-on-task
|
|
15
|
-
strength: recommended
|
|
16
|
-
reason: "Should have code changes to verify"
|
|
17
|
-
|
|
18
|
-
produces: [test-results]
|
|
19
|
-
consumes: [code-changes]
|
|
20
|
-
|
|
21
|
-
context:
|
|
22
|
-
default: null
|
|
23
|
-
reason: "Test execution needs access to project environment"
|
|
24
|
-
|
|
25
|
-
when_to_skip:
|
|
26
|
-
- "No code changes that could affect tests (documentation-only)"
|
|
27
|
-
- "Tests were already run and profiled in a previous step"
|
|
28
|
-
|
|
29
|
-
effort: light
|
|
30
|
-
tags: [testing, verification, performance]
|
|
31
4
|
|
|
32
5
|
steps:
|
|
33
6
|
- name: run-package-tests
|
|
34
|
-
description: "Run ace-test --profile 6 for each modified package"
|
|
35
|
-
tool: "ace-test --profile 6"
|
|
36
|
-
note: "Profile reveals slow tests;
|
|
7
|
+
description: "Run ace-test <package> all --profile 6 for each modified package"
|
|
8
|
+
tool: "ace-test <package> all --profile 6"
|
|
9
|
+
note: "Profile reveals slow tests; verify modified packages with their explicit full deterministic target first"
|
|
37
10
|
|
|
38
11
|
- name: check-performance-budgets
|
|
39
12
|
description: "Verify no test exceeds documented thresholds"
|
|
40
|
-
note: "
|
|
13
|
+
note: "Fast atoms <50ms, fast molecules <100ms, feat tests <1s, full package <30s. Tests must not make real network calls or unnecessary filesystem I/O."
|
|
41
14
|
|
|
42
15
|
- name: fix-violations
|
|
43
16
|
description: "Stub I/O and mock external calls for tests exceeding budgets"
|
|
44
17
|
conditional: "performance violations detected"
|
|
45
18
|
|
|
46
19
|
- name: run-suite
|
|
47
|
-
description: "Run ace-test-suite to verify no cross-package regressions"
|
|
48
|
-
tool: "ace-test-suite"
|
|
20
|
+
description: "Run ace-test-suite --target all to verify no cross-package regressions in the full deterministic suite"
|
|
21
|
+
tool: "ace-test-suite --target all"
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
name: verify-test
|
|
2
2
|
skill: null
|
|
3
3
|
description: Run profile-guided tests for modified packages only; no full-suite run in subtree
|
|
4
|
+
migration_state: transitional-exception
|
|
5
|
+
migration_target: internal orchestration skill/workflow
|
|
6
|
+
migration_reason: "Nested per-package test sequencing and budget checks still encoded in step-template YAML."
|
|
4
7
|
|
|
5
8
|
prerequisites:
|
|
6
9
|
- name: work-on-task
|
|
@@ -23,13 +26,13 @@ tags: [testing, verification, performance]
|
|
|
23
26
|
|
|
24
27
|
steps:
|
|
25
28
|
- name: run-package-tests
|
|
26
|
-
description: "Run ace-test --profile 6 for each modified package in this subtree"
|
|
27
|
-
tool: "ace-test --profile 6"
|
|
28
|
-
note: "Execute per-package; do not run
|
|
29
|
+
description: "Run ace-test <package> all --profile 6 for each modified package in this subtree"
|
|
30
|
+
tool: "ace-test <package> all --profile 6"
|
|
31
|
+
note: "Execute per-package only; do not run the monorepo suite in this subtree step"
|
|
29
32
|
|
|
30
33
|
- name: check-performance-budgets
|
|
31
34
|
description: "Verify no test exceeds documented thresholds"
|
|
32
|
-
note: "
|
|
35
|
+
note: "Fast atoms <50ms, fast molecules <100ms, feat tests <1s, full package suite <30s. Tests must not make real network calls or unnecessary filesystem I/O."
|
|
33
36
|
|
|
34
37
|
- name: fix-violations
|
|
35
38
|
description: "Fix slow or environment-coupled tests when violations are detected"
|
|
@@ -1,19 +1,2 @@
|
|
|
1
1
|
name: work-on-task
|
|
2
2
|
skill: as-task-work
|
|
3
|
-
description: Implement task changes following project conventions
|
|
4
|
-
intent:
|
|
5
|
-
phrases:
|
|
6
|
-
- "work on task"
|
|
7
|
-
- "implement task"
|
|
8
|
-
- "task work"
|
|
9
|
-
- "build feature"
|
|
10
|
-
|
|
11
|
-
produces: [code-changes, commits]
|
|
12
|
-
consumes: [project-base-context, task-spec]
|
|
13
|
-
|
|
14
|
-
when_to_skip:
|
|
15
|
-
- "Task is documentation-only"
|
|
16
|
-
- "Changes are already implemented"
|
|
17
|
-
|
|
18
|
-
effort: medium
|
|
19
|
-
tags: [implementation, core-workflow]
|
|
@@ -34,10 +34,11 @@ steps:
|
|
|
34
34
|
- "Commit the archive file moves: `ace-git-commit .ace-tasks/ -i 'archive completed task'`"
|
|
35
35
|
|
|
36
36
|
- name: verify-test-suite
|
|
37
|
-
|
|
37
|
+
workflow: wfi://assign/verify-test-suite
|
|
38
38
|
instructions:
|
|
39
|
-
- Run
|
|
40
|
-
-
|
|
39
|
+
- Run `ace-test <package> all --profile 6` for each modified package first.
|
|
40
|
+
- Then run `ace-test-suite --target all` to verify the fix does not break the wider deterministic suite.
|
|
41
|
+
- Ensure all required checks pass before continuing.
|
|
41
42
|
|
|
42
43
|
- name: create-pr
|
|
43
44
|
skill: as-github-pr-create
|
|
@@ -36,6 +36,6 @@ steps:
|
|
|
36
36
|
- Use a descriptive commit message following project conventions.
|
|
37
37
|
|
|
38
38
|
customization_hints:
|
|
39
|
-
- "Add verify-test-suite before commit for complex changes"
|
|
39
|
+
- "Add verify-test-suite before commit for complex changes; that step should run `ace-test <package> all --profile 6` for modified packages and then `ace-test-suite --target all`."
|
|
40
40
|
- "Add lint after work-on-task for style enforcement"
|
|
41
41
|
- "Skip onboard if already onboarded"
|
|
@@ -22,26 +22,13 @@ steps:
|
|
|
22
22
|
|
|
23
23
|
- name: verify-test-suite
|
|
24
24
|
number: "012"
|
|
25
|
-
workflow: wfi://
|
|
25
|
+
workflow: wfi://assign/verify-test-suite
|
|
26
26
|
instructions:
|
|
27
27
|
- "Verify test coverage and performance across batch tasks: {{taskrefs}}."
|
|
28
|
-
- "
|
|
28
|
+
- "First run `ace-test <package> all --profile 6` for each package modified by this batch."
|
|
29
|
+
- "Then run `ace-test-suite --target all`."
|
|
29
30
|
- "If the batch is documentation-only or otherwise does not affect runnable code, mark this step skipped with a clear reason."
|
|
30
31
|
|
|
31
|
-
- name: verify-e2e
|
|
32
|
-
number: "015"
|
|
33
|
-
context: fork
|
|
34
|
-
instructions:
|
|
35
|
-
- "Run E2E tests for packages modified across batch tasks: {{taskrefs}}."
|
|
36
|
-
- "Detect modified packages from the current diff: `git diff origin/main --name-only | grep '^ace-' | cut -d/ -f1 | sort -u`."
|
|
37
|
-
- "Run `ace-test-e2e <package>` for each modified package that has test/e2e/ scenarios."
|
|
38
|
-
- "If more than 5 packages were modified with cross-dependencies, run the full suite: `ace-test-e2e-suite`."
|
|
39
|
-
- "If any scenarios fail, use /as-e2e-fix to diagnose and fix each failing scenario."
|
|
40
|
-
- "After fixing, rerun the failing scenarios to confirm they pass."
|
|
41
|
-
- "Repeat fix→rerun cycle up to 3 times if new failures appear."
|
|
42
|
-
- "Final gate: all previously-failing scenarios must pass before completing this step."
|
|
43
|
-
- "Skip only when no modified package has test/e2e/ scenarios."
|
|
44
|
-
|
|
45
32
|
- name: release-minor
|
|
46
33
|
number: "020"
|
|
47
34
|
instructions:
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,207 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.53.4] - 2026-04-20
|
|
11
|
+
|
|
12
|
+
### Technical
|
|
13
|
+
- Tightened `TS-ASSIGN-002` hierarchy E2E contracts so auto-completion uses derived assignment IDs, valid cross-assignment `finish --assignment` syntax, and explicit scoped status artifacts for subtree verification.
|
|
14
|
+
- Clarified `ace-assign finish` usage docs so positional step targeting is reserved for the active assignment while cross-assignment/scoped completion uses `--assignment <id[@step]>`.
|
|
15
|
+
|
|
16
|
+
## [0.53.3] - 2026-04-18
|
|
17
|
+
|
|
18
|
+
### Technical
|
|
19
|
+
- Corrected `TS-ASSIGN-001` lifecycle fixture-path guidance so Goal 1 resolves the real sandbox fixture files and no longer records a false create failure before the lifecycle flow completes.
|
|
20
|
+
|
|
21
|
+
## [0.53.2] - 2026-04-16
|
|
22
|
+
|
|
23
|
+
### Technical
|
|
24
|
+
- Reworked retained fork-context E2E capture around explicit regular, fork, return, and final checkpoints so lifecycle transitions are proven from stable artifacts instead of generic completion text.
|
|
25
|
+
|
|
26
|
+
## [0.53.1] - 2026-04-16
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- Hid failed retry history from compact `ace-assign status` pending previews after assignment completion so terminal state no longer mixes `Status: completed` with a misleading `Pending steps:` block.
|
|
30
|
+
|
|
31
|
+
### Technical
|
|
32
|
+
- Added a status-command regression covering completed assignments with failed retry ancestry and validated the retained lifecycle E2E path against the corrected compact status output.
|
|
33
|
+
|
|
34
|
+
## [0.53.0] - 2026-04-15
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- Rewrote retained assignment E2E runner/verifier contracts to emphasize public command journeys and impact-first state oracles over rigid capture choreography.
|
|
38
|
+
- Added `TS-ASSIGN-003` operations coverage for multi-assignment operator flow and scoped `fork-run` delegation behavior.
|
|
39
|
+
|
|
40
|
+
### Technical
|
|
41
|
+
- Refreshed hierarchy/lifecycle/fork scenario guidance so debug artifacts remain fallback evidence and CLI-visible status transitions are primary evidence.
|
|
42
|
+
|
|
43
|
+
## [0.52.0] - 2026-04-15
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Tightened the committed tmux fork demo contract so the recording is aimed at the visible `work -> work-fs -> agent starts working` transition instead of a synthetic transcript.
|
|
47
|
+
|
|
48
|
+
### Technical
|
|
49
|
+
- Made tmux fork wrappers print the translated skill handoff before launching the interactive agent, keeping the fork pane bootstrap visible and testable.
|
|
50
|
+
|
|
51
|
+
## [0.51.0] - 2026-04-15
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
- Reworked tmux fork execution to start a real interactive agent session via `ace-llm --interactive` in the `<current-window>-fs` pane and auto-send the scoped `/as-assign-drive <assignment>@<root>` handoff instead of running the old headless fork-session wrapper in tmux.
|
|
55
|
+
|
|
56
|
+
### Technical
|
|
57
|
+
- Switched tmux fork completion tracking from pane-process exit to subtree-state polling so interactive agents can stay open while forked assignment progress is still tracked to completion.
|
|
58
|
+
|
|
59
|
+
## [0.50.3] - 2026-04-15
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
- Fixed tmux fork-window lookup by correcting `TmuxForkRunner` result normalization, so explicit-session launches resolve the current window instead of failing under detached-session demo/recording runs.
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
- Refined the committed `fork-provider` asciinema tape/setup and refreshed the demo artifacts (`.gif`, `.cast`, and recording manifest) after rerunning the verified tmux fork demo against PR-ready behavior.
|
|
66
|
+
|
|
67
|
+
## [0.50.2] - 2026-04-15
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
- Resolved tmux-backed fork window detection when `ACE_TMUX_SESSION` is set without a live `TMUX` variable, so visible fork demos and detached-session launches still resolve the current window correctly.
|
|
71
|
+
|
|
72
|
+
### Changed
|
|
73
|
+
- Replaced the stale `fork-provider` demo tape with an asciinema/YAML recording that verifies the real `work -> work-fs` tmux fork transition.
|
|
74
|
+
|
|
75
|
+
## [0.50.1] - 2026-04-15
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
- Refreshed the tmux-backed fork demo asset so the recorded flow starts in the operator work window and visibly opens the fork staging window during `fork-run`.
|
|
79
|
+
|
|
80
|
+
## [0.50.0] - 2026-04-15
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
- Added `ace-assign fork-run --launch-mode auto|headless|tmux`, keeping the existing headless subprocess path while allowing tmux-backed fork execution in the current tmux session.
|
|
84
|
+
- Tmux-backed fork runs now create or reuse a `<current-window>-fs` window, launch forked provider sessions in panes there, and persist tmux session/window/pane metadata alongside existing fork session files.
|
|
85
|
+
|
|
86
|
+
### Technical
|
|
87
|
+
- Added an internal `ace-assign fork-session` entrypoint plus launcher/test coverage to reuse the existing provider-backed fork session path from tmux panes.
|
|
88
|
+
- Added a recorded tmux fork demo GIF under `docs/demo/` and updated usage docs for the new launch-mode contract.
|
|
89
|
+
|
|
90
|
+
## [0.49.2] - 2026-04-13
|
|
91
|
+
|
|
92
|
+
### Fixed
|
|
93
|
+
- Rewrote `TS-ASSIGN-002` around sandbox end-state and runner observations so hierarchy renumbering, auto-completion, and audit coverage no longer depend on synthetic helper artifacts under `results/`.
|
|
94
|
+
|
|
95
|
+
## [0.49.1] - 2026-04-13
|
|
96
|
+
|
|
97
|
+
### Fixed
|
|
98
|
+
- Tightened `TS-ASSIGN-002` hierarchy scenario evidence so cascade renumbering is proven from concrete step-file artifacts and display-audit checks read the copied sandbox fixture path instead of a repo-relative path.
|
|
99
|
+
|
|
100
|
+
## [0.49.0] - 2026-04-13
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
- Split assignment status from instruction loading: `ace-assign status` now defaults to compact status-only output with `compact`, `progress`, and `full` text modes, while the new `ace-assign step` command prints current/next/exact step instructions.
|
|
104
|
+
- Made `ace-assign start` and `ace-assign finish` concise by pointing operators to `ace-assign step` instead of printing raw instruction blocks inline.
|
|
105
|
+
|
|
106
|
+
### Technical
|
|
107
|
+
- Updated drive/fork guidance, deterministic command coverage, and fork-context E2E specs to treat `status` as state-only and `step` as the instruction-loading surface.
|
|
108
|
+
|
|
109
|
+
## [0.48.0] - 2026-04-13
|
|
110
|
+
|
|
111
|
+
### Changed
|
|
112
|
+
- Removed the shipped `verify-e2e` assignment step from the public catalog, presets, and composition defaults so standard `ace-assign` workflows no longer schedule package E2E verification.
|
|
113
|
+
- Narrowed assignment-level `verify-test-suite` to deterministic verification only: modified packages run `ace-test <package> all --profile 6`, then the monorepo gate runs `ace-test-suite --target all`.
|
|
114
|
+
|
|
115
|
+
### Technical
|
|
116
|
+
- Added an `ace-assign`-local `wfi://assign/verify-test-suite` workflow and preserved local step runtime bindings during canonical catalog metadata merges so assignment-specific verification contracts are not overwritten by shared skill defaults.
|
|
117
|
+
|
|
118
|
+
## [0.47.3] - 2026-04-13
|
|
119
|
+
|
|
120
|
+
### Changed
|
|
121
|
+
- Completed the batch i05 migration follow-through for this package and aligned it with the restarted `fast` / `feat` / `e2e` verification model.
|
|
122
|
+
|
|
123
|
+
### Technical
|
|
124
|
+
- Included in the coordinated assignment-driven patch release for batch i05 package updates.
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
## [0.47.2] - 2026-04-12
|
|
128
|
+
|
|
129
|
+
### Fixed
|
|
130
|
+
- Hardened `wfi://assign/drive` so forked subtree completion is driven by scoped `ace-assign status`, with explicit 6-minute polling, detached resume guidance, and immediate parent-queue re-entry after terminal child status.
|
|
131
|
+
|
|
132
|
+
### Technical
|
|
133
|
+
- Updated the canonical and projected `as-assign-drive` skill contracts plus workflow contract coverage to lock in status-driven fork completion pickup after terminal or session interruption.
|
|
134
|
+
|
|
135
|
+
## [0.47.1] - 2026-04-12
|
|
136
|
+
|
|
137
|
+
### Fixed
|
|
138
|
+
- Simplified `TS-ASSIGN-001` to keep only lifecycle and fork-context E2E coverage, moving help, prepare, and no-skip policy assertions down to deterministic fast and feat contracts.
|
|
139
|
+
- Tightened `TS-ASSIGN-002` into a 4-goal hierarchy scenario by moving hierarchy error-path checks to command tests and requiring explicit multi-level auto-completion and audit-trail evidence.
|
|
140
|
+
|
|
141
|
+
### Technical
|
|
142
|
+
- Added regression coverage for invalid `add --after` references, pending-parent `finish` rejection after child injection, the canonical `work-on-task` preset contract, and the `assign/drive` no-skip workflow contract.
|
|
143
|
+
|
|
144
|
+
## [0.47.0] - 2026-04-11
|
|
145
|
+
|
|
146
|
+
### Changed
|
|
147
|
+
- Taught `wfi://assign/drive` to prefer an E2E-specific `fix-e2e` recovery step after `ace-test-e2e` failures so assignment retries route into `/as-e2e-fix` instead of generic test-fix instructions.
|
|
148
|
+
- Updated the shipped work-on-task verification fixture to require `/as-e2e-fix` to bootstrap `wfi://e2e/analyze-failures` automatically when scenario-failure analysis is missing or incomplete.
|
|
149
|
+
|
|
150
|
+
## [0.46.0] - 2026-04-11
|
|
151
|
+
|
|
152
|
+
### Changed
|
|
153
|
+
- Migrated package test layout to the `fast` / `feat` / `e2e` model by moving deterministic ATOM and command tests under `test/fast/`, adding deterministic feature-level coverage under `test/feat/`, and keeping scenario assets under `test/e2e/`.
|
|
154
|
+
- Updated package documentation and E2E scenario metadata to reference the new testing contract (`ace-test ace-assign`, `ace-test ace-assign feat`, `ace-test ace-assign all`, `ace-test-e2e ace-assign`) and `test/fast/*` deterministic coverage paths.
|
|
155
|
+
- Tightened E2E goal runner/verifier contracts to reduce brittle artifact-name coupling and keep policy/lifecycle evidence checks aligned with current command outputs.
|
|
156
|
+
|
|
157
|
+
## [0.45.0] - 2026-04-11
|
|
158
|
+
|
|
159
|
+
### Changed
|
|
160
|
+
- Updated assignment verification presets, step templates, and runtime child-step instructions so modified packages run `ace-test <package> all --profile 6`, batch suite checks stay on plain `ace-test-suite`, and E2E verification stays package-targeted via `ace-test-e2e <package>`.
|
|
161
|
+
|
|
162
|
+
### Technical
|
|
163
|
+
- Synced the shipped work-on-task prepare fixture and executor rendering coverage to the new verification contract.
|
|
164
|
+
|
|
165
|
+
## [0.44.5] - 2026-04-10
|
|
166
|
+
|
|
167
|
+
### Fixed
|
|
168
|
+
- Updated verify-E2E guidance to support both `test-e2e/scenarios/` and legacy `test/e2e/` paths during migration in assignment presets and runtime executor output.
|
|
169
|
+
- Synced the work-on-task E2E fixture contract with the dual-path migration guidance.
|
|
170
|
+
|
|
171
|
+
## [0.44.3] - 2026-04-07
|
|
172
|
+
|
|
173
|
+
### Fixed
|
|
174
|
+
- Added missing `Bash(ace-bundle:*)` permissions to internal helper skills that execute `ace-bundle` workflows (`as-create-retro-internal`, `as-mark-task-done-internal`, `as-reflect-and-refactor-internal`).
|
|
175
|
+
- Restored required canonical skill metadata headers (`# bundle`, `# agent`) for internal helper skills `as-create-retro-internal` and `as-reflect-and-refactor-internal`.
|
|
176
|
+
- Added source-based canonical step-definition fallback in assignment step materialization so custom-named steps with explicit `source` preserve canonical metadata.
|
|
177
|
+
|
|
178
|
+
### Technical
|
|
179
|
+
- Added regression coverage for custom-named explicit-source step materialization preserving canonical fork metadata.
|
|
180
|
+
|
|
181
|
+
## [0.44.2] - 2026-04-07
|
|
182
|
+
|
|
183
|
+
### Fixed
|
|
184
|
+
- Preserved project-level `.ace/assign/catalog/steps/*.step.yml` overrides when canonical skill metadata is present by applying project definitions after canonical merge in assignment step catalog resolution.
|
|
185
|
+
- Restored canonical step metadata in `CatalogLoader.load_all` results for migrated public steps so direct catalog consumers retain description/prerequisite/artifact semantics, while keeping raw-YAML opt-out support via `canonical_steps: false`.
|
|
186
|
+
|
|
187
|
+
## [0.44.1] - 2026-04-07
|
|
188
|
+
|
|
189
|
+
### Fixed
|
|
190
|
+
- Preserved canonical step-level `assign.steps` presentation fields (`name` and `description`) when resolving skill-backed step rendering.
|
|
191
|
+
|
|
192
|
+
### Technical
|
|
193
|
+
- Added required canonical metadata headers (`# bundle`, `# agent`) to internal helper skills `as-task-load-internal` and `as-mark-task-done-internal`.
|
|
194
|
+
- Added regression coverage for step-level description preservation in `SkillAssignSourceResolver`.
|
|
195
|
+
|
|
196
|
+
## [0.44.0] - 2026-04-07
|
|
197
|
+
|
|
198
|
+
### Changed
|
|
199
|
+
- Migrated helper-step ownership for `task-load`, `mark-task-done`, `reflect-and-refactor`, and `create-retro` from permanent `skill: null` templates to internal canonical helper skills.
|
|
200
|
+
- Migrated public step metadata ownership for `onboard`, `plan-task`, `work-on-task`, `review-pr`, `create-pr`, and `verify-test-suite` into canonical skill `assign.steps`, with public workflow binding resolved from `skill.execution.workflow` (legacy `assign.source` fallback retained).
|
|
201
|
+
- Normalized runtime execution and materialization paths around canonical step `source` (`skill://...` and explicit `wfi://...`) while preserving legacy `skill`/`workflow` compatibility as migration fallback.
|
|
202
|
+
- Updated shipped assign compose/create/prepare workflow docs to use source-first step contract examples.
|
|
203
|
+
|
|
204
|
+
### Fixed
|
|
205
|
+
- Restricted public assign-step discovery to canonical skills with `user-invocable: true`, preventing internal helper skills from appearing in public assignment composition inventory.
|
|
206
|
+
|
|
207
|
+
### Technical
|
|
208
|
+
- Added internal helper workflows and skills under `ace-assign/handbook` to preserve helper execution contracts while keeping them non-discoverable.
|
|
209
|
+
- Marked `pre-commit-review` and `verify-test` helper templates as explicit transitional exceptions with migration metadata.
|
|
210
|
+
|
|
10
211
|
## [0.42.4] - 2026-04-05
|
|
11
212
|
|
|
12
213
|
### Fixed
|
data/README.md
CHANGED
|
@@ -20,54 +20,31 @@
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
❯ ace-assign status
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|-- 010.01.01 ✓ Done onboard-base
|
|
31
|
-
|-- 010.01.02 ✓ Done task-load
|
|
32
|
-
|-- 010.01.03 ✓ Done plan-task
|
|
33
|
-
|-- 010.01.04 ✓ Done work-on-task
|
|
34
|
-
|-- 010.01.05 ✓ Done pre-commit-review
|
|
35
|
-
|-- 010.01.06 ✓ Done verify-test
|
|
36
|
-
|-- 010.01.07 ✓ Done release-minor
|
|
37
|
-
\-- 010.01.08 ✓ Done create-retro
|
|
38
|
-
|-- 010.02 ✓ Done work-on-8qm.t.5nx.1 yes (8/8 done)
|
|
39
|
-
# ... multiple tasks hidden
|
|
40
|
-
012 ✓ Done verify-test-suite
|
|
41
|
-
015 ✓ Done verify-e2e yes
|
|
42
|
-
020 ✓ Done release-minor
|
|
43
|
-
025 ✓ Done update-docs
|
|
44
|
-
030 ✓ Done create-pr
|
|
45
|
-
040 ✓ Done review-valid-1 yes (3/3 done)
|
|
46
|
-
|-- 040.01 ✓ Done review-pr
|
|
47
|
-
|-- 040.02 ✓ Done apply-feedback
|
|
48
|
-
\-- 040.03 ✓ Done release
|
|
49
|
-
070 ✓ Done review-fit-1 yes (3/3 done)
|
|
50
|
-
|-- 070.01 ✓ Done review-pr
|
|
51
|
-
|-- 070.02 ✓ Done apply-feedback
|
|
52
|
-
\-- 070.03 ✓ Done release
|
|
53
|
-
100 ○ Pending review-shine-1 yes (2/3 done)
|
|
54
|
-
|-- 100.01 ✗ Failed review-pr - Fork agent blocked by pre-existing unrelated changes (now stashed). Retrying.
|
|
55
|
-
|-- 100.02 ✓ Done apply-feedback
|
|
56
|
-
\-- 100.03 ✓ Done release
|
|
57
|
-
101 ✓ Done review-pr
|
|
58
|
-
130 ✓ Done reorganize-commits
|
|
59
|
-
140 ✓ Done push-to-remote
|
|
60
|
-
150 ✓ Done update-pr-desc yes
|
|
61
|
-
155 ✓ Done mark-tasks-done
|
|
62
|
-
160 ✓ Done create-retro
|
|
63
|
-
161 ✓ Done review-pr yes
|
|
64
|
-
162 ✓ Done apply-feedback yes
|
|
65
|
-
163 ✓ Done release yes
|
|
23
|
+
8qm5rt work-on-task-8qm.t.5nx-job.yml | running | 64/71 done | current: 100.01 review-pr | last: 070.03 release
|
|
24
|
+
hidden: 66 | done: 64 active: 1 pending: 5 failed: 1
|
|
25
|
+
100.01 active review-pr
|
|
26
|
+
100.02 next apply-feedback
|
|
27
|
+
100.03 next release
|
|
28
|
+
130 next reorganize-commits
|
|
29
|
+
140 next push-to-remote
|
|
66
30
|
```
|
|
67
31
|
|
|
32
|
+
Use `ace-assign status --mode full` when you need the whole tree, and `ace-assign step` when you need the raw instructions for the current or next step.
|
|
33
|
+
|
|
68
34
|
|
|
69
35
|
The easiest way to start is through [ace-overseer](../ace-overseer) -- define a task and run `ace-overseer work-on --task <ref> --preset work-on-task` , which creates the assignment, worktree, and tmux window in one shot.
|
|
70
36
|
|
|
37
|
+
## Testing Contract
|
|
38
|
+
|
|
39
|
+
- `ace-test ace-assign` runs the default deterministic package loop (`test/fast`).
|
|
40
|
+
- `ace-test ace-assign feat` runs deterministic feature/contract coverage (`test/feat`).
|
|
41
|
+
- `ace-test ace-assign all` runs full package deterministic coverage (`fast` + `feat`).
|
|
42
|
+
- `ace-test-e2e ace-assign` runs scenario workflows under `test/e2e`.
|
|
43
|
+
|
|
44
|
+
Assignment verification uses deterministic commands only:
|
|
45
|
+
- modified packages: `ace-test <package> all --profile 6`
|
|
46
|
+
- monorepo gate: `ace-test-suite --target all`
|
|
47
|
+
|
|
71
48
|
## How It Works
|
|
72
49
|
|
|
73
50
|
1. Define steps from a [preset](.ace-defaults/assign/presets/work-on-task.yml) or compose from the [step catalog](.ace-defaults/assign/catalog/steps/) -- steps can nest into substeps and reference workflow instructions for execution details.
|
|
Binary file
|