ace-assign 0.41.10 → 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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.ace-defaults/assign/catalog/composition-rules.yml +2 -17
  3. data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +0 -26
  4. data/.ace-defaults/assign/catalog/steps/create-retro.step.yml +1 -1
  5. data/.ace-defaults/assign/catalog/steps/mark-task-done.step.yml +1 -2
  6. data/.ace-defaults/assign/catalog/steps/onboard.step.yml +0 -17
  7. data/.ace-defaults/assign/catalog/steps/plan-task.step.yml +0 -15
  8. data/.ace-defaults/assign/catalog/steps/pre-commit-review.step.yml +3 -0
  9. data/.ace-defaults/assign/catalog/steps/reflect-and-refactor.step.yml +3 -2
  10. data/.ace-defaults/assign/catalog/steps/review-pr.step.yml +0 -20
  11. data/.ace-defaults/assign/catalog/steps/task-load.step.yml +1 -1
  12. data/.ace-defaults/assign/catalog/steps/verify-test-suite.step.yml +7 -34
  13. data/.ace-defaults/assign/catalog/steps/verify-test.step.yml +7 -4
  14. data/.ace-defaults/assign/catalog/steps/work-on-task.step.yml +0 -21
  15. data/.ace-defaults/assign/presets/fix-bug.yml +4 -3
  16. data/.ace-defaults/assign/presets/quick-implement.yml +1 -1
  17. data/.ace-defaults/assign/presets/work-on-task.yml +3 -16
  18. data/CHANGELOG.md +260 -0
  19. data/README.md +20 -43
  20. data/docs/demo/canonical-skill-source.gif +0 -0
  21. data/docs/demo/canonical-skill-source.tape.yml +51 -0
  22. data/docs/demo/fork-provider.cast +957 -0
  23. data/docs/demo/fork-provider.gif +0 -0
  24. data/docs/demo/fork-provider.recording.json +32 -0
  25. data/docs/demo/fork-provider.tape.yml +65 -20
  26. data/docs/getting-started.md +5 -2
  27. data/docs/usage.md +63 -3
  28. data/handbook/guides/fork-context.g.md +2 -2
  29. data/handbook/skills/as-assign-drive/SKILL.md +13 -1
  30. data/handbook/skills/as-create-retro-internal/SKILL.md +29 -0
  31. data/handbook/skills/as-mark-task-done-internal/SKILL.md +29 -0
  32. data/handbook/skills/as-reflect-and-refactor-internal/SKILL.md +30 -0
  33. data/handbook/skills/as-task-load-internal/SKILL.md +28 -0
  34. data/handbook/workflow-instructions/assign/compose.wf.md +3 -3
  35. data/handbook/workflow-instructions/assign/create-retro-internal.wf.md +11 -0
  36. data/handbook/workflow-instructions/assign/create.wf.md +6 -3
  37. data/handbook/workflow-instructions/assign/drive.wf.md +273 -15
  38. data/handbook/workflow-instructions/assign/mark-task-done-internal.wf.md +12 -0
  39. data/handbook/workflow-instructions/assign/prepare.wf.md +5 -5
  40. data/handbook/workflow-instructions/assign/reflect-and-refactor-internal.wf.md +14 -0
  41. data/handbook/workflow-instructions/assign/run-in-batches.wf.md +4 -1
  42. data/handbook/workflow-instructions/assign/start.wf.md +5 -2
  43. data/handbook/workflow-instructions/assign/task-load-internal.wf.md +12 -0
  44. data/handbook/workflow-instructions/assign/verify-test-suite.wf.md +36 -0
  45. data/lib/ace/assign/atoms/catalog_loader.rb +105 -2
  46. data/lib/ace/assign/atoms/preset_expander.rb +12 -1
  47. data/lib/ace/assign/atoms/step_file_parser.rb +15 -0
  48. data/lib/ace/assign/cli/commands/assignment_target.rb +53 -0
  49. data/lib/ace/assign/cli/commands/finish.rb +7 -4
  50. data/lib/ace/assign/cli/commands/fork_run.rb +4 -1
  51. data/lib/ace/assign/cli/commands/fork_session.rb +52 -0
  52. data/lib/ace/assign/cli/commands/start.rb +9 -3
  53. data/lib/ace/assign/cli/commands/status.rb +231 -226
  54. data/lib/ace/assign/cli/commands/step.rb +62 -0
  55. data/lib/ace/assign/cli.rb +8 -1
  56. data/lib/ace/assign/models/step.rb +4 -2
  57. data/lib/ace/assign/molecules/fork_session_launcher.rb +189 -8
  58. data/lib/ace/assign/molecules/queue_scanner.rb +1 -0
  59. data/lib/ace/assign/molecules/skill_assign_source_resolver.rb +252 -50
  60. data/lib/ace/assign/molecules/tmux_fork_runner.rb +191 -0
  61. data/lib/ace/assign/organisms/assignment_executor.rb +294 -40
  62. data/lib/ace/assign/version.rb +1 -1
  63. metadata +21 -5
  64. data/.ace-defaults/assign/catalog/steps/verify-e2e.step.yml +0 -42
data/README.md CHANGED
@@ -20,54 +20,31 @@
20
20
  ```
21
21
 
22
22
  ❯ ace-assign status
23
- QUEUE - Assignment: work-on-task-8qm.t.5nx-job.yml (8qm5rt)
24
-
25
- NUMBER STATUS NAME FORK CHILDREN
26
- ------------------------------------------------------------------------------
27
- 000 ✓ Done onboard
28
- 010 ✓ Done batch-tasks (28/28 done)
29
- |-- 010.01 ✓ Done work-on-8qm.t.5nx.0 yes (8/8 done)
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.
@@ -0,0 +1,51 @@
1
+ ---
2
+ description: Show canonical skill-owned assign metadata materializing into assignment steps and accepted by lint
3
+ tags:
4
+ - ace-assign
5
+ - canonical-skills
6
+ - assign-source
7
+ - docs
8
+ settings:
9
+ font_size: 16
10
+ width: 1200
11
+ height: 700
12
+ format: gif
13
+ playback_speed: 4x
14
+ output: ace-assign/docs/demo/canonical-skill-source.gif
15
+ env:
16
+ PROJECT_ROOT_PATH: /home/mc/ace-t.h3e
17
+ scenes:
18
+ - name: Canonical skills own assign step metadata
19
+ commands:
20
+ - type: sed -n '20,33p' $PROJECT_ROOT_PATH/ace-task/handbook/skills/as-task-plan/SKILL.md
21
+ sleep: 3s
22
+ - type: sed -n '27,50p' $PROJECT_ROOT_PATH/ace-git/handbook/skills/as-github-pr-create/SKILL.md
23
+ sleep: 3s
24
+ - name: Assignment steps keep the canonical source contract
25
+ commands:
26
+ - type: clear
27
+ sleep: 1s
28
+ - type: sed -n '1,12p' $PROJECT_ROOT_PATH/.ace-local/assign/8r4i7n/steps/010.03.03-plan-task.st.md
29
+ sleep: 3s
30
+ - type: sed -n '1,12p' $PROJECT_ROOT_PATH/.ace-local/assign/8r4i7n/steps/030-create-pr.st.md
31
+ sleep: 3s
32
+ - name: Provider projections mirror the canonical metadata
33
+ commands:
34
+ - type: clear
35
+ sleep: 1s
36
+ - type: sed -n '13,36p' $PROJECT_ROOT_PATH/.codex/skills/as-task-plan/SKILL.md
37
+ sleep: 3s
38
+ - type: sed -n '13,49p' $PROJECT_ROOT_PATH/.claude/skills/as-github-pr-create/SKILL.md
39
+ sleep: 3s
40
+ - name: Lint accepts the canonical skill contract
41
+ commands:
42
+ - type: clear
43
+ sleep: 1s
44
+ - type: ace-lint $PROJECT_ROOT_PATH/ace-lint/handbook/skills/as-lint-run/SKILL.md $PROJECT_ROOT_PATH/ace-task/handbook/skills/as-task-plan/SKILL.md $PROJECT_ROOT_PATH/ace-git/handbook/skills/as-github-pr-create/SKILL.md
45
+ sleep: 4s
46
+ verify:
47
+ forbid_output:
48
+ - No such file or directory
49
+ - No active assignment
50
+ - "invalid option: --dry-run"
51
+ - Error: